Merge remote-tracking branch 'origin/master' into profile_branding

# Conflicts:
#	OsmAnd/res/values/strings.xml
This commit is contained in:
veliymolfar 2020-03-30 11:23:56 +03:00
commit dce09ac232
121 changed files with 4287 additions and 870 deletions

View file

@ -45,6 +45,8 @@ public class GPXUtilities {
public final static Log log = PlatformUtil.getLog(GPXUtilities.class); public final static Log log = PlatformUtil.getLog(GPXUtilities.class);
private static final String ICON_NAME_EXTENSION = "icon"; private static final String ICON_NAME_EXTENSION = "icon";
private static final String DEFAULT_ICON_NAME = "special_star"; private static final String DEFAULT_ICON_NAME = "special_star";
private static final String BACKGROUND_TYPE_EXTENSION = "background";
private static final String DEFAULT_BACKGROUND_TYPE = "circle";
private final static String GPX_TIME_FORMAT = "yyyy-MM-dd'T'HH:mm:ss'Z'"; //$NON-NLS-1$ private final static String GPX_TIME_FORMAT = "yyyy-MM-dd'T'HH:mm:ss'Z'"; //$NON-NLS-1$
private final static String GPX_TIME_FORMAT_MILLIS = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"; //$NON-NLS-1$ private final static String GPX_TIME_FORMAT_MILLIS = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"; //$NON-NLS-1$
@ -289,6 +291,18 @@ public class GPXUtilities {
getExtensionsToWrite().put(ICON_NAME_EXTENSION, iconName); getExtensionsToWrite().put(ICON_NAME_EXTENSION, iconName);
} }
public String getBackgroundType() {
String backgroundType = getExtensionsToRead().get(BACKGROUND_TYPE_EXTENSION);
if (backgroundType == null) {
backgroundType = DEFAULT_BACKGROUND_TYPE;
}
return backgroundType;
}
public void setBackgroundType(String backType) {
getExtensionsToWrite().put(BACKGROUND_TYPE_EXTENSION, backType);
}
@Override @Override
public int hashCode() { public int hashCode() {
final int prime = 31; final int prime = 31;
@ -1134,6 +1148,11 @@ public class GPXUtilities {
} }
public WptPt addWptPt(double lat, double lon, long time, String description, String name, String category, int color) { public WptPt addWptPt(double lat, double lon, long time, String description, String name, String category, int color) {
return addWptPt(lat, lon, time, description, name, category, color, null, null);
}
public WptPt addWptPt(double lat, double lon, long time, String description, String name, String category,
int color, String iconName, String backgroundType) {
double latAdjusted = Double.parseDouble(latLonFormat.format(lat)); double latAdjusted = Double.parseDouble(latLonFormat.format(lat));
double lonAdjusted = Double.parseDouble(latLonFormat.format(lon)); double lonAdjusted = Double.parseDouble(latLonFormat.format(lon));
final WptPt pt = new WptPt(latAdjusted, lonAdjusted, time, Double.NaN, 0, Double.NaN); final WptPt pt = new WptPt(latAdjusted, lonAdjusted, time, Double.NaN, 0, Double.NaN);
@ -1143,6 +1162,12 @@ public class GPXUtilities {
if (color != 0) { if (color != 0) {
pt.setColor(color); pt.setColor(color);
} }
if (iconName != null) {
pt.setIconName(iconName);
}
if (backgroundType != null) {
pt.setBackgroundType(backgroundType);
}
points.add(pt); points.add(pt);
@ -1228,7 +1253,13 @@ public class GPXUtilities {
modifiedTime = System.currentTimeMillis(); modifiedTime = System.currentTimeMillis();
} }
public void updateWptPt(WptPt pt, double lat, double lon, long time, String description, String name, String category, int color) { public void updateWptPt(WptPt pt, double lat, double lon, long time, String description, String name, String category,
int color) {
updateWptPt(pt, lat, lon, System.currentTimeMillis(), description, name, category, color, null, null);
}
public void updateWptPt(WptPt pt, double lat, double lon, long time, String description, String name, String category,
int color, String iconName, String backgroundType) {
int index = points.indexOf(pt); int index = points.indexOf(pt);
double latAdjusted = Double.parseDouble(latLonFormat.format(lat)); double latAdjusted = Double.parseDouble(latLonFormat.format(lat));
double lonAdjusted = Double.parseDouble(latLonFormat.format(lon)); double lonAdjusted = Double.parseDouble(latLonFormat.format(lon));
@ -1241,6 +1272,12 @@ public class GPXUtilities {
if (color != 0) { if (color != 0) {
pt.setColor(color); pt.setColor(color);
} }
if (iconName != null) {
pt.setIconName(iconName);
}
if (backgroundType != null) {
pt.setBackgroundType(backgroundType);
}
if (index != -1) { if (index != -1) {
points.set(index, pt); points.set(index, pt);

View file

@ -13,7 +13,7 @@ public class City extends MapObject {
public enum CityType { public enum CityType {
// that's tricky way to play with that numbers (to avoid including suburbs in city & vice verse) // that's tricky way to play with that numbers (to avoid including suburbs in city & vice verse)
// district special type and it is not registered as a city // district special type and it is not registered as a city
CITY(10000), TOWN(4000), VILLAGE(1300), HAMLET(1000), SUBURB(400), DISTRICT(400), NEIGHBOURHOOD(300); CITY(10000), TOWN(4000), VILLAGE(1300), HAMLET(1000), SUBURB(400), BOROUGH(400), DISTRICT(400), NEIGHBOURHOOD(300);
private double radius; private double radius;
@ -36,9 +36,6 @@ public class City extends MapObject {
if ("township".equals(place)) { if ("township".equals(place)) {
return CityType.TOWN; return CityType.TOWN;
} }
if ("borough".equals(place)) {
return CityType.SUBURB;
}
for (CityType t : CityType.values()) { for (CityType t : CityType.values()) {
if (t.name().equalsIgnoreCase(place)) { if (t.name().equalsIgnoreCase(place)) {
return t; return t;

View file

@ -788,8 +788,8 @@ public class BinaryRoutePlanner {
TLongObjectHashMap<RouteSegment> visitedSegments, float distFromStart, float distanceToEnd, RouteSegment segment, TLongObjectHashMap<RouteSegment> visitedSegments, float distFromStart, float distanceToEnd, RouteSegment segment,
int segmentPoint, RouteSegment next) { int segmentPoint, RouteSegment next) {
if (next != null) { if (next != null) {
float obstaclesTime = (float) ctx.getRouter().calculateTurnTime(next, next.isPositive()? float obstaclesTime = (float) ctx.getRouter().calculateTurnTime(next,
next.getRoad().getPointsLength() - 1 : 0, next.isPositive() ? next.getRoad().getPointsLength() - 1 : 0,
segment, segmentPoint); segment, segmentPoint);
distFromStart += obstaclesTime; distFromStart += obstaclesTime;
if (TEST_SPECIFIC && next.road.getId() >> 6 == TEST_ID) { if (TEST_SPECIFIC && next.road.getId() >> 6 == TEST_ID) {

View file

@ -580,7 +580,7 @@ public class GeneralRouter implements VehicleRouter {
// more like UT // more like UT
if (diff > 2 * Math.PI / 3) { if (diff > 2 * Math.PI / 3) {
return getLeftTurn(); return getLeftTurn();
} else if (diff > Math.PI / 2) { } else if (diff > Math.PI / 3) {
return getRightTurn(); return getRightTurn();
} }
return 0; return 0;

View file

@ -24,6 +24,7 @@ android {
applicationId "net.osmand.telegram" applicationId "net.osmand.telegram"
minSdkVersion 15 minSdkVersion 15
targetSdkVersion 28 targetSdkVersion 28
multiDexEnabled true
versionCode 1 versionCode 1
versionCode System.getenv("APK_NUMBER_VERSION") ? System.getenv("APK_NUMBER_VERSION").toInteger() : versionCode versionCode System.getenv("APK_NUMBER_VERSION") ? System.getenv("APK_NUMBER_VERSION").toInteger() : versionCode
versionName "1.0" versionName "1.0"
@ -139,11 +140,10 @@ dependencies {
implementation project(path: ':OsmAnd-java', configuration: 'android') implementation project(path: ':OsmAnd-java', configuration: 'android')
implementation fileTree(dir: 'libs', include: ['*.jar']) implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation( "org.jetbrains.kotlin:kotlin-stdlib:1.2.71") { implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.3.11'
exclude group: 'org.jetbrains', module: 'annotations' implementation 'androidx.multidex:multidex:2.0.1'
} implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.appcompat:appcompat:1.0.0' implementation 'com.google.android.material:material:1.1.0'
implementation 'com.google.android.material:material:1.0.0'
implementation 'androidx.browser:browser:1.0.0' implementation 'androidx.browser:browser:1.0.0'
implementation 'androidx.annotation:annotation:1.1.0' implementation 'androidx.annotation:annotation:1.1.0'
implementation 'commons-logging:commons-logging-api:1.1' implementation 'commons-logging:commons-logging-api:1.1'
@ -152,6 +152,4 @@ dependencies {
implementation("com.github.HITGIF:TextFieldBoxes:1.4.5") { implementation("com.github.HITGIF:TextFieldBoxes:1.4.5") {
exclude group: 'com.android.support' exclude group: 'com.android.support'
} }
implementation 'org.jetbrains:annotations-java5:15.0'
implementation 'androidx.annotation:annotation:1.1.0'
} }

View file

@ -194,4 +194,15 @@
<string name="unit_of_speed_system_descr">Zehaztu abiadura unitatea.</string> <string name="unit_of_speed_system_descr">Zehaztu abiadura unitatea.</string>
<string name="unit_of_speed_system">Abiadura unitatea</string> <string name="unit_of_speed_system">Abiadura unitatea</string>
<string name="shared_string_error_short">ERR</string> <string name="shared_string_error_short">ERR</string>
<string name="time_zone_descr">Hautatu ordu-zona zure kokapen-mezuetan erakusteko.</string>
<string name="time_zone">Ordu zona</string>
<string name="buffer_time_descr">Bufferraren puntuak gordetzeko gehieneko denbora</string>
<string name="buffer_time">Bufferraren iraungitze-denbora</string>
<string name="shared_string_suggested">Iradokita</string>
<string name="status_widget_title">OsmAnd Tracker-en egoera</string>
<string name="back_to_osmand">Atzera OsmAnd-era</string>
<string name="last_response_date">Azken erantzuna: %1$s</string>
<string name="last_update_from_telegram_duration">"Telegram-en azken eguneraketa duela %1$s"</string>
<string name="last_response_duration">Azken erantzuna duela %1$s</string>
<string name="duration_ago">duela %1$s</string>
</resources> </resources>

View file

@ -38,8 +38,8 @@
<string name="yard">yd</string> <string name="yard">yd</string>
<string name="foot">ft</string> <string name="foot">ft</string>
<string name="mile">mi</string> <string name="mile">mi</string>
<string name="km">km</string> <string name="km">ک‌م</string>
<string name="m">m</string> <string name="m">متر</string>
<string name="nm">nmi</string> <string name="nm">nmi</string>
<string name="min_mile">min/m</string> <string name="min_mile">min/m</string>
<string name="min_km">min/km</string> <string name="min_km">min/km</string>

View file

@ -193,7 +193,7 @@ class LoginDialogFragment : BaseDialogFragment() {
} }
} }
override fun onDismiss(dialog: DialogInterface?) { override fun onDismiss(dialog: DialogInterface) {
super.onDismiss(dialog) super.onDismiss(dialog)
if (!dismissedManually) { if (!dismissedManually) {
getMainActivity()?.closeTelegram() getMainActivity()?.closeTelegram()
@ -300,7 +300,7 @@ class LoginDialogFragment : BaseDialogFragment() {
view.findViewById<ImageView>(R.id.no_telegram_button)?.setImageResource(R.drawable.ic_arrow_forward) view.findViewById<ImageView>(R.id.no_telegram_button)?.setImageResource(R.drawable.ic_arrow_forward)
noTelegramViewContainer?.setOnClickListener { noTelegramViewContainer?.setOnClickListener {
val focusedView = dialog.currentFocus val focusedView = dialog?.currentFocus
val mainActivity = activity val mainActivity = activity
if (focusedView != null && mainActivity != null) { if (focusedView != null && mainActivity != null) {
AndroidUtils.hideSoftKeyboard(mainActivity, focusedView) AndroidUtils.hideSoftKeyboard(mainActivity, focusedView)
@ -479,7 +479,7 @@ class LoginDialogFragment : BaseDialogFragment() {
when (loginDialogActiveType) { when (loginDialogActiveType) {
LoginDialogType.ENTER_PHONE_NUMBER -> { LoginDialogType.ENTER_PHONE_NUMBER -> {
showWelcomeDialog = true showWelcomeDialog = true
val focusedView = dialog.currentFocus val focusedView = dialog?.currentFocus
val mainActivity = activity val mainActivity = activity
if (focusedView != null && mainActivity != null) { if (focusedView != null && mainActivity != null) {
AndroidUtils.hideSoftKeyboard(mainActivity, focusedView) AndroidUtils.hideSoftKeyboard(mainActivity, focusedView)

View file

@ -157,7 +157,7 @@ class MainActivity : AppCompatActivity(), TelegramListener, ActionButtonsListene
} }
} }
override fun onAttachFragment(fragment: androidx.fragment.app.Fragment?) { override fun onAttachFragment(fragment: androidx.fragment.app.Fragment) {
if (fragment is TelegramListener) { if (fragment is TelegramListener) {
listeners.add(WeakReference(fragment)) listeners.add(WeakReference(fragment))
} }

View file

@ -34,7 +34,7 @@ class ProxySettingsDialogFragment : BaseDialogFragment() {
): View { ): View {
mainView = inflater.inflate(R.layout.fragment_proxy_settings_dialog, parent) mainView = inflater.inflate(R.layout.fragment_proxy_settings_dialog, parent)
val window = dialog.window val window = dialog?.window
if (window != null) { if (window != null) {
window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN) window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN)
if (Build.VERSION.SDK_INT >= 21) { if (Build.VERSION.SDK_INT >= 21) {

View file

@ -70,7 +70,7 @@ class SearchDialogFragment : BaseDialogFragment(), TelegramHelper.TelegramSearch
navigationIcon = uiUtils.getThemedIcon(R.drawable.ic_arrow_back) navigationIcon = uiUtils.getThemedIcon(R.drawable.ic_arrow_back)
setNavigationOnClickListener { dismiss() } setNavigationOnClickListener { dismiss() }
} }
val window = dialog.window val window = dialog?.window
if (window != null && Build.VERSION.SDK_INT >= 21) { if (window != null && Build.VERSION.SDK_INT >= 21) {
window.statusBarColor = ContextCompat.getColor(app, R.color.card_bg_light) window.statusBarColor = ContextCompat.getColor(app, R.color.card_bg_light)
} }

View file

@ -43,7 +43,7 @@ class SettingsDialogFragment : BaseDialogFragment() {
navigationIcon = uiUtils.getThemedIcon(R.drawable.ic_arrow_back) navigationIcon = uiUtils.getThemedIcon(R.drawable.ic_arrow_back)
setNavigationOnClickListener { dismiss() } setNavigationOnClickListener { dismiss() }
} }
val window = dialog.window val window = dialog?.window
if (window != null && Build.VERSION.SDK_INT >= 21) { if (window != null && Build.VERSION.SDK_INT >= 21) {
window.statusBarColor = ContextCompat.getColor(app, R.color.card_bg_light) window.statusBarColor = ContextCompat.getColor(app, R.color.card_bg_light)
} }

1
OsmAnd/.gitignore vendored
View file

@ -50,6 +50,7 @@ use/
osmand.properties osmand.properties
osmand.xml osmand.xml
assets/style.css assets/style.css
assets/poi_categories.json
assets/help/*.html assets/help/*.html
assets/help/images assets/help/images
assets/help/screens assets/help/screens

View file

@ -0,0 +1,25 @@
{
"categories": {
"special": {
"icons": [
"special_star",
"special_star_stroked",
"special_marker",
"special_flag_stroke",
"special_house",
"special_building"
]
},
"amenity": {
"icons": [
"amenity_bar",
"amenity_cafe",
"amenity_atm",
"amenity_biergarten",
"amenity_cinema",
"amenity_fire_station",
"amenity_parking"
]
}
}
}

View file

@ -323,7 +323,6 @@ task cleanNoTranslate(type: Delete) {
delete('res/values/no_translate.xml') delete('res/values/no_translate.xml')
} }
task collectFonts(type: Copy) { task collectFonts(type: Copy) {
from "../../resources/fonts" from "../../resources/fonts"
from "../../resources/rendering_styles/fonts" from "../../resources/rendering_styles/fonts"
@ -339,7 +338,6 @@ task collectHelpContentsStyle(type: Copy) {
into "assets" into "assets"
} }
task collectHelpContentsAssets(type: Copy) { task collectHelpContentsAssets(type: Copy) {
from("../../help/website/help") { from("../../help/website/help") {
include "about.html" include "about.html"
@ -351,11 +349,15 @@ task collectHelpContentsAssets(type: Copy) {
from("../../help/website/feature_articles") { from("../../help/website/feature_articles") {
include "*.html" include "*.html"
} }
into "assets/feature_articles" into "assets/feature_articles"
} }
task copyPoiCategiry(type: Copy) {
from("../../resources/poi") {
include "poi_categories.json"
}
into "assets"
}
task copyStyleIcons(type: Copy) { task copyStyleIcons(type: Copy) {
from "../../resources/rendering_styles/style-icons/" from "../../resources/rendering_styles/style-icons/"
@ -378,6 +380,7 @@ task collectExternalResources {
updateNoTranslate, updateNoTranslate,
validateTranslate, validateTranslate,
copyWidgetIcons, copyWidgetIcons,
copyPoiCategiry,
downloadWorldMiniBasemap downloadWorldMiniBasemap
Gradle gradle = getGradle() Gradle gradle = getGradle()

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

View file

@ -0,0 +1,7 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="@android:color/transparent" />
<stroke
android:width="2dp"
android:color="@color/divider_color_light" />
</shape>

View file

@ -1,9 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" <vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="34dp" android:width="36dp"
android:height="34dp" android:height="36dp"
android:viewportWidth="34" android:viewportWidth="36"
android:viewportHeight="34"> android:viewportHeight="36">
<path <path
android:pathData="M9,0H25L34,9V25L25,34H9L0,25V9L9,0Z" android:pathData="M10,1H26L35,10V26L26,35H10L1,26V10L10,1Z"
android:fillColor="#727272"/> android:fillColor="#727272"/>
</vector> </vector>

View file

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="40dp"
android:height="40dp"
android:viewportWidth="40"
android:viewportHeight="40">
<path
android:pathData="M21.7071,0.7071L39.2929,18.2929C39.7456,18.7456 40,19.3597 40,20C40,20.6403 39.7456,21.2544 39.2929,21.7071L21.7071,39.2929C21.2544,39.7456 20.6403,40 20,40C19.3597,40 18.7456,39.7456 18.2929,39.2929L0.7071,21.7071C0.2544,21.2544 0,20.6403 0,20C0,19.3597 0.2544,18.7456 0.7071,18.2929L18.2929,0.7071C18.7456,0.2544 19.3597,0 20,0C20.6403,0 21.2544,0.2544 21.7071,0.7071Z"
android:strokeWidth="2"
android:strokeColor="#e6e6e6" />
</vector>

View file

@ -1,9 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" <vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="32dp" android:width="36dp"
android:height="32dp" android:height="36dp"
android:viewportWidth="32" android:viewportWidth="36"
android:viewportHeight="32"> android:viewportHeight="36">
<path <path
android:pathData="M3,0L29,0A3,3 0,0 1,32 3L32,29A3,3 0,0 1,29 32L3,32A3,3 0,0 1,0 29L0,3A3,3 0,0 1,3 0z" android:pathData="M5,2L31,2A3,3 0,0 1,34 5L34,31A3,3 0,0 1,31 34L5,34A3,3 0,0 1,2 31L2,5A3,3 0,0 1,5 2z"
android:fillColor="#727272"/> android:fillColor="#727272"/>
</vector> </vector>

View file

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="48dp"
android:height="48dp"
android:viewportWidth="40"
android:viewportHeight="40">
<path
android:pathData="M4,1L36,1A3,3 0,0 1,39 4L39,36A3,3 0,0 1,36 39L4,39A3,3 0,0 1,1 36L1,4A3,3 0,0 1,4 1z"
android:strokeWidth="2"
android:strokeColor="#e6e6e6"/>
</vector>

View file

@ -0,0 +1,9 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@android:color/transparent" />
<corners android:radius="6dp" />
<stroke
android:radius="6dp"
android:width="1dp"
android:color="@color/divider_color_light" />
</shape>

View file

@ -0,0 +1,9 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/icon_color_active_light" />
<corners android:radius="18dp" />
<stroke
android:width="1dp"
android:color="@color/icon_color_active_light"
android:radius="18dp" />
</shape>

View file

@ -3,7 +3,7 @@
<item> <item>
<shape android:shape="rectangle"> <shape android:shape="rectangle">
<solid android:color="@android:color/transparent" /> <solid android:color="@android:color/transparent" />
<corners android:bottomLeftRadius="4dp" android:topLeftRadius="4dp" /> <corners android:radius="4dp" />
<stroke android:width="1dp" android:color="?attr/secondary_icon_color" /> <stroke android:width="1dp" android:color="?attr/secondary_icon_color" />
</shape> </shape>
</item> </item>

View file

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="@color/switch_button_active" />
<corners android:bottomLeftRadius="4dp" android:topLeftRadius="4dp" />
<stroke android:width="1dp" android:color="@color/switch_button_active_stroke" />
</shape>
</item>
</selector>

View file

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="@color/switch_button_active" />
<corners android:bottomRightRadius="4dp" android:topRightRadius="4dp" />
<stroke android:width="1dp" android:color="@color/switch_button_active_stroke" />
</shape>
</item>
</selector>

View file

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="@android:color/transparent" />
<corners android:bottomRightRadius="4dp" android:topRightRadius="4dp" />
<stroke android:width="1dp" android:color="?attr/secondary_icon_color" />
</shape>
</item>
</selector>

View file

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="16dp"
android:height="16dp"
android:viewportWidth="16"
android:viewportHeight="16">
<path
android:pathData="M5,6.7324C5.5978,6.3866 6,5.7403 6,5C6,3.8954 5.1046,3 4,3C2.8954,3 2,3.8954 2,5C2,5.7403 2.4022,6.3866 3,6.7324V11C3,12.6569 4.3432,14 6,14C7.6568,14 9,12.6569 9,11V6C9,5.4477 9.4477,5 10,5C10.5523,5 11,5.4477 11,6V10.2676C10.4022,10.6134 10,11.2597 10,12C10,13.1046 10.8954,14 12,14C13.1046,14 14,13.1046 14,12C14,11.2597 13.5978,10.6134 13,10.2676V6C13,4.3432 11.6569,3 10,3C8.3432,3 7,4.3432 7,6V11C7,11.5523 6.5523,12 6,12C5.4477,12 5,11.5523 5,11V6.7324Z"
android:fillColor="#727272"
android:fillType="evenOdd"/>
</vector>

View file

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M13.5858,5.8284C14.3668,5.0474 15.6332,5.0474 16.4142,5.8284C16.7893,6.2035 17,6.7122 17,7.2426V13C17,13.0565 17.0047,13.1119 17.0137,13.1659C15.8414,13.5739 15,14.6887 15,16C15,17.6569 16.3431,19 18,19C19.6569,19 21,17.6569 21,16C21,14.6887 20.1586,13.5739 18.9863,13.1659C18.9953,13.1119 19,13.0565 19,13V7.2426C19,6.1818 18.5786,5.1644 17.8284,4.4142C16.2663,2.8521 13.7337,2.8521 12.1716,4.4142C11.4214,5.1644 11,6.1818 11,7.2426V16.7574C11,17.2878 10.7893,17.7965 10.4142,18.1716C9.6332,18.9526 8.3668,18.9526 7.5858,18.1716C7.2107,17.7965 7,17.2878 7,16.7574V11C7,10.9435 6.9953,10.8881 6.9863,10.8341C8.1586,10.4262 9,9.3113 9,8C9,6.3432 7.6568,5 6,5C4.3432,5 3,6.3432 3,8C3,9.3113 3.8414,10.4262 5.0137,10.8341C5.0047,10.8881 5,10.9435 5,11V16.7574C5,17.8182 5.4214,18.8356 6.1716,19.5858C7.7337,21.1479 10.2663,21.1479 11.8284,19.5858C12.5786,18.8356 13,17.8182 13,16.7574V7.2426C13,6.7122 13.2107,6.2035 13.5858,5.8284ZM7,8C7,8.5523 6.5523,9 6,9C5.4477,9 5,8.5523 5,8C5,7.4477 5.4477,7 6,7C6.5523,7 7,7.4477 7,8ZM19,16C19,16.5523 18.5523,17 18,17C17.4477,17 17,16.5523 17,16C17,15.4477 17.4477,15 18,15C18.5523,15 19,15.4477 19,16Z"
android:fillColor="#ffffff"
android:fillType="evenOdd"/>
</vector>

View file

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="16dp"
android:height="16dp"
android:viewportWidth="16"
android:viewportHeight="16">
<path
android:pathData="M15,8C15,11.866 11.866,15 8,15C4.134,15 1,11.866 1,8C1,4.134 4.134,1 8,1C11.866,1 15,4.134 15,8ZM13,8C13,10.7614 10.7614,13 8,13C5.2386,13 3,10.7614 3,8C3,5.2386 5.2386,3 8,3C10.7614,3 13,5.2386 13,8ZM9,6C9,5.4477 8.5523,5 8,5C7.4477,5 7,5.4477 7,6V8C7,8.3788 7.214,8.725 7.5528,8.8944L9.5528,9.8944C10.0468,10.1414 10.6474,9.9412 10.8944,9.4472C11.1414,8.9532 10.9412,8.3526 10.4472,8.1056L9,7.382V6Z"
android:fillColor="#727272"
android:fillType="evenOdd"/>
</vector>

View file

@ -0,0 +1,13 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M13.5858,18.1716C14.3668,18.9526 15.6332,18.9526 16.4142,18.1716C16.7893,17.7965 17,17.2878 17,16.7574V11C17,10.4477 17.4477,10 18,10C18.5523,10 19,10.4477 19,11V16.7574C19,17.8183 18.5786,18.8357 17.8284,19.5858C16.2663,21.1479 13.7337,21.1479 12.1716,19.5858C11.4214,18.8357 11,17.8183 11,16.7574V7.2427C11,6.7122 10.7893,6.2035 10.4142,5.8285C9.6332,5.0474 8.3668,5.0474 7.5858,5.8285C7.2107,6.2035 7,6.7122 7,7.2427V13C7,13.0565 6.9953,13.112 6.9863,13.1659C8.1586,13.5739 9,14.6887 9,16C9,17.6569 7.6568,19 6,19C4.3432,19 3,17.6569 3,16C3,14.6887 3.8414,13.5739 5.0137,13.1659C5.0047,13.112 5,13.0565 5,13V7.2427C5,6.1818 5.4214,5.1644 6.1716,4.4142C7.7337,2.8521 10.2663,2.8521 11.8284,4.4142C12.5786,5.1644 13,6.1818 13,7.2427V16.7574C13,17.2878 13.2107,17.7965 13.5858,18.1716ZM6,15C6.5523,15 7,15.4477 7,16C7,16.5523 6.5523,17 6,17C5.4477,17 5,16.5523 5,16C5,15.4477 5.4477,15 6,15Z"
android:fillColor="#727272"
android:fillType="evenOdd"/>
<path
android:pathData="M18,12L16.1708,12.9146C16.0585,12.9708 15.9346,13.0001 15.809,13.0001C15.3622,13.0001 15,12.6379 15,12.1911V12.1667C15,12.0566 15.0218,11.9477 15.0641,11.8461L17.3074,6.4623C17.424,6.1824 17.6975,6 18.0008,6C18.3033,6 18.5762,6.1814 18.6934,6.4602L20.9318,11.7877C20.9768,11.8949 21,12.0099 21,12.1262V12.191C21,12.6378 20.6378,13 20.191,13C20.0654,13 19.9415,12.9708 19.8292,12.9146L18,12Z"
android:fillColor="#727272"/>
</vector>

View file

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="16dp"
android:height="16dp"
android:viewportWidth="16"
android:viewportHeight="16">
<path
android:pathData="M14,5.5455L5,1V5V11V15H7V9.7879L14,5.5455Z"
android:fillColor="#727272"
android:fillType="evenOdd"/>
</vector>

View file

@ -0,0 +1,9 @@
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/active_buttons_and_links_bg_pressed_dark">
<item android:id="@android:id/mask">
<shape android:shape="rectangle">
<solid android:color="@color/active_color_primary_dark" />
<corners android:radius="6dp" />
</shape>
</item>
</ripple>

View file

@ -0,0 +1,9 @@
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/active_buttons_and_links_bg_pressed_light">
<item android:id="@android:id/mask">
<shape android:shape="rectangle">
<solid android:color="@color/active_color_primary_light" />
<corners android:radius="6dp" />
</shape>
</item>
</ripple>

View file

@ -22,15 +22,15 @@
android:background="?attr/dashboard_divider" android:background="?attr/dashboard_divider"
android:layout_marginLeft="54dp" android:layout_marginLeft="54dp"
android:visibility="gone" android:visibility="gone"
android:layout_marginStart="54dp" /> android:layout_marginStart="54dp" />
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:orientation="horizontal" android:orientation="horizontal"
android:paddingLeft="@dimen/list_content_padding" android:paddingLeft="@dimen/list_header_padding"
android:paddingStart="@dimen/list_content_padding"> android:paddingStart="@dimen/list_header_padding">
<FrameLayout <FrameLayout
android:layout_width="wrap_content" android:layout_width="wrap_content"
@ -45,15 +45,15 @@
android:focusable="false" android:focusable="false"
android:visibility="gone" android:visibility="gone"
tools:visibility="visible" tools:visibility="visible"
android:layout_marginEnd="@dimen/list_content_padding" /> android:layout_marginEnd="@dimen/list_content_padding" />
<ImageView <ImageView
android:id="@+id/favourite_icon" android:id="@+id/favourite_icon"
android:layout_width="34dp" android:layout_width="@dimen/favorites_icon_size"
android:layout_height="34dp" android:layout_height="@dimen/favorites_icon_size"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:layout_marginRight="@dimen/guide_line_vertical_offset" android:layout_marginRight="@dimen/list_header_padding"
android:layout_marginEnd="@dimen/guide_line_vertical_offset" /> android:layout_marginEnd="@dimen/list_header_padding" />
</FrameLayout> </FrameLayout>
<LinearLayout <LinearLayout

View file

@ -127,14 +127,16 @@
</com.google.android.material.appbar.CollapsingToolbarLayout> </com.google.android.material.appbar.CollapsingToolbarLayout>
<ProgressBar <me.zhanghai.android.materialprogressbar.MaterialProgressBar
android:id="@+id/progress_bar" android:id="@+id/progress_bar"
style="?android:attr/progressBarStyleHorizontal" style="@style/Widget.MaterialProgressBar.ProgressBar.Horizontal"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="5dp"
android:indeterminate="true"
android:minHeight="0dp"
android:visibility="gone" android:visibility="gone"
android:indeterminate="true"
osmand:mpb_progressStyle="horizontal"
osmand:mpb_setBothDrawables="true"
osmand:mpb_useIntrinsicPadding="false"
tools:visibility="visible" /> tools:visibility="visible" />
</com.google.android.material.appbar.AppBarLayout> </com.google.android.material.appbar.AppBarLayout>

View file

@ -31,6 +31,7 @@
android:paddingTop="@dimen/list_header_settings_top_margin" android:paddingTop="@dimen/list_header_settings_top_margin"
android:paddingEnd="@dimen/content_padding" android:paddingEnd="@dimen/content_padding"
android:paddingBottom="@dimen/list_header_settings_top_margin" android:paddingBottom="@dimen/list_header_settings_top_margin"
android:lineSpacingMultiplier="@dimen/line_spacing_multiplier_description"
android:textColor="?android:textColorPrimary" android:textColor="?android:textColorPrimary"
android:textSize="@dimen/default_list_text_size" android:textSize="@dimen/default_list_text_size"
tools:text="@string/import_complete_description" /> tools:text="@string/import_complete_description" />

View file

@ -26,6 +26,7 @@
android:paddingTop="@dimen/list_header_settings_top_margin" android:paddingTop="@dimen/list_header_settings_top_margin"
android:paddingEnd="@dimen/content_padding" android:paddingEnd="@dimen/content_padding"
android:paddingBottom="@dimen/list_header_settings_top_margin" android:paddingBottom="@dimen/list_header_settings_top_margin"
android:lineSpacingMultiplier="@dimen/line_spacing_multiplier_description"
android:text="@string/import_duplicates_description" android:text="@string/import_duplicates_description"
android:textColor="?android:textColorPrimary" android:textColor="?android:textColorPrimary"
android:textSize="@dimen/default_list_text_size" /> android:textSize="@dimen/default_list_text_size" />
@ -135,14 +136,16 @@
</com.google.android.material.appbar.CollapsingToolbarLayout> </com.google.android.material.appbar.CollapsingToolbarLayout>
<ProgressBar <me.zhanghai.android.materialprogressbar.MaterialProgressBar
android:id="@+id/progress_bar" android:id="@+id/progress_bar"
style="?android:attr/progressBarStyleHorizontal" style="@style/Widget.MaterialProgressBar.ProgressBar.Horizontal"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="5dp"
android:minHeight="0dp"
android:indeterminate="true"
android:visibility="gone" android:visibility="gone"
android:indeterminate="true"
osmand:mpb_progressStyle="horizontal"
osmand:mpb_setBothDrawables="true"
osmand:mpb_useIntrinsicPadding="false"
tools:visibility="visible" /> tools:visibility="visible" />
</com.google.android.material.appbar.AppBarLayout> </com.google.android.material.appbar.AppBarLayout>

View file

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:osmand="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:descendantFocusability="blocksDescendants"
android:layout_height="match_parent" android:layout_height="match_parent"
android:animateLayoutChanges="true"
android:background="?attr/activity_background_basic"
android:orientation="vertical"> android:orientation="vertical">
<LinearLayout <LinearLayout
@ -13,458 +13,498 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical"> android:orientation="vertical">
<LinearLayout <ImageView
android:id="@+id/shadow_on_map"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="?attr/bg_color" android:scaleType="fitXY"
android:gravity="center_vertical" android:src="@drawable/bg_shadow_onmap" />
android:orientation="horizontal"
android:paddingTop="@dimen/content_padding_half"
android:paddingBottom="@dimen/content_padding_half">
<ImageView <LinearLayout
android:id="@+id/icon_iv" android:background="?attr/activity_background_basic"
android:layout_width="wrap_content" android:layout_width="match_parent"
android:layout_height="wrap_content" android:orientation="vertical"
android:layout_margin="@dimen/content_padding" android:layout_height="match_parent">
tools:src="@drawable/ic_action_hillshade_dark" />
<LinearLayout <LinearLayout
android:layout_width="0dp" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="@dimen/setting_list_item_large_height"
android:layout_weight="1" android:background="?attr/bg_color"
android:gravity="center_vertical" android:gravity="center_vertical"
android:orientation="vertical" android:orientation="horizontal">
android:paddingStart="@dimen/content_padding"
android:paddingEnd="@dimen/content_padding">
<net.osmand.plus.widgets.TextViewEx
android:id="@+id/title_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="?android:textColorPrimary"
android:textSize="@dimen/default_list_text_size"
tools:text="Terrain" />
<net.osmand.plus.widgets.TextViewEx
android:id="@+id/state_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="?android:textColorSecondary"
android:textSize="@dimen/default_desc_text_size"
tools:text="Enabled" />
</LinearLayout>
<androidx.appcompat.widget.SwitchCompat
android:id="@+id/switch_compat"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="@dimen/content_padding" />
</LinearLayout>
<include
android:id="@+id/titleBottomDivider"
layout="@layout/card_bottom_divider"
tools:visibility="gone" />
<LinearLayout
android:id="@+id/content_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/bg_color"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/bottom_sheet_list_item_height"
android:layout_marginStart="@dimen/content_padding"
android:layout_marginEnd="@dimen/content_padding"
android:baselineAligned="false"
android:orientation="horizontal">
<FrameLayout
android:id="@+id/hillshade_btn_container"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
tools:background="@drawable/btn_border_left_active">
<net.osmand.plus.widgets.TextViewEx
android:id="@+id/hillshade_btn"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?attr/selectableItemBackground"
android:gravity="center"
android:text="@string/shared_string_hillshade"
android:textSize="@dimen/default_desc_text_size"
android:textStyle="bold" />
</FrameLayout>
<FrameLayout
android:id="@+id/slope_btn_container"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1">
<net.osmand.plus.widgets.TextViewEx
android:id="@+id/slope_btn"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?attr/selectableItemBackground"
android:gravity="center"
android:text="@string/shared_string_slope"
android:textSize="@dimen/default_desc_text_size"
android:textStyle="bold"
tools:background="@drawable/btn_border_right_inactive" />
</FrameLayout>
</LinearLayout>
<net.osmand.plus.widgets.TextViewEx
android:id="@+id/description"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/content_padding"
android:textColor="?android:textColorSecondary"
android:textSize="@dimen/default_desc_text_size"
tools:text="Hillshade map using dark shades to show slopes, peaks and lowlands." />
</LinearLayout>
<include layout="@layout/card_top_divider" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/bg_color"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingStart="@dimen/content_padding"
android:paddingTop="@dimen/content_padding_small"
android:paddingEnd="@dimen/content_padding">
<net.osmand.plus.widgets.TextViewEx
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/shared_string_transparency"
android:textColor="?android:textColorPrimary"
android:textSize="@dimen/default_list_text_size" />
<net.osmand.plus.widgets.TextViewEx
android:id="@+id/transparency_value_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="?android:textColorSecondary"
android:textSize="@dimen/default_desc_text_size"
tools:text="25%" />
</LinearLayout>
<com.google.android.material.slider.Slider
android:id="@+id/transparency_slider"
style="@style/Widget.MaterialComponents.Slider"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/list_header_settings_top_margin"
android:stepSize="1"
android:theme="@style/Theme.MaterialComponents"
app:haloRadius="@dimen/slider_thumb_halo_size"
app:thumbRadius="@dimen/slider_thumb_size"
app:tickColor="@android:color/transparent"
app:trackHeight="@dimen/slider_track_height" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginStart="@dimen/content_padding"
android:layout_marginLeft="@dimen/content_padding"
android:layout_marginTop="@dimen/content_padding_half"
android:background="?attr/dashboard_divider"
android:focusable="false" />
<net.osmand.plus.widgets.TextViewEx
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="@dimen/content_padding"
android:paddingTop="@dimen/list_header_settings_top_margin"
android:paddingEnd="@dimen/content_padding"
android:text="@string/shared_string_zoom_levels"
android:textColor="@color/preference_category_title"
android:textSize="@dimen/default_desc_text_size" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingTop="@dimen/content_padding"
android:paddingStart="@dimen/content_padding"
android:paddingEnd="@dimen/content_padding"
android:paddingBottom="@dimen/content_padding_half">
<net.osmand.plus.widgets.TextViewEx
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="start"
android:text="Min"
android:textColor="?android:textColorPrimary"
android:textSize="@dimen/default_list_text_size" />
<net.osmand.plus.widgets.TextViewEx
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="end"
android:text="Max"
android:textColor="?android:textColorPrimary"
android:textSize="@dimen/default_list_text_size" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingStart="@dimen/content_padding"
android:paddingEnd="@dimen/content_padding">
<net.osmand.plus.widgets.TextViewEx
android:id="@+id/zoom_value_min"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="start"
android:textColor="?android:textColorSecondary"
android:textSize="@dimen/default_desc_text_size"
tools:text="3" />
<com.google.android.material.slider.Slider
android:id="@+id/zoom_slider"
style="@style/Widget.MaterialComponents.Slider"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:stepSize="1"
app:tickColor="@color/color_black"
android:theme="@style/Theme.MaterialComponents"
app:haloRadius="@dimen/slider_thumb_halo_size"
app:thumbRadius="@dimen/slider_thumb_size"
app:trackHeight="@dimen/slider_track_height" />
<net.osmand.plus.widgets.TextViewEx
android:id="@+id/zoom_value_max"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="end"
android:textColor="?android:textColorSecondary"
android:textSize="@dimen/default_desc_text_size"
tools:text="19" />
</LinearLayout>
<net.osmand.plus.widgets.TextViewEx
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/content_padding"
android:text="@string/terrain_slider_description"
android:textColor="?android:textColorSecondary"
android:textSize="@dimen/default_desc_text_size" />
</LinearLayout>
<include layout="@layout/card_bottom_divider" />
<include
android:id="@+id/legend_top_divider"
layout="@layout/card_top_divider" />
<LinearLayout
android:id="@+id/legend_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/bg_color"
android:orientation="vertical">
<net.osmand.plus.widgets.TextViewEx
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="@dimen/content_padding"
android:paddingTop="@dimen/list_header_settings_top_margin"
android:paddingBottom="@dimen/content_padding"
android:paddingEnd="@dimen/content_padding"
android:text="@string/shared_string_legend"
android:textColor="@color/preference_category_title"
android:textSize="@dimen/default_desc_text_size" />
<ImageView <ImageView
android:id="@+id/icon_iv"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="center_horizontal"
android:layout_marginStart="@dimen/content_padding"
android:layout_marginEnd="@dimen/content_padding"
android:adjustViewBounds="true"
android:scaleType="fitCenter"
android:src="@drawable/img_legend_slope" />
<net.osmand.plus.widgets.TextViewEx
android:id="@+id/slope_read_more_tv"
android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_margin="@dimen/content_padding" android:layout_margin="@dimen/content_padding"
android:textColor="?android:textColorSecondary" tools:src="@drawable/ic_action_hillshade_dark" />
android:textSize="@dimen/default_desc_text_size"
tools:text="@string/slope_read_more" />
</LinearLayout>
<include
android:id="@+id/legend_bottom_divider"
layout="@layout/card_bottom_divider" />
<include
android:id="@+id/download_container_top_divider"
layout="@layout/card_top_divider" />
<LinearLayout
android:id="@+id/download_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/bg_color"
android:orientation="vertical">
<net.osmand.plus.widgets.TextViewEx
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="@dimen/content_padding"
android:paddingTop="@dimen/list_header_settings_top_margin"
android:paddingEnd="@dimen/content_padding"
android:text="@string/welmode_download_maps"
android:textColor="@color/preference_category_title"
android:textSize="@dimen/default_desc_text_size" />
<net.osmand.plus.widgets.TextViewEx
android:id="@+id/download_description_tv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/content_padding"
android:textColor="?android:textColorSecondary"
android:textSize="@dimen/default_desc_text_size"
tools:text="@string/hillshade_download_description" />
<com.github.ksoichiro.android.observablescrollview.ObservableListView
android:id="@+id/list_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="@null"
android:fadeScrollbars="true" />
</LinearLayout>
<include
android:id="@+id/download_container_bottom_divider"
layout="@layout/card_bottom_divider" />
</LinearLayout>
<LinearLayout
android:id="@+id/empty_state"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/content_padding_small">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/empty_state_image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:scaleType="fitCenter"
android:src="@drawable/img_empty_state_terrain" />
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="wrap_content"
android:orientation="horizontal"> android:layout_weight="1"
android:gravity="center_vertical"
android:orientation="vertical"
android:paddingStart="@dimen/content_padding"
android:paddingEnd="@dimen/content_padding">
<FrameLayout <net.osmand.plus.widgets.TextViewEx
android:layout_width="0dp" android:id="@+id/title_tv"
android:layout_height="match_parent" android:layout_width="wrap_content"
android:layout_weight="1"> android:layout_height="wrap_content"
android:textColor="?android:textColorPrimary"
android:textSize="@dimen/default_list_text_size"
osmand:typeface="@string/font_roboto_regular"
tools:text="Terrain" />
<TextView <net.osmand.plus.widgets.TextViewEx
android:layout_width="wrap_content" android:id="@+id/state_tv"
android:layout_height="wrap_content" android:layout_width="wrap_content"
android:layout_gravity="start|bottom" android:layout_height="wrap_content"
android:layout_margin="@dimen/content_padding_half" android:textColor="?android:textColorSecondary"
android:background="@drawable/bg_dark_transp" android:textSize="@dimen/default_desc_text_size"
android:gravity="start|bottom" tools:text="Enabled" />
android:padding="@dimen/map_button_margin"
android:text="@string/shared_string_hillshade"
android:textColor="@color/color_white" />
</FrameLayout>
<FrameLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|bottom"
android:layout_margin="@dimen/content_padding_half"
android:background="@drawable/bg_dark_transp"
android:gravity="start|bottom"
android:padding="@dimen/map_button_margin"
android:text="@string/shared_string_slope"
android:textColor="@color/color_white" />
</FrameLayout>
</LinearLayout> </LinearLayout>
</FrameLayout> <androidx.appcompat.widget.SwitchCompat
android:id="@+id/switch_compat"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="@dimen/content_padding" />
<net.osmand.plus.widgets.TextViewEx </LinearLayout>
android:id="@+id/empty_state_description"
<include
android:id="@+id/titleBottomDivider"
layout="@layout/card_bottom_divider"
tools:visibility="gone" />
<LinearLayout
android:id="@+id/content_container"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="@dimen/content_padding" android:orientation="vertical">
android:layout_marginEnd="@dimen/content_padding"
android:layout_marginBottom="@dimen/content_padding" <LinearLayout
android:gravity="start" android:layout_width="match_parent"
android:textColor="?android:textColorSecondary" android:layout_height="wrap_content"
android:textSize="@dimen/default_desc_text_size" android:background="?attr/bg_color"
tools:text="@string/terrain_empty_state_text" /> android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/dialog_button_height"
android:layout_marginStart="@dimen/content_padding"
android:layout_marginEnd="@dimen/content_padding"
android:background="@drawable/btn_bg_border_inactive"
android:baselineAligned="false"
android:orientation="horizontal">
<FrameLayout
android:id="@+id/hillshade_btn_container"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1">
<net.osmand.plus.widgets.TextViewEx
android:id="@+id/hillshade_btn"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?attr/selectableItemBackground"
android:gravity="center"
android:text="@string/shared_string_hillshade"
android:textSize="@dimen/default_desc_text_size"
android:textStyle="bold" />
</FrameLayout>
<FrameLayout
android:id="@+id/slope_btn_container"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1">
<net.osmand.plus.widgets.TextViewEx
android:id="@+id/slope_btn"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?attr/selectableItemBackground"
android:gravity="center"
android:text="@string/shared_string_slope"
android:textSize="@dimen/default_desc_text_size"
android:textStyle="bold" />
</FrameLayout>
</LinearLayout>
<net.osmand.plus.widgets.TextViewEx
android:id="@+id/description"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/content_padding"
android:layout_marginTop="@dimen/content_padding_small"
android:layout_marginEnd="@dimen/content_padding"
android:layout_marginBottom="@dimen/content_padding_small"
android:lineSpacingExtra="@dimen/line_spacing_extra_description"
android:textColor="?android:textColorSecondary"
android:textSize="@dimen/default_desc_text_size"
osmand:typeface="@string/font_roboto_regular"
tools:text="Hillshade map using dark shades to show slopes, peaks and lowlands." />
</LinearLayout>
<include layout="@layout/card_bottom_divider" />
<include layout="@layout/card_top_divider" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/bg_color"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingStart="@dimen/content_padding"
android:paddingTop="@dimen/content_padding_small"
android:paddingEnd="@dimen/content_padding">
<net.osmand.plus.widgets.TextViewEx
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:lineSpacingExtra="@dimen/line_spacing_extra_description"
android:text="@string/shared_string_transparency"
android:textColor="?android:textColorPrimary"
android:textSize="@dimen/default_list_text_size"
osmand:typeface="@string/font_roboto_regular" />
<net.osmand.plus.widgets.TextViewEx
android:id="@+id/transparency_value_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:lineSpacingExtra="@dimen/line_spacing_extra_description"
android:textColor="?android:textColorSecondary"
android:textSize="@dimen/default_list_text_size"
osmand:typeface="@string/font_roboto_regular"
tools:text="25%" />
</LinearLayout>
<com.google.android.material.slider.Slider
android:id="@+id/transparency_slider"
style="@style/Widget.MaterialComponents.Slider"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/list_header_settings_top_margin"
android:paddingBottom="@dimen/dialog_content_margin"
android:stepSize="1"
android:theme="@style/Theme.MaterialComponents"
app:haloRadius="@dimen/slider_thumb_size"
app:thumbRadius="@dimen/slider_thumb_size"
app:tickColor="@android:color/transparent"
app:trackHeight="@dimen/slider_track_height" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginStart="@dimen/content_padding"
android:layout_marginLeft="@dimen/content_padding"
android:background="?attr/dashboard_divider"
android:focusable="false" />
<net.osmand.plus.widgets.TextViewEx
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:letterSpacing="@dimen/description_letter_spacing"
android:paddingStart="@dimen/content_padding"
android:paddingTop="@dimen/list_header_settings_top_margin"
android:paddingEnd="@dimen/content_padding"
android:text="@string/shared_string_zoom_levels"
android:textColor="@color/preference_category_title"
android:textSize="@dimen/default_desc_text_size"
osmand:typeface="@string/font_roboto_medium" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingStart="@dimen/content_padding"
android:paddingTop="@dimen/content_padding"
android:paddingEnd="@dimen/content_padding">
<net.osmand.plus.widgets.TextViewEx
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="start"
android:lineSpacingExtra="@dimen/line_spacing_extra_description"
android:text="@string/shared_string_min"
android:textColor="?android:textColorPrimary"
android:textSize="@dimen/default_list_text_size" />
<net.osmand.plus.widgets.TextViewEx
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="end"
android:lineSpacingExtra="@dimen/line_spacing_extra_description"
android:text="@string/shared_string_max"
android:textColor="?android:textColorPrimary"
android:textSize="@dimen/default_list_text_size" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingStart="@dimen/content_padding"
android:paddingEnd="@dimen/content_padding">
<net.osmand.plus.widgets.TextViewEx
android:id="@+id/zoom_value_min"
android:layout_width="@dimen/standard_icon_size"
android:layout_height="wrap_content"
android:gravity="start"
android:lineSpacingExtra="@dimen/line_spacing_extra_description"
android:textColor="?android:textColorSecondary"
android:textSize="@dimen/default_list_text_size"
tools:text="3" />
<com.google.android.material.slider.Slider
android:id="@+id/zoom_slider"
style="@style/Widget.MaterialComponents.Slider"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:stepSize="1"
android:theme="@style/Theme.MaterialComponents"
app:haloRadius="@dimen/slider_thumb_size"
app:thumbRadius="@dimen/slider_thumb_size"
app:tickColor="@color/color_black"
app:trackHeight="@dimen/slider_track_height" />
<net.osmand.plus.widgets.TextViewEx
android:id="@+id/zoom_value_max"
android:layout_width="@dimen/standard_icon_size"
android:layout_height="wrap_content"
android:gravity="end"
android:lineSpacingExtra="@dimen/line_spacing_extra_description"
android:textColor="?android:textColorSecondary"
android:textSize="@dimen/default_list_text_size"
tools:text="19" />
</LinearLayout>
<net.osmand.plus.widgets.TextViewEx
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/content_padding"
android:layout_marginEnd="@dimen/content_padding"
android:layout_marginBottom="@dimen/content_padding"
android:lineSpacingExtra="@dimen/line_spacing_extra_description"
android:text="@string/terrain_slider_description"
android:textColor="?android:textColorSecondary"
android:textSize="@dimen/default_desc_text_size" />
</LinearLayout>
<include layout="@layout/card_bottom_divider" />
<include
android:id="@+id/legend_top_divider"
layout="@layout/card_top_divider" />
<LinearLayout
android:id="@+id/legend_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/bg_color"
android:orientation="vertical">
<net.osmand.plus.widgets.TextViewEx
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:letterSpacing="@dimen/description_letter_spacing"
android:paddingStart="@dimen/content_padding"
android:paddingTop="@dimen/list_header_settings_top_margin"
android:paddingEnd="@dimen/content_padding"
android:paddingBottom="@dimen/content_padding"
android:text="@string/shared_string_legend"
android:textColor="@color/preference_category_title"
android:textSize="@dimen/default_desc_text_size"
osmand:typeface="@string/font_roboto_medium" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="center_horizontal"
android:layout_marginStart="@dimen/content_padding"
android:layout_marginEnd="@dimen/content_padding"
android:adjustViewBounds="true"
android:scaleType="fitCenter"
android:src="@drawable/img_legend_slope" />
<net.osmand.plus.widgets.TextViewEx
android:id="@+id/slope_read_more_tv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/content_padding"
android:textColor="?android:textColorSecondary"
android:textSize="@dimen/default_desc_text_size"
tools:text="@string/slope_read_more" />
</LinearLayout>
<include
android:id="@+id/legend_bottom_divider"
layout="@layout/card_bottom_divider" />
<include
android:id="@+id/download_container_top_divider"
layout="@layout/card_top_divider" />
<LinearLayout
android:id="@+id/download_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/bg_color"
android:orientation="vertical">
<net.osmand.plus.widgets.TextViewEx
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:letterSpacing="@dimen/description_letter_spacing"
android:paddingStart="@dimen/content_padding"
android:paddingTop="@dimen/list_header_settings_top_margin"
android:paddingEnd="@dimen/content_padding"
android:text="@string/welmode_download_maps"
android:textColor="@color/preference_category_title"
android:textSize="@dimen/default_desc_text_size"
osmand:typeface="@string/font_roboto_medium" />
<net.osmand.plus.widgets.TextViewEx
android:id="@+id/download_description_tv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/content_padding"
android:layout_marginTop="@dimen/content_padding_half"
android:layout_marginEnd="@dimen/content_padding"
android:lineSpacingExtra="@dimen/line_spacing_extra_description"
android:textColor="?android:textColorSecondary"
android:textSize="@dimen/default_desc_text_size"
tools:text="@string/hillshade_download_description" />
<com.github.ksoichiro.android.observablescrollview.ObservableListView
android:id="@+id/list_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="@null"
android:fadeScrollbars="true" />
</LinearLayout>
<include
android:id="@+id/download_container_bottom_divider"
layout="@layout/card_bottom_divider" />
</LinearLayout>
<LinearLayout
android:id="@+id/empty_state"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/content_padding_small">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/empty_state_image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:scaleType="fitCenter"
android:src="@drawable/img_empty_state_terrain" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<FrameLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|bottom"
android:layout_margin="@dimen/content_padding_half"
android:background="@drawable/bg_dark_transp"
android:gravity="start|bottom"
android:padding="@dimen/map_button_margin"
android:text="@string/shared_string_hillshade"
android:textColor="@color/color_white" />
</FrameLayout>
<FrameLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|bottom"
android:layout_margin="@dimen/content_padding_half"
android:background="@drawable/bg_dark_transp"
android:gravity="start|bottom"
android:padding="@dimen/map_button_margin"
android:text="@string/shared_string_slope"
android:textColor="@color/color_white" />
</FrameLayout>
</LinearLayout>
</FrameLayout>
<net.osmand.plus.widgets.TextViewEx
android:id="@+id/empty_state_description"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/content_padding"
android:layout_marginEnd="@dimen/content_padding"
android:layout_marginBottom="@dimen/content_padding"
android:gravity="start"
android:lineSpacingExtra="@dimen/line_spacing_extra_description"
android:textColor="?android:textColorSecondary"
android:textSize="@dimen/default_desc_text_size"
tools:text="@string/terrain_empty_state_text" />
</LinearLayout>
<View
android:id="@+id/bottom_empty_space"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:focusable="false" />
</LinearLayout> </LinearLayout>
<View
android:id="@+id/bottom_empty_space"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:focusable="false" />
</LinearLayout> </LinearLayout>
</ScrollView> </LinearLayout>

View file

@ -13,6 +13,7 @@
android:paddingStart="@dimen/content_padding" android:paddingStart="@dimen/content_padding"
android:paddingTop="@dimen/list_header_settings_top_margin" android:paddingTop="@dimen/list_header_settings_top_margin"
android:paddingEnd="@dimen/content_padding" android:paddingEnd="@dimen/content_padding"
android:lineSpacingMultiplier="@dimen/line_spacing_multiplier_description"
android:paddingBottom="@dimen/list_header_settings_top_margin" android:paddingBottom="@dimen/list_header_settings_top_margin"
android:textColor="?android:textColorPrimary" android:textColor="?android:textColorPrimary"
android:textSize="@dimen/default_list_text_size" android:textSize="@dimen/default_list_text_size"

View file

@ -1,19 +1,17 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<LinearLayout <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
xmlns:osmand="http://schemas.android.com/apk/res-auto"
android:background="?attr/bg_color" android:background="?attr/bg_color"
android:orientation="vertical"> android:orientation="vertical">
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:minHeight="@dimen/list_item_height" android:minHeight="@dimen/setting_list_item_large_height"
android:gravity="center_vertical" android:gravity="center_vertical">
android:paddingLeft="@dimen/list_content_padding"
android:paddingStart="@dimen/list_content_padding">
<ImageView <ImageView
android:id="@+id/icon" android:id="@+id/icon"
@ -21,6 +19,8 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginRight="@dimen/list_content_padding" android:layout_marginRight="@dimen/list_content_padding"
android:layout_marginEnd="@dimen/list_content_padding" android:layout_marginEnd="@dimen/list_content_padding"
android:layout_marginLeft="@dimen/list_content_padding"
android:layout_marginStart="@dimen/list_content_padding"
tools:src="@drawable/ic_map"/> tools:src="@drawable/ic_map"/>
<LinearLayout <LinearLayout
@ -30,26 +30,30 @@
android:layout_weight="1" android:layout_weight="1"
android:paddingTop="6dp" android:paddingTop="6dp"
android:paddingBottom="6dp" android:paddingBottom="6dp"
android:layout_marginLeft="@dimen/list_content_padding"
android:layout_marginStart="@dimen/list_content_padding"
android:layout_marginRight="@dimen/list_content_padding" android:layout_marginRight="@dimen/list_content_padding"
android:layout_marginEnd="@dimen/list_content_padding" android:layout_marginEnd="@dimen/list_content_padding"
android:orientation="vertical"> android:orientation="vertical">
<TextView <net.osmand.plus.widgets.TextViewEx
android:id="@+id/title" android:id="@+id/title"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textColor="?android:textColorPrimary" android:textColor="?android:textColorPrimary"
android:textSize="@dimen/default_list_text_size" android:textSize="@dimen/default_list_text_size"
osmand:typeface="@string/font_roboto_regular"
tools:text="Germany"/> tools:text="Germany"/>
<TextView <net.osmand.plus.widgets.TextViewEx
android:id="@+id/description" android:id="@+id/description"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center_vertical" android:gravity="center_vertical"
android:maxLines="25" android:maxLines="25"
android:textColor="?android:textColorSecondary" android:textColor="?android:textColorSecondary"
android:textSize="@dimen/default_sub_text_size" android:textSize="@dimen/default_desc_text_size"
osmand:typeface="@string/font_roboto_regular"
tools:text="Contour Lines"/> tools:text="Contour Lines"/>
<ProgressBar <ProgressBar

View file

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingStart="0dp"
android:paddingLeft="0dp"
android:paddingEnd="9dp"
android:paddingRight="9dp"
android:paddingBottom="4dp">
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/outline"
android:layout_width="48dp"
android:layout_height="48dp"
android:visibility="invisible"
app:srcCompat="@drawable/bg_point_circle_contour" />
<ImageView
android:id="@+id/background"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/bg_point_circle" />
<ImageView
android:id="@+id/icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:clickable="false"
android:visibility="gone"
app:srcCompat="@drawable/mx_special_star_stroked" />
</FrameLayout>
</FrameLayout>

View file

@ -0,0 +1,514 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:osmand="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/point_edit_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent"
android:fitsSystemWindows="true">
<LinearLayout
android:id="@+id/background_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?attr/activity_background_color"
android:orientation="vertical">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="fill_parent"
android:layout_height="@dimen/dashboard_map_toolbar"
android:background="?attr/card_and_list_background_basic"
android:minHeight="@dimen/dashboard_map_toolbar"
osmand:subtitleTextColor="?android:textColorPrimary"
osmand:theme="@style/ThemeOverlay.AppCompat.ActionBar"
osmand:titleTextColor="?android:textColorPrimary">
<ImageView
android:id="@+id/toolbar_action"
android:layout_width="@dimen/list_item_height"
android:layout_height="match_parent"
android:layout_gravity="end"
android:contentDescription="@string/replace_all"
android:scaleType="center"
android:src="@drawable/ic_action_replace"
android:layout_marginRight="@dimen/content_padding_half"
android:layout_marginStart="@dimen/content_padding_half"
android:layout_marginLeft="@dimen/content_padding_half"
android:layout_marginEnd="@dimen/content_padding_half" />
</androidx.appcompat.widget.Toolbar>
<ScrollView
android:id="@+id/editor_scroll_view"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:fillViewport="true">
<LinearLayout
android:id="@+id/main_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/list_content_padding"
android:layout_marginRight="@dimen/list_content_padding">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal">
<com.google.android.material.textfield.TextInputLayout
style="@style/Widget.MaterialComponents.TextInputLayout.FilledBox"
android:id="@+id/name_caption"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:hint="@string/shared_string_name"
app:boxBackgroundColor="#4DCCCCCC">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/name_edit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawableEnd="@drawable/btn_circle_transparent_full"
android:drawableRight="@drawable/btn_circle_transparent_full"
android:drawablePadding="50dp"
android:inputType="textMultiLine"
android:maxLines="4"
android:minHeight="50dp"
android:paddingStart="12dp"
android:paddingLeft="12dp"
android:paddingRight="12dp"
android:scrollHorizontally="false"
android:textSize="16sp"
tools:text="@string/lorem_ipsum" />
</com.google.android.material.textfield.TextInputLayout>
</LinearLayout>
<ImageView
android:id="@+id/name_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:layout_margin="10dp"
android:contentDescription="@string/icon"
android:src="@drawable/ic_action_home_dark" />
</FrameLayout>
<LinearLayout
android:id="@+id/description"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/card_padding"
android:gravity="center_vertical"
android:orientation="horizontal">
<com.google.android.material.textfield.TextInputLayout
style="@style/Widget.MaterialComponents.TextInputLayout.FilledBox"
android:id="@+id/description_caption"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/list_content_padding"
android:layout_marginRight="@dimen/list_content_padding"
android:layout_weight="1"
android:hint="@string/shared_string_description"
app:boxBackgroundColor="#4DCCCCCC">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/description_edit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textMultiLine"
android:maxLines="4"
android:minHeight="50dp"
android:paddingStart="12dp"
android:paddingLeft="12dp"
android:paddingRight="12dp"
android:scrollHorizontally="false"
android:textSize="16sp"
tools:text="@string/lorem_ipsum" />
</com.google.android.material.textfield.TextInputLayout>
</LinearLayout>
<net.osmand.plus.widgets.TextViewEx
android:id="@+id/description_button"
android:layout_width="wrap_content"
android:layout_height="48dp"
android:layout_marginStart="@dimen/content_padding_half"
android:layout_marginLeft="@dimen/content_padding_half"
android:paddingLeft="@dimen/content_padding_half"
android:paddingRight="@dimen/content_padding_half"
android:gravity="center"
android:textSize="@dimen/default_desc_text_size"
osmand:typeface="@string/font_roboto_medium"
android:duplicateParentState="true"
android:text="@string/add_description"
tools:text="@string/add_description"
android:paddingStart="@dimen/content_padding_half"
android:paddingEnd="@dimen/content_padding_half"/>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="?attr/dashboard_divider" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:minHeight="@dimen/bottom_sheet_selected_item_title_height"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<net.osmand.plus.widgets.TextViewEx
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:letterSpacing="@dimen/description_letter_spacing"
android:paddingLeft="@dimen/content_padding"
android:paddingTop="14dp"
android:paddingRight="@dimen/content_padding"
android:paddingBottom="14dp"
android:text="@string/select_group"
android:textColor="?android:textColorSecondary"
android:textSize="@dimen/default_desc_text_size"
osmand:typeface="@string/font_roboto_medium" />
<LinearLayout
android:id="@+id/group_list_button"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="end"
android:orientation="horizontal">
<net.osmand.plus.widgets.TextViewEx
android:id="@+id/group_list_button_title"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="end"
android:ellipsize="end"
android:gravity="center"
android:letterSpacing="@dimen/text_button_letter_spacing"
android:maxLines="1"
android:text="@string/shared_string_list"
android:textColor="@color/preference_category_title"
android:textSize="@dimen/text_button_text_size"
osmand:typeface="@string/font_roboto_medium"
tools:ignore="UnusedAttribute" />
<ImageView
android:id="@+id/group_list_button_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:paddingStart="@dimen/content_padding_small"
android:paddingLeft="@dimen/content_padding_small"
android:paddingEnd="@dimen/route_info_buttons_padding_top_bottom"
android:paddingRight="@dimen/route_info_buttons_padding_top_bottom"
android:src="@drawable/ic_action_folder"
tools:src="@drawable/ic_action_group_select_all"
android:contentDescription="@string/shared_string_list" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingTop="6dp"
android:paddingBottom="@dimen/content_padding_half">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/group_recycler_view"
android:paddingLeft="@dimen/content_padding_half"
android:paddingStart="@dimen/content_padding_half"
android:paddingRight="@dimen/content_padding"
android:paddingEnd="@dimen/content_padding"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipToPadding="false"
android:orientation="horizontal"
tools:itemCount="3"
tools:orientation="horizontal"
tools:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
tools:listitem="@layout/point_editor_group_select_item"/>
</LinearLayout>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginTop="@dimen/content_padding_half"
android:layout_marginBottom="@dimen/content_padding_half"
android:background="?attr/dashboard_divider" />
<net.osmand.plus.widgets.TextViewEx
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:letterSpacing="@dimen/description_letter_spacing"
android:paddingLeft="@dimen/content_padding"
android:paddingTop="@dimen/content_padding_half"
android:paddingRight="@dimen/content_padding"
android:paddingBottom="14dp"
android:text="@string/select_icon_profile_dialog_title"
android:textColor="?android:textColorSecondary"
android:textSize="@dimen/default_desc_text_size"
osmand:typeface="@string/font_roboto_medium" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/group_name_recycler_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="@dimen/content_padding"
android:paddingRight="@dimen/content_padding"
android:paddingStart="@dimen/content_padding"
android:paddingEnd="@dimen/content_padding"
android:clipToPadding="false"
android:orientation="horizontal"
tools:itemCount="3"
tools:orientation="horizontal"
tools:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
tools:listitem="@layout/point_editor_icon_category_item" />
<net.osmand.plus.widgets.FlowLayout
android:id="@+id/select_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:layout_marginLeft="12dp"
android:layout_marginTop="6dp" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginTop="@dimen/content_padding_half"
android:layout_marginBottom="@dimen/content_padding_half"
android:background="?attr/dashboard_divider" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<net.osmand.plus.widgets.TextViewEx
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:letterSpacing="@dimen/description_letter_spacing"
android:paddingLeft="@dimen/content_padding"
android:paddingTop="@dimen/content_padding_half"
android:paddingRight="@dimen/content_padding"
android:paddingBottom="14dp"
android:text="@string/select_color"
android:textColor="?android:textColorSecondary"
android:textSize="@dimen/default_desc_text_size"
osmand:typeface="@string/font_roboto_medium" />
<net.osmand.plus.widgets.TextViewEx
android:id="@+id/color_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="end"
android:letterSpacing="@dimen/description_letter_spacing"
android:paddingLeft="@dimen/content_padding"
android:paddingTop="@dimen/content_padding_half"
android:paddingRight="@dimen/content_padding"
android:paddingBottom="14dp"
android:text="@string/select_color"
android:textColor="?android:textColorSecondary"
android:textSize="@dimen/default_desc_text_size"
osmand:typeface="@string/font_roboto_medium" />
</LinearLayout>
<net.osmand.plus.widgets.FlowLayout
android:id="@+id/select_color"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:layout_marginLeft="12dp"
android:layout_marginTop="6dp" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginTop="@dimen/content_padding_half"
android:layout_marginBottom="@dimen/content_padding_half"
android:background="?attr/dashboard_divider" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<net.osmand.plus.widgets.TextViewEx
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:letterSpacing="@dimen/description_letter_spacing"
android:paddingLeft="@dimen/content_padding"
android:paddingTop="@dimen/content_padding_half"
android:paddingRight="@dimen/content_padding"
android:paddingBottom="14dp"
android:text="@string/select_shape"
android:textColor="?android:textColorSecondary"
android:textSize="@dimen/default_desc_text_size"
osmand:typeface="@string/font_roboto_medium" />
<net.osmand.plus.widgets.TextViewEx
android:id="@+id/shape_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="end"
android:letterSpacing="@dimen/description_letter_spacing"
android:paddingLeft="@dimen/content_padding"
android:paddingTop="@dimen/content_padding_half"
android:paddingRight="@dimen/content_padding"
android:paddingBottom="14dp"
android:text="@string/select_shape"
android:textColor="?android:textColorSecondary"
android:textSize="@dimen/default_desc_text_size"
osmand:typeface="@string/font_roboto_medium" />
</LinearLayout>
<net.osmand.plus.widgets.FlowLayout
android:id="@+id/select_shape"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="start"
android:layout_marginStart="12dp"
android:layout_marginLeft="12dp"
android:layout_marginTop="6dp" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginTop="@dimen/content_padding_half"
android:background="?attr/dashboard_divider" />
<LinearLayout
android:id="@+id/button_replace_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="horizontal">
<ImageView
android:id="@+id/replace_action_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/update_existing"
android:paddingStart="@dimen/content_padding"
android:paddingLeft="@dimen/content_padding"
android:paddingTop="21dp"
android:paddingEnd="32dp"
android:paddingRight="32dp"
android:paddingBottom="21dp"
tools:src="@drawable/ic_action_replace" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="11dp"
android:orientation="vertical">
<TextView
android:id="@+id/replace_action_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="@string/update_existing"
android:textAppearance="@style/TextAppearance.ListItemCategoryTitle"
tools:text="@string/update_existing" />
<TextView
android:id="@+id/replace_action_description"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:lines="1"
android:text="@string/update_existing"
android:textAppearance="@style/TextAppearance.ContextMenuSubtitle"
tools:text="@string/update_existing" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/button_delete_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center_vertical"
android:orientation="horizontal">
<ImageView
android:id="@+id/delete_action_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/delete_point"
android:paddingStart="@dimen/content_padding"
android:paddingLeft="@dimen/content_padding"
android:paddingTop="12dp"
android:paddingEnd="32dp"
android:paddingRight="32dp"
android:paddingBottom="12dp"
android:src="@drawable/ic_action_delete_dark" />
<TextView
android:id="@+id/delete_action_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="@string/shared_string_delete"
android:textAppearance="@style/TextAppearance.ListItemCategoryTitle"
tools:text="@string/shared_string_delete" />
</LinearLayout>
</LinearLayout>
</ScrollView>
<LinearLayout
android:id="@+id/buttons_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<View
android:id="@+id/buttons_top_border"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="?attr/divider_color" />
<include
layout="@layout/bottom_buttons"
android:layout_width="match_parent"
android:layout_height="@dimen/dialog_button_ex_height" />
</LinearLayout>
</LinearLayout>
</FrameLayout>

View file

@ -0,0 +1,52 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="142dp"
android:layout_height="76dp"
android:layout_marginLeft="@dimen/content_padding_half"
android:layout_marginStart="@dimen/content_padding_half">
<ImageView
android:id="@+id/outlineRect"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:srcCompat="@drawable/bg_select_group_button_outline" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/groupIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="6dp"
android:paddingRight="6dp"
android:paddingStart="6dp"
android:paddingEnd="6dp"
android:paddingTop="6dp"
android:src="@drawable/ic_action_folder"
tools:src="@drawable/ic_action_folder" />
<TextView
android:id="@+id/counter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:paddingTop="6dp"
tools:text="255" />
</LinearLayout>
<TextView
android:id="@+id/groupName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="@dimen/content_padding_half"
android:paddingStart="@dimen/content_padding_half"
android:paddingRight="@dimen/content_padding_half"
android:paddingEnd="@dimen/content_padding_half"
android:paddingTop="33dp"
tools:text="@string/favorite" />
</FrameLayout>

View file

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/buttons_container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:gravity="center"
android:orientation="horizontal"
android:layout_marginRight="@dimen/content_padding_half"
android:layout_marginEnd="@dimen/content_padding_half">
<include
android:id="@+id/button"
layout="@layout/bottom_sheet_dialog_button" />
</LinearLayout>

View file

@ -6,13 +6,13 @@
android:padding="7dp"> android:padding="7dp">
<ImageView <ImageView
android:id="@+id/outlineCircle" android:id="@+id/outline"
android:layout_width="56dp" android:layout_width="56dp"
android:layout_height="56dp" android:layout_height="56dp"
app:srcCompat="@drawable/circle_contour_bg_light" /> app:srcCompat="@drawable/circle_contour_bg_light" />
<ImageView <ImageView
android:id="@+id/backgroundCircle" android:id="@+id/background"
android:layout_width="48dp" android:layout_width="48dp"
android:layout_height="48dp" android:layout_height="48dp"
android:layout_margin="4dp" android:layout_margin="4dp"

View file

@ -3540,4 +3540,32 @@
<string name="items_added">العناصر المضافة</string> <string name="items_added">العناصر المضافة</string>
<string name="shared_string_import_complete">اكتمل الاستيراد</string> <string name="shared_string_import_complete">اكتمل الاستيراد</string>
<string name="import_complete_description">يتم استيراد جميع البيانات من %1$s، يمكنك استخدام الأزرار أدناه لفتح الجزء المطلوب من التطبيق لإدارته.</string> <string name="import_complete_description">يتم استيراد جميع البيانات من %1$s، يمكنك استخدام الأزرار أدناه لفتح الجزء المطلوب من التطبيق لإدارته.</string>
<string name="recalculate_route_distance_promo">سيتم إعادة حساب المسار إذا كانت المسافة من المسار إلى الموقع الحالي أكثر من القيمة المحددة.</string>
<string name="select_distance_route_will_recalc">حدد المسافة التي سيتم بعدها إعادة حساب المسار.</string>
<string name="recalculate_route_in_deviation">إعادة حساب المسار في حالة الانحراف</string>
<string name="shared_string_square">مربع</string>
<string name="shared_string_rhomb">معين</string>
<string name="shared_string_circle">دائرة</string>
<string name="select_shape">تحديد الشكل</string>
<string name="select_group">تحديد المجموعة</string>
<string name="add_description">إضافة وصف</string>
<string name="delete_description">حذف الوصف</string>
<string name="quick_action_terrain_descr">زر لإظهار طبقة التضاريس أو إخفائها على الخريطة.</string>
<string name="quick_action_terrain_show">إظهار التضاريس</string>
<string name="quick_action_terrain_hide">إخفاء التضاريس</string>
<string name="quick_action_show_hide_terrain">إظهار/إخفاء التضاريس</string>
<string name="download_slope_maps">المنحدرات</string>
<string name="shared_string_hillshade">التضاريس</string>
<string name="terrain_empty_state_text">تمكين لعرض المنحدرات أو خريطة التضاريس. يمكنك قراءة المزيد عن أنواع الخرائط هذه على موقعنا</string>
<string name="shared_string_legend">عنوان تفسيري</string>
<string name="shared_string_zoom_levels">مستويات التكبير</string>
<string name="shared_string_transparency">الشفافية</string>
<string name="slope_read_more">يمكنك قراءة المزيد عن المنحدرات في %1$s.</string>
<string name="slope_download_description">تحتاج لخرائط إضافية لعرض المنحدرات على الخريطة.</string>
<string name="hillshade_download_description">تحتاج إلى خرائط إضافية لعرض التضاريس على الخريطة.</string>
<string name="terrain_slider_description">تعيين مستويات التكبير/التصغير الدنيا والقصوى التي سيتم عرض الطبقة بها.</string>
<string name="slope_description">المنحدر الملون ملائم للتضاريس.</string>
<string name="hillshade_description">خريطة التضاريس تستخدم ظلال داكنة لإظهار المنحدرات والقمم والأراضي المنخفضة.</string>
<string name="shared_string_terrain">التضاريس</string>
<string name="n_items_of_z">%1$s من %2$s</string>
</resources> </resources>

View file

@ -1337,9 +1337,9 @@
<string name="home_button">Начало</string> <string name="home_button">Начало</string>
<string name="coordinates">Координати</string> <string name="coordinates">Координати</string>
<string name="anonymous_user_hint">Анонимен потребител не може да: <string name="anonymous_user_hint">Анонимен потребител не може да:
\n- създава групи; \n- Създава групи;
\n- синхронизира групи и устройства със сървъра; \n- Синхронизира групи и устройства със сървъра;
\n- управлява групи и устройства в частен режим.</string> \n- Управлява групи и устройства в частен режим.</string>
<string name="anonymous_user">Анонимен потребител</string> <string name="anonymous_user">Анонимен потребител</string>
<string name="logged_as">Влезли сте като %1$s</string> <string name="logged_as">Влезли сте като %1$s</string>
<string name="print_route">Печат на маршрут</string> <string name="print_route">Печат на маршрут</string>
@ -1397,7 +1397,7 @@
<string name="shared_string_import2osmand">Импортиране към OsmAnd</string> <string name="shared_string_import2osmand">Импортиране към OsmAnd</string>
<string name="read_full_article">Прочетете пълната статия (онлайн)</string> <string name="read_full_article">Прочетете пълната статия (онлайн)</string>
<string name="local_recordings_delete_all_confirm">Сигурни ли сте, че искате да изтриете %1$d бележки\?</string> <string name="local_recordings_delete_all_confirm">Сигурни ли сте, че искате да изтриете %1$d бележки\?</string>
<string name="archive_wikipedia_data">"Имате стари, несъвместими данни от Уикипедия. Искате ли да ги архивирате\?"</string> <string name="archive_wikipedia_data">Имате стари, несъвместими данни от Уикипедия. Искате ли да ги архивирате\?</string>
<string name="download_wikipedia_files">Изтегляне на допълнителни данни от Уикипедия (%1$s МБ)\?</string> <string name="download_wikipedia_files">Изтегляне на допълнителни данни от Уикипедия (%1$s МБ)\?</string>
<string name="shared_string_release">Издаден</string> <string name="shared_string_release">Издаден</string>
<string name="keep_informing">Повтаряне на напътствията</string> <string name="keep_informing">Повтаряне на напътствията</string>
@ -1972,7 +1972,7 @@
<string name="live_monitoring_tracking_interval">Интервал на следене</string> <string name="live_monitoring_tracking_interval">Интервал на следене</string>
<string name="live_monitoring_adress">Уеб адрес</string> <string name="live_monitoring_adress">Уеб адрес</string>
<string name="rearrange_categories">Подредба на категориите</string> <string name="rearrange_categories">Подредба на категориите</string>
<string name="create_custom_categories_list_promo">Може да добавите собстевни категории, да скриете категории, които не са ви нужни и променяте подредбата на списъкът. Списъкът може да се импортва и експортва чрез профилите.</string> <string name="create_custom_categories_list_promo">Може да променяте подредбата на списъкът, да скриете ненужните категории. Може да импортирате или експортирате промените чрез профилите.</string>
<string name="add_new_custom_category_button_promo">Може да добавяте нови собствени категории, избирайки една или няколко от категориите.</string> <string name="add_new_custom_category_button_promo">Може да добавяте нови собствени категории, избирайки една или няколко от категориите.</string>
<string name="reset_to_default_category_button_promo">Връщане към стойностите по подразбиране, ще върне реда на сортиране към състоянието при инсталация.</string> <string name="reset_to_default_category_button_promo">Връщане към стойностите по подразбиране, ще върне реда на сортиране към състоянието при инсталация.</string>
<string name="shared_string_available">Налично</string> <string name="shared_string_available">Налично</string>

View file

@ -602,7 +602,7 @@
<string name="arrived_at_destination">Heu arribat a la vostra destinació</string> <string name="arrived_at_destination">Heu arribat a la vostra destinació</string>
<string name="invalid_locations">Coordenades no vàlides</string> <string name="invalid_locations">Coordenades no vàlides</string>
<string name="saving_gpx_tracks">S\'estan desant el fitxer GPX…</string> <string name="saving_gpx_tracks">S\'estan desant el fitxer GPX…</string>
<string name="osm_settings">Edició d\'OSM</string> <string name="osm_settings">Edició d\'OpenStreetMap</string>
<string name="save_track_interval">Interval d\'enregistrament durant la navegació</string> <string name="save_track_interval">Interval d\'enregistrament durant la navegació</string>
<string name="additional_settings">Preferències addicionals</string> <string name="additional_settings">Preferències addicionals</string>
<string name="data_settings_descr">Especifiqueu l\'idioma, baixada/recàrrega de dades.</string> <string name="data_settings_descr">Especifiqueu l\'idioma, baixada/recàrrega de dades.</string>
@ -971,7 +971,7 @@
<string name="prefer_in_routing_descr">Preferència per autopistes.</string> <string name="prefer_in_routing_descr">Preferència per autopistes.</string>
<string name="max_speed_none">cap</string> <string name="max_speed_none">cap</string>
<string name="local_indexes_cat_srtm">Corbes de nivell</string> <string name="local_indexes_cat_srtm">Corbes de nivell</string>
<string name="monitoring_settings_descr">Configureu com enregistrar els vostres recorreguts.</string> <string name="monitoring_settings_descr">Configureu com enregistrar les vostres traces.</string>
<string name="av_use_external_camera_descr">Usa l\'aplicació del sistema per a les fotos.</string> <string name="av_use_external_camera_descr">Usa l\'aplicació del sistema per a les fotos.</string>
<string name="av_use_external_camera">Usa l\\\'aplicació de la càmera</string> <string name="av_use_external_camera">Usa l\\\'aplicació de la càmera</string>
<string name="osmand_play_title_30_chars">Mapes i navegació OsmAnd</string> <string name="osmand_play_title_30_chars">Mapes i navegació OsmAnd</string>
@ -991,7 +991,7 @@
<string name="av_def_action_choose">Selecciona sota demanda</string> <string name="av_def_action_choose">Selecciona sota demanda</string>
<string name="background_service_provider">Proveïdor de la ubicació</string> <string name="background_service_provider">Proveïdor de la ubicació</string>
<string name="converting_names">S\'estan convertint els noms nadius/anglesos …</string> <string name="converting_names">S\'estan convertint els noms nadius/anglesos …</string>
<string name="save_track_interval_descr">Trieu l\'interval d\'enregistrament de traces a desar durant la navegació.</string> <string name="save_track_interval_descr">Indiqueu l\'interval d\'enregistrament de traces a desar durant la navegació</string>
<string name="incremental_search_street">Cerca de carrers progressiva</string> <string name="incremental_search_street">Cerca de carrers progressiva</string>
<string name="incremental_search_building">Cerca progressiva d\'edificis</string> <string name="incremental_search_building">Cerca progressiva d\'edificis</string>
<string name="Closest_Amenities">Instal·lacions més properes</string> <string name="Closest_Amenities">Instal·lacions més properes</string>
@ -1298,7 +1298,7 @@
<string name="rendering_value_browse_map_name">Mapa esquemàtic</string> <string name="rendering_value_browse_map_name">Mapa esquemàtic</string>
<string name="rendering_value_car_name">Cotxe</string> <string name="rendering_value_car_name">Cotxe</string>
<string name="rendering_value_bicycle_name">Bicicleta</string> <string name="rendering_value_bicycle_name">Bicicleta</string>
<string name="rendering_value_pedestrian_name">Vianant</string> <string name="rendering_value_pedestrian_name">A peu</string>
<string name="shared_string_more">Més…</string> <string name="shared_string_more">Més…</string>
<string name="download_additional_maps">Voleu baixar els mapes que us manquen %1$s (%2$d MB)?</string> <string name="download_additional_maps">Voleu baixar els mapes que us manquen %1$s (%2$d MB)?</string>
<string name="shared_string_waypoints">Fites</string> <string name="shared_string_waypoints">Fites</string>
@ -1316,10 +1316,10 @@
<string name="distance">Distància</string> <string name="distance">Distància</string>
<string name="rendering_attr_publicTransportMode_name">Rutes de bus, troleibús i tramvia</string> <string name="rendering_attr_publicTransportMode_name">Rutes de bus, troleibús i tramvia</string>
<string name="save_track_to_gpx_globally">Desa la traça en un fitxer GPX</string> <string name="save_track_to_gpx_globally">Desa la traça en un fitxer GPX</string>
<string name="save_track_to_gpx_globally_descr">L\'enregistrament de la posició en un fitxer GPX es pot activar o desactivar amb el giny associat a la pantalla del mapa.</string> <string name="save_track_to_gpx_globally_descr">L\'enregistrament de la posició en un fitxer GPX es pot activar o desactivar amb el giny d\'enregistrament GPX al mapa.</string>
<string name="save_track_interval_globally">Interval d\'enregistrament</string> <string name="save_track_interval_globally">Interval d\'enregistrament</string>
<string name="confirm_every_run">Es demana confirmació</string> <string name="confirm_every_run">Es demana confirmació</string>
<string name="save_global_track_interval_descr">Trieu l\'interval d\'enregistrament general de les traces (s\'activa mitjançant el giny de gravació de GPX del mapa).</string> <string name="save_global_track_interval_descr">Indiqueu l\'interval d\'enregistrament general de les traces (s\'activa mitjançant el giny de gravació de GPX del mapa).</string>
<string name="save_global_track_interval">Interval d\'enregistrament general</string> <string name="save_global_track_interval">Interval d\'enregistrament general</string>
<string name="traffic_warning_speed_limit">Velocitat màxima</string> <string name="traffic_warning_speed_limit">Velocitat màxima</string>
<string name="traffic_warning_border_control">Control de fronteres</string> <string name="traffic_warning_border_control">Control de fronteres</string>
@ -1411,9 +1411,9 @@
<string name="enable_proxy_title">Activa el servidor intermediari HTTP</string> <string name="enable_proxy_title">Activa el servidor intermediari HTTP</string>
<string name="enable_proxy_descr">Configureu un servidor intermediari HTTP per totes les peticions de xarxa.</string> <string name="enable_proxy_descr">Configureu un servidor intermediari HTTP per totes les peticions de xarxa.</string>
<string name="proxy_host_title">Amfitrió del servidor intermediari</string> <string name="proxy_host_title">Amfitrió del servidor intermediari</string>
<string name="proxy_host_descr">Configureu el nom d\'amfitrió del vostre servidor intermediari (p.e. 127.0.0.1).</string> <string name="proxy_host_descr">Indiqueu l\'adreça del vostre servidor intermediari (p.e. 127.0.0.1).</string>
<string name="proxy_port_title">Port del servidor intermediari</string> <string name="proxy_port_title">Port del servidor intermediari</string>
<string name="proxy_port_descr">Configureu el número de port del vostre servidor intermediari (p.e. 8118).</string> <string name="proxy_port_descr">Indiqueu el port del vostre servidor intermediari (p.e. 8118).</string>
<string name="shared_string_gpx_points">Punts</string> <string name="shared_string_gpx_points">Punts</string>
<string name="shared_string_my_location">La meva posició</string> <string name="shared_string_my_location">La meva posició</string>
<string name="version_settings_descr">Baixa les versions inestables diàries.</string> <string name="version_settings_descr">Baixa les versions inestables diàries.</string>
@ -1439,7 +1439,7 @@
<string name="shared_string_audio">Àudio</string> <string name="shared_string_audio">Àudio</string>
<string name="share_note">Comparteix la nota</string> <string name="share_note">Comparteix la nota</string>
<string name="watch">Visualitza</string> <string name="watch">Visualitza</string>
<string name="notes">Notes</string> <string name="notes">Notes d\'àudio/vídeo</string>
<string name="online_map">Mapa en línia</string> <string name="online_map">Mapa en línia</string>
<string name="roads_only">Només carreteres</string> <string name="roads_only">Només carreteres</string>
<string name="days_behind">dies desfasat</string> <string name="days_behind">dies desfasat</string>
@ -1561,7 +1561,7 @@ Per retornar a l\'estil habitual dels mapes d\'OsmAnd, només cal desactivar aqu
<string name="shared_string_import2osmand">Importa a l\'OsmAnd</string> <string name="shared_string_import2osmand">Importa a l\'OsmAnd</string>
<string name="local_recordings_delete_all_confirm">Esteu segur que voleu esborrar %1$d notes\?</string> <string name="local_recordings_delete_all_confirm">Esteu segur que voleu esborrar %1$d notes\?</string>
<string name="archive_wikipedia_data">Teniu dades de Viquipèdia antigues i incompatibles. Les voleu desar?</string> <string name="archive_wikipedia_data">Teniu dades de Viquipèdia antigues i incompatibles. Les voleu desar?</string>
<string name="download_wikipedia_files">Voleu baixar dades addicionals de la Viquipèdia (%1$s MB) ?</string> <string name="download_wikipedia_files">Voleu baixar dades addicionals de la Viquipèdia (%1$s MB)\?</string>
<string name="lang_vo">Volapük</string> <string name="lang_vo">Volapük</string>
<string name="lang_th">Tailandès</string> <string name="lang_th">Tailandès</string>
<string name="lang_te">Telugu</string> <string name="lang_te">Telugu</string>
@ -1611,7 +1611,7 @@ Per retornar a l\'estil habitual dels mapes d\'OsmAnd, només cal desactivar aqu
<string name="rendering_value_translucent_blue_name">Blau translúcid</string> <string name="rendering_value_translucent_blue_name">Blau translúcid</string>
<string name="rendering_value_purple_name">Porpra</string> <string name="rendering_value_purple_name">Porpra</string>
<string name="rendering_value_translucent_purple_name">Porpra translúcid</string> <string name="rendering_value_translucent_purple_name">Porpra translúcid</string>
<string name="restart_is_required">Reinicieu manualment l\'aplicació per aplicar tots els canvis.</string> <string name="restart_is_required">Cal reiniciar per aplicar la modificació.</string>
<string name="rendering_value_default13_name">Per defecte (13)</string> <string name="rendering_value_default13_name">Per defecte (13)</string>
<string name="rendering_value_defaultTranslucentCyan_name">Per defecte (cian translúcid)</string> <string name="rendering_value_defaultTranslucentCyan_name">Per defecte (cian translúcid)</string>
<string name="do_you_like_osmand">Us agrada OsmAnd?</string> <string name="do_you_like_osmand">Us agrada OsmAnd?</string>
@ -2302,8 +2302,8 @@ Abasta l\'àrea: %1$s x %2$s</string>
<string name="nautical_maps">Cartes nàutiques</string> <string name="nautical_maps">Cartes nàutiques</string>
<string name="quick_action_auto_zoom">Escala automàtica del mapa activa/desactiva</string> <string name="quick_action_auto_zoom">Escala automàtica del mapa activa/desactiva</string>
<string name="quick_action_auto_zoom_desc">Prement aquest botó d\'acció commuteu l\'escala automàtica del mapa segons la vostra velocitat.</string> <string name="quick_action_auto_zoom_desc">Prement aquest botó d\'acció commuteu l\'escala automàtica del mapa segons la vostra velocitat.</string>
<string name="quick_action_auto_zoom_on">Activa l\'escala automàtica del mapa</string> <string name="quick_action_auto_zoom_on">Activa l\'escala automàtica</string>
<string name="quick_action_auto_zoom_off">Desactiva l\'escala automàtica del mapa</string> <string name="quick_action_auto_zoom_off">Desactiva l\'escala automàtica</string>
<string name="quick_action_add_destination">Establiu destinació</string> <string name="quick_action_add_destination">Establiu destinació</string>
<string name="quick_action_replace_destination">Substitueix destinació</string> <string name="quick_action_replace_destination">Substitueix destinació</string>
<string name="quick_action_add_first_intermediate">Afegeix primer intermedi</string> <string name="quick_action_add_first_intermediate">Afegeix primer intermedi</string>
@ -2375,7 +2375,7 @@ Abasta l\'àrea: %1$s x %2$s</string>
\nOsmAnd és un programari de codi obert que es desenvolupa activament. Tothom pot recolzar l\'aplicació informant d\'errors, millorant traduccions o programant noves característiques. El projecte també es fonamenta en les aportacions econòmiques per patrocinar la programació i validació de noves funcionalitats. \nOsmAnd és un programari de codi obert que es desenvolupa activament. Tothom pot recolzar l\'aplicació informant d\'errors, millorant traduccions o programant noves característiques. El projecte també es fonamenta en les aportacions econòmiques per patrocinar la programació i validació de noves funcionalitats.
\n"</string> \n"</string>
<string name="shared_string_overview">Visió general</string> <string name="shared_string_overview">Visió general</string>
<string name="animate_my_location">Situa la meva posició amb una animació</string> <string name="animate_my_location">Anima la pròpia posició</string>
<string name="animate_my_location_desc">Activa el desplaçament animat del mapa de \'La meva posició\' durant la navegació.</string> <string name="animate_my_location_desc">Activa el desplaçament animat del mapa de \'La meva posició\' durant la navegació.</string>
<string name="favorite_group_name">Nom del grup</string> <string name="favorite_group_name">Nom del grup</string>
<string name="change_color">Canvia el color</string> <string name="change_color">Canvia el color</string>
@ -2390,7 +2390,7 @@ Abasta l\'àrea: %1$s x %2$s</string>
<string name="hillshade_menu_download_descr">Baixeu el mapa \'Ombrejat de relleu\' per veure ombrejat segons alçada.</string> <string name="hillshade_menu_download_descr">Baixeu el mapa \'Ombrejat de relleu\' per veure ombrejat segons alçada.</string>
<string name="hillshade_purchase_header">Per veure ombrejat de relleu en el mapa us cal comprar i Instal·lar el connector \'Corbes de nivell\'</string> <string name="hillshade_purchase_header">Per veure ombrejat de relleu en el mapa us cal comprar i Instal·lar el connector \'Corbes de nivell\'</string>
<string name="shared_string_plugin">Connector</string> <string name="shared_string_plugin">Connector</string>
<string name="srtm_purchase_header">Per veure les corbes de nivell cal que compreu i instal·leu el connector \'Corbes de nivell\'</string> <string name="srtm_purchase_header">Compreu i instal·leu el connector \'Corbes de nivell\' per visualitzar una gradació vertical d\'àrees.</string>
<string name="srtm_menu_download_descr">Baixeu el mapa \'Corbes de nivell\' per utilitzar-les en aquesta zona.</string> <string name="srtm_menu_download_descr">Baixeu el mapa \'Corbes de nivell\' per utilitzar-les en aquesta zona.</string>
<string name="hide_from_zoom_level">Amaga segons el nivell d\'escala</string> <string name="hide_from_zoom_level">Amaga segons el nivell d\'escala</string>
<string name="quick_action_showhide_osmbugs_title">Mostra o amaga notes OSM</string> <string name="quick_action_showhide_osmbugs_title">Mostra o amaga notes OSM</string>
@ -3443,7 +3443,7 @@ Abasta l\'àrea: %1$s x %2$s</string>
<string name="select_map_icon_descr">La icona es mostra en repòs.</string> <string name="select_map_icon_descr">La icona es mostra en repòs.</string>
<string name="logcat_buffer_descr">Valida i comparteix enregistraments detallats de l\'aplicació</string> <string name="logcat_buffer_descr">Valida i comparteix enregistraments detallats de l\'aplicació</string>
<string name="rearrange_categories">Reorganitza les categories</string> <string name="rearrange_categories">Reorganitza les categories</string>
<string name="create_custom_categories_list_promo">Podeu afegir categories personalitzades, amagar categories que considereu innecessàries i canviar l\'ordenació de la llista. La llista es pot importar i exportar amb perfils.</string> <string name="create_custom_categories_list_promo">Canvia el criteri d\'ordenació de la llista, amaga categories innecessàries. Podeu importar i exportar tots els canvis amb els perfils.</string>
<string name="add_new_custom_category_button_promo">Podeu afegir una nova categoria personalitzada seleccionant-ne una o, si cal, alguna categoria més.</string> <string name="add_new_custom_category_button_promo">Podeu afegir una nova categoria personalitzada seleccionant-ne una o, si cal, alguna categoria més.</string>
<string name="shared_string_available">Disponible</string> <string name="shared_string_available">Disponible</string>
<string name="add_custom_category">Afegeix una categoria personalitzada</string> <string name="add_custom_category">Afegeix una categoria personalitzada</string>
@ -3548,4 +3548,27 @@ Abasta l\'àrea: %1$s x %2$s</string>
<string name="items_added">Elements afegits</string> <string name="items_added">Elements afegits</string>
<string name="shared_string_import_complete">Importació completada</string> <string name="shared_string_import_complete">Importació completada</string>
<string name="import_complete_description">S\'han importat totes les dades de %1$s , podeu utilitzar els botons de sota per gestionar l\'aplicació obrint la part que calgui.</string> <string name="import_complete_description">S\'han importat totes les dades de %1$s , podeu utilitzar els botons de sota per gestionar l\'aplicació obrint la part que calgui.</string>
<string name="recalculate_route_distance_promo">Es tornarà a calcular una nova ruta si la distància de la posició actual respecte la ruta vigent supera el valor seleccionat.</string>
<string name="select_distance_route_will_recalc">Seleccioneu la desviació per sobre de la qual es tornarà a calcular la ruta.</string>
<string name="recalculate_route_in_deviation">Recalcula la ruta cas de desviament</string>
<string name="shared_string_square">Quadrat</string>
<string name="shared_string_rhomb">Rombe</string>
<string name="shared_string_circle">Cercle</string>
<string name="select_shape">Seleccioneu forma</string>
<string name="select_group">Seleccioneu grup</string>
<string name="add_description">Afegiu una descripció</string>
<string name="delete_description">Suprimeix la descripció</string>
<string name="quick_action_terrain_descr">Un botó per mostrar o amagar la capa de terreny al mapa.</string>
<string name="quick_action_terrain_show">Mostra el terreny</string>
<string name="quick_action_terrain_hide">Amaga el terreny</string>
<string name="quick_action_show_hide_terrain">Mostra/amaga el terreny</string>
<string name="shared_string_hillshade">Ombrejat del relleu</string>
<string name="shared_string_legend">Llegenda</string>
<string name="shared_string_zoom_levels">Nivells de zoom</string>
<string name="shared_string_transparency">Transparència</string>
<string name="hillshade_download_description">Es necessiten mapes addicionals per veure l\'ombrejat de relleu al mapa.</string>
<string name="n_items_of_z">%1$s de %2$s</string>
<string name="monitoring_min_accuracy_descr_recommendation">Recomanació: no és fàcil preveure què s\'enregistrarà i què no; podria ser millor desactivar aquest filtre.</string>
<string name="terrain_slider_description">Definiu els nivells de zoom mínim i màxim entre els quals es visualitzarà la capa.</string>
<string name="shared_string_terrain">Terreny</string>
</resources> </resources>

View file

@ -2004,7 +2004,7 @@
<string name="poi_shop_additional_yes">mit Geschäften</string> <string name="poi_shop_additional_yes">mit Geschäften</string>
<string name="poi_service_bicycle_retail_yes">Einzelhandel</string> <string name="poi_service_bicycle_retail_yes">Einzelhandel</string>
<string name="poi_service_bicycle_retail_no">Fahrradeinzelhandel: nein</string> <string name="poi_service_bicycle_retail_no">Fahrradeinzelhandel: nein</string>
<string name="poi_service_bicycle_repair_yes">Verkauf</string> <string name="poi_service_bicycle_repair_yes">Reparatur</string>
<string name="poi_service_bicycle_repair_no">Fahrradreparatur: nein</string> <string name="poi_service_bicycle_repair_no">Fahrradreparatur: nein</string>
<string name="poi_service_bicycle_rental_yes">Verleih</string> <string name="poi_service_bicycle_rental_yes">Verleih</string>
<string name="poi_service_bicycle_rental_no">Fahrradverleih: nein</string> <string name="poi_service_bicycle_rental_no">Fahrradverleih: nein</string>
@ -3672,9 +3672,9 @@
<string name="poi_caravan_no">Zufahrt Wohnwagen: nein</string> <string name="poi_caravan_no">Zufahrt Wohnwagen: nein</string>
<string name="poi_motorhome_no">Zufahrt Wohnmobil: nein</string> <string name="poi_motorhome_no">Zufahrt Wohnmobil: nein</string>
<string name="poi_bus_no">Anbindung Linienbus: nein</string> <string name="poi_bus_no">Anbindung Linienbus: nein</string>
<string name="poi_tourist_bus_yes">Reisebuszufahrt: ja</string> <string name="poi_tourist_bus_yes">Zufahrt Reisebus: ja</string>
<string name="poi_tourist_bus_designated">Reisebuszufahrt: ausgewiesen</string> <string name="poi_tourist_bus_designated">Zufahrt Reisebus: ausgewiesen</string>
<string name="poi_tourist_bus_no">Reisebuszufahrt: nein</string> <string name="poi_tourist_bus_no">Zufahrt Reisebus: nein</string>
<string name="poi_ski_yes">Zufahrt Ski: ja</string> <string name="poi_ski_yes">Zufahrt Ski: ja</string>
<string name="poi_ski_no">Zufahrt Ski: nein</string> <string name="poi_ski_no">Zufahrt Ski: nein</string>
<string name="poi_snowmobile_private">Zufahrt Schneemobil: privat</string> <string name="poi_snowmobile_private">Zufahrt Schneemobil: privat</string>
@ -3683,8 +3683,8 @@
<string name="poi_psv_yes">Zufahrt öffentliche Verkehrsmittel: ja</string> <string name="poi_psv_yes">Zufahrt öffentliche Verkehrsmittel: ja</string>
<string name="poi_psv_designated">Zufahrt öffentliche Verkehrsmittel: ausgewiesen</string> <string name="poi_psv_designated">Zufahrt öffentliche Verkehrsmittel: ausgewiesen</string>
<string name="poi_psv_no">Zufahrt öffentliche Verkehrsmittel: nein</string> <string name="poi_psv_no">Zufahrt öffentliche Verkehrsmittel: nein</string>
<string name="poi_coach_yes">Zufahrt Bus: ja</string> <string name="poi_coach_yes">Zufahrt Fernbus: ja</string>
<string name="poi_coach_no">Zufahrt Bus: nein</string> <string name="poi_coach_no">Zufahrt Fernbus: nein</string>
<string name="poi_snowmobile_no">Zufahrt Schneemobil: nein</string> <string name="poi_snowmobile_no">Zufahrt Schneemobil: nein</string>
<string name="poi_agricultural_yes">Zufahrt landwirtschaftliche Fahrzeuge: ja</string> <string name="poi_agricultural_yes">Zufahrt landwirtschaftliche Fahrzeuge: ja</string>
<string name="poi_agricultural_no">Zufahrt landwirtschaftliche Fahrzeuge: nein</string> <string name="poi_agricultural_no">Zufahrt landwirtschaftliche Fahrzeuge: nein</string>
@ -3736,7 +3736,7 @@
<string name="poi_cash_withdrawal">Bargeldbezug</string> <string name="poi_cash_withdrawal">Bargeldbezug</string>
<string name="poi_cash_withdrawal_operator">Betreiber der Bargeldauszahlungen</string> <string name="poi_cash_withdrawal_operator">Betreiber der Bargeldauszahlungen</string>
<string name="poi_cash_withdrawal_type_checkout">Bargeldbezugsart: Kasse</string> <string name="poi_cash_withdrawal_type_checkout">Bargeldbezugsart: Kasse</string>
<string name="poi_cash_withdrawal_type_self_checkout">Bargeldbezugsart: Selbstzahlerkasse</string> <string name="poi_cash_withdrawal_type_self_checkout">Bargeldbezugsart: Selbstbedienungskasse</string>
<string name="poi_cash_withdrawal_limit">Bargeldbezugslimit</string> <string name="poi_cash_withdrawal_limit">Bargeldbezugslimit</string>
<string name="poi_cash_withdrawal_currency">Bargeldbezugswährung</string> <string name="poi_cash_withdrawal_currency">Bargeldbezugswährung</string>
<string name="poi_cash_withdrawal_purchase_required_yes">Bargeldbezug: Kauf erforderlich</string> <string name="poi_cash_withdrawal_purchase_required_yes">Bargeldbezug: Kauf erforderlich</string>
@ -3804,8 +3804,8 @@
<string name="poi_traffic_signals_sound_locate">Nur wenn Gehen erlaubt ist</string> <string name="poi_traffic_signals_sound_locate">Nur wenn Gehen erlaubt ist</string>
<string name="poi_tactile_paving_contrasted">Kontrastiert</string> <string name="poi_tactile_paving_contrasted">Kontrastiert</string>
<string name="poi_tactile_paving_incorrect">Falsch</string> <string name="poi_tactile_paving_incorrect">Falsch</string>
<string name="poi_covered_booth">Stand</string> <string name="poi_covered_booth">Unterstand</string>
<string name="poi_booth">Standtyp</string> <string name="poi_booth">Unterstand Typ</string>
<string name="poi_tactile_paving_primitive">Primitiv</string> <string name="poi_tactile_paving_primitive">Primitiv</string>
<string name="poi_seamark_water_level_part_submerged">Wasserstand: teilweise überflutet</string> <string name="poi_seamark_water_level_part_submerged">Wasserstand: teilweise überflutet</string>
<string name="poi_seamark_water_level_submerged">Wasserstand: überflutet</string> <string name="poi_seamark_water_level_submerged">Wasserstand: überflutet</string>
@ -3820,5 +3820,5 @@
<string name="poi_drinking_water_refill_yes">Trinkwassernachfüllung: ja</string> <string name="poi_drinking_water_refill_yes">Trinkwassernachfüllung: ja</string>
<string name="poi_drinking_water_refill_no">Trinkwassernachfüllung: nein</string> <string name="poi_drinking_water_refill_no">Trinkwassernachfüllung: nein</string>
<string name="poi_drinking_water_refill_network">Trinkwassernachfüllnetz</string> <string name="poi_drinking_water_refill_network">Trinkwassernachfüllnetz</string>
<string name="poi_internet_access_fee_customers">Internetzugang Gebühr für Kunden</string> <string name="poi_internet_access_fee_customers">Internetzugangsgebühr für Kunden</string>
</resources> </resources>

View file

@ -24,7 +24,7 @@
<string name="traffic_warning_payment">Mautstelle</string> <string name="traffic_warning_payment">Mautstelle</string>
<string name="traffic_warning_stop">Stoppzeichen</string> <string name="traffic_warning_stop">Stoppzeichen</string>
<string name="traffic_warning_calming">Verkehrsberuhigung</string> <string name="traffic_warning_calming">Verkehrsberuhigung</string>
<string name="traffic_warning_speed_camera">Geschwindigkeitskontrolle</string> <string name="traffic_warning_speed_camera">Blitzer</string>
<string name="traffic_warning">Verkehrswarnung</string> <string name="traffic_warning">Verkehrswarnung</string>
<string name="speak_favorites">Favoriten in der Nähe</string> <string name="speak_favorites">Favoriten in der Nähe</string>
<string name="speak_poi">Nahegelegene POI</string> <string name="speak_poi">Nahegelegene POI</string>
@ -95,7 +95,7 @@
<string name="rendering_attr_roadColors_description">Auswahl eines Straßen-Farbschemas:</string> <string name="rendering_attr_roadColors_description">Auswahl eines Straßen-Farbschemas:</string>
<string name="rendering_attr_roadColors_name">Straßenfarbschema</string> <string name="rendering_attr_roadColors_name">Straßenfarbschema</string>
<string name="show_warnings_title">Warnungen anzeigen…</string> <string name="show_warnings_title">Warnungen anzeigen…</string>
<string name="show_warnings_descr">Verkehrswarnungen (Tempolimits, Stoppzeichen, Rüttelschwellen, Tunnel), stationäre Radarkontrollen und Fahrspuranzeige konfigurieren.</string> <string name="show_warnings_descr">Verkehrswarnungen (Tempolimits, Stoppzeichen, Rüttelschwellen, Tunnel), Blitzerwarner und Fahrspuranzeige konfigurieren.</string>
<string name="use_compass_navigation_descr">Kompass verwenden, wenn keine andere Richtungsbestimmung möglich ist.</string> <string name="use_compass_navigation_descr">Kompass verwenden, wenn keine andere Richtungsbestimmung möglich ist.</string>
<string name="use_compass_navigation">Kompass verwenden</string> <string name="use_compass_navigation">Kompass verwenden</string>
<string name="avoid_motorway">Keine Autobahnen</string> <string name="avoid_motorway">Keine Autobahnen</string>
@ -118,7 +118,7 @@
\n- Offlinenavigation für mittlere Entfernungen \n- Offlinenavigation für mittlere Entfernungen
\n- Auto-, Fahrrad- und Fußgänger-Modus wahlweise mit: \n- Auto-, Fahrrad- und Fußgänger-Modus wahlweise mit:
\n - automatischer Tag-Nacht-Umschaltung der Anzeige \n - automatischer Tag-Nacht-Umschaltung der Anzeige
\n - geschwindigkeitsabhängigem Kartenmaßstab \n - geschwindigkeitsabhängiger Kartenmaßstab
\n - Kartenausrichtung nach Kompass oder Bewegungsrichtung \n - Kartenausrichtung nach Kompass oder Bewegungsrichtung
\n - Fahrspuranzeige, Geschwindigkeitswarnung, aufgenommenen oder TTS-Sprachansagen \n - Fahrspuranzeige, Geschwindigkeitswarnung, aufgenommenen oder TTS-Sprachansagen
\n \n
@ -1116,7 +1116,7 @@
<string name="av_camera_focus_edof">Erweiterte Schärfentiefe (EDOF)</string> <string name="av_camera_focus_edof">Erweiterte Schärfentiefe (EDOF)</string>
<string name="av_camera_focus_macro">Makrofokus-Modus (Nahaufnahme)</string> <string name="av_camera_focus_macro">Makrofokus-Modus (Nahaufnahme)</string>
<string name="speak_title">Ansagen…</string> <string name="speak_title">Ansagen…</string>
<string name="speak_descr">Ansagen zu Straßennamen, Verkehrswarnungen (Stoppzeichen, Rüttelschwellen), stationäre Radarkontrollen und Tempolimits konfigurieren.</string> <string name="speak_descr">Ansagen zu Straßennamen, Verkehrswarnungen (Stoppzeichen, Rüttelschwellen), Blitzerwarnern und Tempolimits konfigurieren.</string>
<string name="speak_street_names">Straßennamen (TTS)</string> <string name="speak_street_names">Straßennamen (TTS)</string>
<string name="map_widget_fps_info">FPS-Debug-Info</string> <string name="map_widget_fps_info">FPS-Debug-Info</string>
<string name="driving_region_descr">Fahrregion wählen: USA, Europa, GB, Asien usw.</string> <string name="driving_region_descr">Fahrregion wählen: USA, Europa, GB, Asien usw.</string>
@ -3136,11 +3136,11 @@ Lon %2$s</string>
<string name="routing_attr_freeride_policy_description">Freerides und Strecken abseits der Piste sind inoffizielle Routen und Passagen. Typischerweise unpräpariert, nicht gewartet und abends nicht kontrolliert. Betreten auf eigene Gefahr.</string> <string name="routing_attr_freeride_policy_description">Freerides und Strecken abseits der Piste sind inoffizielle Routen und Passagen. Typischerweise unpräpariert, nicht gewartet und abends nicht kontrolliert. Betreten auf eigene Gefahr.</string>
<string name="press_again_to_change_the_map_orientation">Erneut antippen, um die Kartenausrichtung zu ändern</string> <string name="press_again_to_change_the_map_orientation">Erneut antippen, um die Kartenausrichtung zu ändern</string>
<string name="quick_action_need_to_add_item_to_list">Sie müssen mindestens einen Eintrag in die Liste der Schnellaktionseinstellungen hinzufügen</string> <string name="quick_action_need_to_add_item_to_list">Sie müssen mindestens einen Eintrag in die Liste der Schnellaktionseinstellungen hinzufügen</string>
<string name="shared_string_min_speed">Mindesttempo</string> <string name="shared_string_min_speed">Min. Geschwindigkeit</string>
<string name="shared_string_max_speed">Maximaltempo</string> <string name="shared_string_max_speed">Max. Geschwindigkeit</string>
<string name="default_speed_setting_title">Standardtempo</string> <string name="default_speed_setting_title">Std. Geschwindigkeit</string>
<string name="default_speed_setting_descr">Einstellungen des Standardtempos ändern</string> <string name="default_speed_setting_descr">Standard-Einstellungen für Geschwindigkeiten</string>
<string name="minmax_speed_dialog_title">Tempogrenzen einstellen</string> <string name="minmax_speed_dialog_title">Min./Max. Geschwindigkeit einstellen</string>
<string name="new_profile">Neues Profil</string> <string name="new_profile">Neues Profil</string>
<string name="shared_string_crash">Absturz</string> <string name="shared_string_crash">Absturz</string>
<string name="last_launch_crashed">Der letzte Start von OsmAnd ist fehlgeschlagen. Bitte helfen Sie uns, OsmAnd zu verbessern, indem Sie uns über diesen Fehler informieren.</string> <string name="last_launch_crashed">Der letzte Start von OsmAnd ist fehlgeschlagen. Bitte helfen Sie uns, OsmAnd zu verbessern, indem Sie uns über diesen Fehler informieren.</string>
@ -3173,7 +3173,7 @@ Lon %2$s</string>
<string name="routing_attr_allow_skating_only_description">Nur für Freestyle oder Skating präparierte Routen, keine klassischen Loipen.</string> <string name="routing_attr_allow_skating_only_description">Nur für Freestyle oder Skating präparierte Routen, keine klassischen Loipen.</string>
<string name="routing_attr_allow_classic_only_description">Für den klassischen Stil präparierte Loipen, keine Skating-Pisten. Einschließlich durch kleinere Schneemobile präparierte Routen mit lockerer Piste und durch Skifahrer selbstgespurte Bahnen.</string> <string name="routing_attr_allow_classic_only_description">Für den klassischen Stil präparierte Loipen, keine Skating-Pisten. Einschließlich durch kleinere Schneemobile präparierte Routen mit lockerer Piste und durch Skifahrer selbstgespurte Bahnen.</string>
<string name="app_mode_ufo">UFO</string> <string name="app_mode_ufo">UFO</string>
<string name="app_mode_personal_transporter">Segway Personal Transporter</string> <string name="app_mode_personal_transporter">Einpersonen-Transportmittel</string>
<string name="edit_profile_setup_title">Profil einrichten</string> <string name="edit_profile_setup_title">Profil einrichten</string>
<string name="edit_profile_setup_subtitle">Das Profil behält seine eigenen Einstellungen bei</string> <string name="edit_profile_setup_subtitle">Das Profil behält seine eigenen Einstellungen bei</string>
<string name="edit_profile_setup_map_subtitle">Kartenoptionen für das Profil auswählen</string> <string name="edit_profile_setup_map_subtitle">Kartenoptionen für das Profil auswählen</string>
@ -3415,8 +3415,8 @@ Lon %2$s</string>
<string name="shared_string_downloading_formatted">%s herunterladen</string> <string name="shared_string_downloading_formatted">%s herunterladen</string>
<string name="rendering_value_thick_name">Fett</string> <string name="rendering_value_thick_name">Fett</string>
<string name="desert_render_descr">Für Wüsten und andere dünn besiedelte Gebiete. Umfangreicher.</string> <string name="desert_render_descr">Für Wüsten und andere dünn besiedelte Gebiete. Umfangreicher.</string>
<string name="select_navigation_icon">Positionssymbol während der Bewegung</string> <string name="select_navigation_icon">Positionssymbol in Bewegung</string>
<string name="select_map_icon">Positionssymbol in Ruhe</string> <string name="select_map_icon">Positionssymbol im Ruhezustand</string>
<string name="delete_profiles_descr">Durch Tippen auf \'Anwenden\' werden entfernte Profile dauerhaft gelöscht.</string> <string name="delete_profiles_descr">Durch Tippen auf \'Anwenden\' werden entfernte Profile dauerhaft gelöscht.</string>
<string name="master_profile">Hauptprofil</string> <string name="master_profile">Hauptprofil</string>
<string name="select_color">Farbe wählen</string> <string name="select_color">Farbe wählen</string>
@ -3451,7 +3451,7 @@ Lon %2$s</string>
<string name="select_nav_icon_descr">Symbol, das beim Navigieren oder Bewegen angezeigt wird.</string> <string name="select_nav_icon_descr">Symbol, das beim Navigieren oder Bewegen angezeigt wird.</string>
<string name="multimedia_notes_view_descr">Ihre OSM-Notizen sind in %1$s.</string> <string name="multimedia_notes_view_descr">Ihre OSM-Notizen sind in %1$s.</string>
<string name="button_rate">Bewerten</string> <string name="button_rate">Bewerten</string>
<string name="logcat_buffer_descr">Protokolle der Anwendung sehen und freigeben</string> <string name="logcat_buffer_descr">Protokolle der Anwendung einsehen und freigeben</string>
<string name="permission_is_required">Für die Verwendung dieser Option ist eine Berechtigung erforderlich.</string> <string name="permission_is_required">Für die Verwendung dieser Option ist eine Berechtigung erforderlich.</string>
<string name="file_does_not_contain_routing_rules">Die Datei \'%1$s\' enthält keine Routing-Regeln. Bitte eine andere Datei wählen.</string> <string name="file_does_not_contain_routing_rules">Die Datei \'%1$s\' enthält keine Routing-Regeln. Bitte eine andere Datei wählen.</string>
<string name="monitoring_min_speed_descr">Dies ist ein Filter, welcher Punkte unter einer gewissen Geschwindigkeit nicht aufzeichnet. Dadurch können aufgezeichnete Tracks auf der Karte gleichmäßiger aussehen.</string> <string name="monitoring_min_speed_descr">Dies ist ein Filter, welcher Punkte unter einer gewissen Geschwindigkeit nicht aufzeichnet. Dadurch können aufgezeichnete Tracks auf der Karte gleichmäßiger aussehen.</string>
@ -3462,7 +3462,7 @@ Lon %2$s</string>
<string name="live_monitoring_adress">Webadresse</string> <string name="live_monitoring_adress">Webadresse</string>
<string name="live_monitoring_adress_descr">Webadresse angeben mit der Parametersyntax: lat={0}, lon={1}, timestamp={2}, hdop={3}, altitude={4}, speed={5}, bearing={6}.</string> <string name="live_monitoring_adress_descr">Webadresse angeben mit der Parametersyntax: lat={0}, lon={1}, timestamp={2}, hdop={3}, altitude={4}, speed={5}, bearing={6}.</string>
<string name="monitoring_notification">Benachrichtigung</string> <string name="monitoring_notification">Benachrichtigung</string>
<string name="monitoring_min_speed">Mindesttempo</string> <string name="monitoring_min_speed">Min. Geschwindigkeit</string>
<string name="monitoring_min_accuracy">Minimale Genauigkeit</string> <string name="monitoring_min_accuracy">Minimale Genauigkeit</string>
<string name="monitoring_min_distance">Minimale Verschiebung</string> <string name="monitoring_min_distance">Minimale Verschiebung</string>
<string name="reset_plugin_to_default">Plugin-Einstellungen auf Voreinstellung zurücksetzen</string> <string name="reset_plugin_to_default">Plugin-Einstellungen auf Voreinstellung zurücksetzen</string>
@ -3491,7 +3491,7 @@ Lon %2$s</string>
<string name="live_monitoring">Online-Aufzeichnung</string> <string name="live_monitoring">Online-Aufzeichnung</string>
<string name="clear_recorded_data">Aufgezeichnete Daten löschen</string> <string name="clear_recorded_data">Aufgezeichnete Daten löschen</string>
<string name="copy_coordinates">Koordinaten kopieren</string> <string name="copy_coordinates">Koordinaten kopieren</string>
<string name="monitoring_min_speed_descr_remark">Bemerkung: Geschwindigkeit &gt; 0 Kontrolle: Die meisten GPS-Chipsätze geben nur dann einen Geschwindigkeitswert an, wenn der Algorithmus feststellt, dass Sie in Bewegung sind, und keinen, wenn Sie nicht in Bewegung sind. Die Verwendung der Einstellung &gt; 0 in diesem Filter nutzt also gewissermaßen die Bewegungserkennung des GPS-Chipsatzes. Aber selbst wenn nicht zur Aufnahmezeit gefiltert wurde, verwenden wir diese Funktion in unserer GPX-Analyse, um die Distanz korrigiert zu bestimmen, d. h., der in diesem Feld angezeigte Wert ist die während der Bewegung aufgezeichnete Distanz.</string> <string name="monitoring_min_speed_descr_remark">Bemerkung: Geschwindigkeit &gt; 0 Kontrolle: Die meisten GPS-Chipsätze geben nur dann einen Geschwindigkeitswert an, wenn der Algorithmus feststellt, dass Sie in Bewegung sind, und keinen, wenn Sie nicht in Bewegung sind. Die Verwendung der Einstellung &gt; 0 in diesem Filter nutzt also gewissermaßen die Bewegungserkennung des GPS-Chipsatzes. Aber selbst wenn nicht zur Aufnahmezeit gefiltert wurde, verwenden wir diese Funktion in unserer GPX-Analyse, um die Distanz korrigiert zu bestimmen, das heißt, der in diesem Feld angezeigte Wert ist die während der Bewegung aufgezeichnete Distanz.</string>
<string name="monitoring_min_accuracy_descr_side_effect">Nebeneffekt: Als Ergebnis der Filterung nach Genauigkeit können Punkte z. B. unter Brücken, unter Bäumen, zwischen hohen Gebäuden oder bei bestimmten Wetterbedingungen ganz fehlen.</string> <string name="monitoring_min_accuracy_descr_side_effect">Nebeneffekt: Als Ergebnis der Filterung nach Genauigkeit können Punkte z. B. unter Brücken, unter Bäumen, zwischen hohen Gebäuden oder bei bestimmten Wetterbedingungen ganz fehlen.</string>
<string name="monitoring_min_accuracy_descr_recommendation">Empfehlung: Es ist schwer vorherzusagen, was aufgezeichnet wird und was nicht, es ist vielleicht am besten, diesen Filter auszuschalten.</string> <string name="monitoring_min_accuracy_descr_recommendation">Empfehlung: Es ist schwer vorherzusagen, was aufgezeichnet wird und was nicht, es ist vielleicht am besten, diesen Filter auszuschalten.</string>
<string name="monitoring_min_distance_descr">Dieser Filter verhindert, dass doppelte Punkte aufgenommen werden, bei denen möglicherweise zu wenig tatsächliche Bewegung stattgefunden hat. Er sorgt für ein schöneres räumliches Erscheinungsbild von Spuren, die später nicht nachbearbeitet werden.</string> <string name="monitoring_min_distance_descr">Dieser Filter verhindert, dass doppelte Punkte aufgenommen werden, bei denen möglicherweise zu wenig tatsächliche Bewegung stattgefunden hat. Er sorgt für ein schöneres räumliches Erscheinungsbild von Spuren, die später nicht nachbearbeitet werden.</string>
@ -3542,12 +3542,12 @@ Lon %2$s</string>
<string name="monitoring_min_accuracy_descr">Es werden nur Punkte aufgezeichnet, die gemäß den Angaben der Mindestgenauigkeit gemessen wurden (in Metern/Fuß, wie von Android je nach Chipsatz bereitgestellt). Die Genauigkeit bezieht sich auf die Streuung wiederholter Messungen und steht nicht unmittelbar in Bezug zur Präzision, die bestimmt, wie nah Messungen und wahre Position beieinanderliegen.</string> <string name="monitoring_min_accuracy_descr">Es werden nur Punkte aufgezeichnet, die gemäß den Angaben der Mindestgenauigkeit gemessen wurden (in Metern/Fuß, wie von Android je nach Chipsatz bereitgestellt). Die Genauigkeit bezieht sich auf die Streuung wiederholter Messungen und steht nicht unmittelbar in Bezug zur Präzision, die bestimmt, wie nah Messungen und wahre Position beieinanderliegen.</string>
<string name="monitoring_min_accuracy_descr_remark">Bemerkung: Wenn das GPS unmittelbar vor einer Aufzeichnung ausgeschaltet war, kann der erste gemessene Punkt eine verminderte Genauigkeit haben, sodass wir in unserem Code vielleicht eine Sekunde oder so warten wollen, bevor ein Punkt (oder der beste von 3 aufeinanderfolgenden Punkten usw.) aufgezeichnet wird. Das ist aber noch nicht implementiert.</string> <string name="monitoring_min_accuracy_descr_remark">Bemerkung: Wenn das GPS unmittelbar vor einer Aufzeichnung ausgeschaltet war, kann der erste gemessene Punkt eine verminderte Genauigkeit haben, sodass wir in unserem Code vielleicht eine Sekunde oder so warten wollen, bevor ein Punkt (oder der beste von 3 aufeinanderfolgenden Punkten usw.) aufgezeichnet wird. Das ist aber noch nicht implementiert.</string>
<string name="multimedia_rec_split_title">Aufzeichnungsteilung</string> <string name="multimedia_rec_split_title">Aufzeichnungsteilung</string>
<string name="routing_profile_direct_to">Direkt zum Punkt</string> <string name="routing_profile_direct_to">Auf direktem Weg</string>
<string name="search_offline_geo_error">Geo-Intent \'%s\' konnte nicht analysiert werden.</string> <string name="search_offline_geo_error">Geo-Intent \'%s\' konnte nicht analysiert werden.</string>
<string name="shared_string_app_default_w_val">App-Standard (%s)</string> <string name="shared_string_app_default_w_val">App-Standard (%s)</string>
<string name="no_recalculation_setting">Neuberechnung deaktivieren</string> <string name="no_recalculation_setting">Neuberechnung deaktivieren</string>
<string name="route_recalculation_dist_title">Minimale Entfernung zum Neuberechnen der Route</string> <string name="route_recalculation_dist_title">Mindestabstand für Neuberechnung der Route</string>
<string name="route_recalculation_dist_descr">Die Route wird neu berechnet, wenn der Abstand zur Route länger ist als der angegebene Parameter</string> <string name="route_recalculation_dist_descr">Die Route wird neu berechnet, wenn der Abstand zur Route größer ist als der festgelegte Wert</string>
<string name="profile_type_custom_string">Benutzerdefiniertes Profil</string> <string name="profile_type_custom_string">Benutzerdefiniertes Profil</string>
<string name="shared_string_angle_param">Winkel: %s°</string> <string name="shared_string_angle_param">Winkel: %s°</string>
<string name="shared_string_angle">Winkel</string> <string name="shared_string_angle">Winkel</string>
@ -3567,7 +3567,7 @@ Lon %2$s</string>
\n \n
\nWählen Sie eine Aktion aus.</string> \nWählen Sie eine Aktion aus.</string>
<string name="import_duplicates_title">Einige Elemente sind bereits vorhanden</string> <string name="import_duplicates_title">Einige Elemente sind bereits vorhanden</string>
<string name="select_data_to_import">Wählen Sie die zu importierenden Daten aus.</string> <string name="select_data_to_import">Wählen Sie die zu importierenden Daten.</string>
<string name="shared_string_rendering_style">Darstellungsstil</string> <string name="shared_string_rendering_style">Darstellungsstil</string>
<string name="restore_all_profile_settings_descr">Alle Profileinstellungen werden nach dem Erstellen/Importieren dieses Profils wieder in ihren ursprünglichen Zustand versetzt.</string> <string name="restore_all_profile_settings_descr">Alle Profileinstellungen werden nach dem Erstellen/Importieren dieses Profils wieder in ihren ursprünglichen Zustand versetzt.</string>
<string name="restore_all_profile_settings">Alle Profileinstellungen wiederherstellen\?</string> <string name="restore_all_profile_settings">Alle Profileinstellungen wiederherstellen\?</string>
@ -3585,4 +3585,30 @@ Lon %2$s</string>
<string name="select_distance_route_will_recalc">Wählen Sie die Entfernung, nach der die Route neu berechnet wird.</string> <string name="select_distance_route_will_recalc">Wählen Sie die Entfernung, nach der die Route neu berechnet wird.</string>
<string name="recalculate_route_in_deviation">Neuberechnung der Route im Falle einer Abweichung</string> <string name="recalculate_route_in_deviation">Neuberechnung der Route im Falle einer Abweichung</string>
<string name="recalculate_route_distance_promo">Die Route wird neu berechnet, wenn die Entfernung von der Route zur aktuellen Position größer als der ausgewählte Wert ist.</string> <string name="recalculate_route_distance_promo">Die Route wird neu berechnet, wenn die Entfernung von der Route zur aktuellen Position größer als der ausgewählte Wert ist.</string>
<string name="import_complete_description">Alle Daten aus %1$s werden importiert. Sie können die Schaltflächen unten verwenden, um den benötigten Teil der Anwendung zu öffnen, um sie zu verwalten.</string>
<string name="shared_string_square">Quadrat</string>
<string name="shared_string_rhomb">Raute</string>
<string name="shared_string_circle">Kreis</string>
<string name="select_shape">Form auswählen</string>
<string name="select_group">Gruppe auswählen</string>
<string name="add_description">Beschreibung hinzufügen</string>
<string name="delete_description">Beschreibung löschen</string>
<string name="quick_action_terrain_descr">Eine Schaltfläche zum Ein- und Ausblenden der Geländeebene auf der Karte.</string>
<string name="quick_action_terrain_show">Gelände einblenden</string>
<string name="quick_action_terrain_hide">Gelände ausblenden</string>
<string name="quick_action_show_hide_terrain">Gelände ein-/ausblenden</string>
<string name="shared_string_hillshade">Schummerung</string>
<string name="shared_string_zoom_levels">Zoomstufen</string>
<string name="shared_string_transparency">Transparenz</string>
<string name="terrain_slider_description">Stellen Sie die minimale und maximale Zoomstufe ein, bei der die Ebene angezeigt wird.</string>
<string name="shared_string_terrain">Gelände</string>
<string name="download_slope_maps">Hänge</string>
<string name="terrain_empty_state_text">Aktivieren Sie diese Option, um die Schatten- oder Hangkarte anzuzeigen. Weitere Informationen zu diesen Kartentypen finden Sie auf unserer Website</string>
<string name="shared_string_legend">Legende</string>
<string name="slope_read_more">Lesen Sie mehr über Hänge in %1$s.</string>
<string name="slope_download_description">Zusätzliche Karten sind erforderlich, um Hänge auf der Karte anzuzeigen.</string>
<string name="hillshade_download_description">Für die Darstellung der Schummerung werden zusätzliche Karten benötigt.</string>
<string name="shared_string_min">Min</string>
<string name="hillshade_description">Schummerungs-Karte mit dunklen Schattierungen zur Darstellung von Hängen, Gipfeln und Niederungen.</string>
<string name="n_items_of_z">%1$s von %2$s</string>
</resources> </resources>

View file

@ -2212,7 +2212,7 @@ Indikas lokon: %1$s x %2$s"</string>
<string name="points_delete_multiple">Ĉu vi certe volas forigi %1$d punkto(j)n\?</string> <string name="points_delete_multiple">Ĉu vi certe volas forigi %1$d punkto(j)n\?</string>
<string name="route_points_category_name">Turniĝoj sur tiu ĉi kurso</string> <string name="route_points_category_name">Turniĝoj sur tiu ĉi kurso</string>
<string name="track_points_category_name">Navigadpunktoj, interesejoj, objektoj nomitaj</string> <string name="track_points_category_name">Navigadpunktoj, interesejoj, objektoj nomitaj</string>
<string name="shared_string_slope">Klineco</string> <string name="shared_string_slope">Dekliveco</string>
<string name="lang_ber">Berbera</string> <string name="lang_ber">Berbera</string>
<string name="relief_smoothness_factor_descr">Preferi terenon: ebenan aŭ malebenan.</string> <string name="relief_smoothness_factor_descr">Preferi terenon: ebenan aŭ malebenan.</string>
<string name="routing_attr_relief_smoothness_factor_hills_name">Malebena</string> <string name="routing_attr_relief_smoothness_factor_hills_name">Malebena</string>
@ -3562,4 +3562,30 @@ Indikas lokon: %1$s x %2$s"</string>
<string name="recalculate_route_distance_promo">La kurso estos rekalkulita se la distanco inter la kurso kaj la nuna pozicio superas la enigitan valoron.</string> <string name="recalculate_route_distance_promo">La kurso estos rekalkulita se la distanco inter la kurso kaj la nuna pozicio superas la enigitan valoron.</string>
<string name="select_distance_route_will_recalc">Enigu la distancon super kiu la kurso estos rekalkulita.</string> <string name="select_distance_route_will_recalc">Enigu la distancon super kiu la kurso estos rekalkulita.</string>
<string name="recalculate_route_in_deviation">Rekalkuli kurson kiam devojiĝi</string> <string name="recalculate_route_in_deviation">Rekalkuli kurson kiam devojiĝi</string>
<string name="shared_string_terrain">Tereno</string>
<string name="slope_download_description">Kromaj mapoj estas necesaj por vidigi deklivecon sur la mapo.</string>
<string name="slope_read_more">Pliaj informoj pri dekliveco en %1$s.</string>
<string name="terrain_empty_state_text">Aktivigu por vidigi nivelombrumon (reliefon) aŭ deklivecon. Pliaj informoj pri tiuj ĉi tipoj de mapoj troviĝas ĉe nia retpaĝo</string>
<string name="download_slope_maps">Dekliveco</string>
<string name="hillshade_description">Uzas tonojn de grizo por vidigi altaĵojn, montpintojn kaj malaltaĵojn.</string>
<string name="slope_description">Kolorigas mapon laŭ angulo de dekliveco.</string>
<string name="terrain_slider_description">Agordi minimuman kaj maksimuman pligrandigojn inter kiuj la tavolo estos montrata.</string>
<string name="hillshade_download_description">Kromaj mapoj estas necesaj por vidigi tavolon de nivelombrumo.</string>
<string name="shared_string_transparency">Travideblo</string>
<string name="shared_string_zoom_levels">Pligrandigo</string>
<string name="shared_string_legend">Mapklarigo</string>
<string name="shared_string_hillshade">Nivelombrumo</string>
<string name="n_items_of_z">%1$s el %2$s</string>
<string name="quick_action_show_hide_terrain">Montri/kaŝi terenformon</string>
<string name="quick_action_terrain_hide">Kaŝi terenformon</string>
<string name="quick_action_terrain_show">Montri terenformon</string>
<string name="quick_action_terrain_descr">Butono por montri/kaŝi tavolon de formo de tereno sur la mapo.</string>
<string name="delete_description">Forigi priskribon</string>
<string name="add_description">Aldoni priskribon</string>
<string name="select_shape">Elekti formon</string>
<string name="select_group">Elekti grupon</string>
<string name="shared_string_circle">Cirklo</string>
<string name="shared_string_rhomb">Rombo</string>
<string name="shared_string_square">Kvadrato</string>
<string name="shared_string_min">Min.</string>
</resources> </resources>

View file

@ -3578,4 +3578,33 @@ Lon %2$s</string>
<string name="items_added">Elementos añadidos</string> <string name="items_added">Elementos añadidos</string>
<string name="shared_string_import_complete">Importación completa</string> <string name="shared_string_import_complete">Importación completa</string>
<string name="import_complete_description">Todos los datos de %1$s son importados, puedes usar los botones de abajo para abrir la parte necesaria de la aplicación para manejarla.</string> <string name="import_complete_description">Todos los datos de %1$s son importados, puedes usar los botones de abajo para abrir la parte necesaria de la aplicación para manejarla.</string>
<string name="shared_string_min">Min</string>
<string name="n_items_of_z">%1$s de %2$s</string>
<string name="shared_string_terrain">Terreno</string>
<string name="hillshade_description">Mapa de sombreado usando sombras oscuras para mostrar las laderas, picos y tierras bajas.</string>
<string name="slope_description">La pendiente se visualiza en colores sobre el terreno.</string>
<string name="terrain_slider_description">Define los niveles de zoom mínimo y máximo en los que se mostrará la capa.</string>
<string name="hillshade_download_description">Se necesitan mapas adicionales para ver el sombreado en el mapa.</string>
<string name="slope_download_description">Se necesitan mapas adicionales para ver las pendientes en el mapa.</string>
<string name="slope_read_more">Puedes leer más sobre las pendientes en «%1$s».</string>
<string name="shared_string_transparency">Transparencia</string>
<string name="shared_string_zoom_levels">Niveles de zoom</string>
<string name="shared_string_legend">Leyenda</string>
<string name="terrain_empty_state_text">Permite ver el sombreado o el mapa de pendientes. Puedes leer más sobre estos tipos de mapas en nuestro sitio</string>
<string name="shared_string_hillshade">Sombreado</string>
<string name="download_slope_maps">Pendientes</string>
<string name="quick_action_show_hide_terrain">Mostrar/ocultar terreno</string>
<string name="quick_action_terrain_hide">Ocultar terreno</string>
<string name="quick_action_terrain_show">Mostrar terreno</string>
<string name="quick_action_terrain_descr">Un botón que muestra u oculta la capa del terreno en el mapa.</string>
<string name="delete_description">Borrar descripción</string>
<string name="add_description">Añadir descripción</string>
<string name="select_group">Elegir grupo</string>
<string name="select_shape">Elegir forma</string>
<string name="shared_string_circle">Círculo</string>
<string name="shared_string_rhomb">Rombo</string>
<string name="shared_string_square">Cuadrado</string>
<string name="recalculate_route_in_deviation">Recalcular ruta en caso de desviación</string>
<string name="select_distance_route_will_recalc">Elige la distancia después de la cual la ruta será recalculada.</string>
<string name="recalculate_route_distance_promo">La ruta será recalculada si la distancia a la ubicación actual es mayor que el valor elegido.</string>
</resources> </resources>

View file

@ -3797,6 +3797,14 @@
<string name="poi_seamark_water_level_part_submerged">Ur maila: partzialki urperatuta</string> <string name="poi_seamark_water_level_part_submerged">Ur maila: partzialki urperatuta</string>
<string name="poi_seamark_water_level_submerged">Ur maila: urperatuta</string> <string name="poi_seamark_water_level_submerged">Ur maila: urperatuta</string>
<string name="poi_seamark_water_level_dry">Ur maila: sikua</string> <string name="poi_seamark_water_level_dry">Ur maila: sikua</string>
<string name="poi_seamark_water_level_covers"></string> <string name="poi_seamark_water_level_covers">Ur maila: estaltzen du</string>
<string name="poi_seamark_water_level_floods">Ur maila: uholdea</string> <string name="poi_seamark_water_level_floods">Ur maila: uholdea</string>
<string name="poi_seamark_water_level_floating">Ur maila: flotatzen</string>
<string name="poi_seamark_water_level_awash">Ur maila: boladaka</string>
<string name="poi_drinking_water_refill_network">Edateko ura betetzeko sarea</string>
<string name="poi_drinking_water_refill_no">Edateko ura betetzeko: ez</string>
<string name="poi_drinking_water_refill_yes">Edateko ura betetzeko: bai</string>
<string name="poi_seamark_obstruction">Trabatzea</string>
<string name="poi_seamark_water_level_below_mwl">Ur maila: batezbestekotik behera</string>
<string name="poi_seamark_water_level_above_mwl">Ur maila: batezbestekotik gora</string>
</resources> </resources>

View file

@ -3452,7 +3452,7 @@ Area honi dagokio: %1$s x %2$s</string>
<string name="monitoring_min_accuracy_descr_side_effect">Albo-efektua: Zehaztasunaren arabera iragaztearen ondorioz, puntuak falta daitezke, adibidez, zubien azpian, zuhaitzen azpian, eraikin altuen artean, edo eguraldi jakin batzuekin.</string> <string name="monitoring_min_accuracy_descr_side_effect">Albo-efektua: Zehaztasunaren arabera iragaztearen ondorioz, puntuak falta daitezke, adibidez, zubien azpian, zuhaitzen azpian, eraikin altuen artean, edo eguraldi jakin batzuekin.</string>
<string name="monitoring_min_accuracy_descr_recommendation">Gomendioa: Zaila da zer grabatuko den eta zer ez aurreikustea, agian egokiena iragazki hau desaktibatzea da.</string> <string name="monitoring_min_accuracy_descr_recommendation">Gomendioa: Zaila da zer grabatuko den eta zer ez aurreikustea, agian egokiena iragazki hau desaktibatzea da.</string>
<string name="rearrange_categories">Berrantolatu kategoriak</string> <string name="rearrange_categories">Berrantolatu kategoriak</string>
<string name="create_custom_categories_list_promo">Kategoria pertsonalizatuak gehitu ditzakezu, beharrezkotzat jotzen ez dituzun kategoriak ezkutatu, eta zerrendaren ordena aldatu. Zerrenda profilekin inportatu eta esportatu daiteke.</string> <string name="create_custom_categories_list_promo">Aldatu zerrendaren ordena, ezkutatu behar ez dituzun kategoriak. Aldaketa guztiak profilekin inportatu eta esportatu daiteke.</string>
<string name="add_new_custom_category_button_promo">Kategoria pertsonalizatu berri bat gehi dezakezu behar diren kategoria bat edo batzuk hautatuta.</string> <string name="add_new_custom_category_button_promo">Kategoria pertsonalizatu berri bat gehi dezakezu behar diren kategoria bat edo batzuk hautatuta.</string>
<string name="reset_to_default_category_button_promo">Lehenetsitakoak berrezartzea ordenazio irizpidea instalazioaren unekora itzuliko du.</string> <string name="reset_to_default_category_button_promo">Lehenetsitakoak berrezartzea ordenazio irizpidea instalazioaren unekora itzuliko du.</string>
<string name="shared_string_available">Eskuragarri</string> <string name="shared_string_available">Eskuragarri</string>
@ -3586,4 +3586,33 @@ Area honi dagokio: %1$s x %2$s</string>
<string name="items_added">Gehitutako elementuak</string> <string name="items_added">Gehitutako elementuak</string>
<string name="shared_string_import_complete">Inportazioa burututa</string> <string name="shared_string_import_complete">Inportazioa burututa</string>
<string name="import_complete_description">%1$s-ko datu guztiak inportatuta, beheko botoiak erabili ditzakezu kudeatzeko behar duzun aplikazioaren atala irekitzeko.</string> <string name="import_complete_description">%1$s-ko datu guztiak inportatuta, beheko botoiak erabili ditzakezu kudeatzeko behar duzun aplikazioaren atala irekitzeko.</string>
<string name="recalculate_route_distance_promo">Ibilbidea birkalkulatuko da ibilbidetik uneko punturainoko distantzia hautatutako balioa baino handiagoa bada.</string>
<string name="select_distance_route_will_recalc">Hautatu ibilbidea birkalkulatzeko distantzia.</string>
<string name="recalculate_route_in_deviation">Birkalkulatu ibilbidea desbideratzekotan</string>
<string name="shared_string_square">Laukia</string>
<string name="shared_string_rhomb">Erronboa</string>
<string name="shared_string_circle">Zirkulua</string>
<string name="select_shape">Hautatu forma</string>
<string name="select_group">Hautatu taldea</string>
<string name="add_description">Gehitu deskripzioa</string>
<string name="delete_description">Ezabatu deskripzioa</string>
<string name="quick_action_terrain_descr">Mapako terreno geruza erakutsi edo ezkutatzeko botoia.</string>
<string name="quick_action_terrain_show">Erakutsi terrenoa</string>
<string name="quick_action_terrain_hide">Ezkutatu terrenoa</string>
<string name="quick_action_show_hide_terrain">Erakutsi/ezkutatu terrenoa</string>
<string name="download_slope_maps">Maldak</string>
<string name="shared_string_hillshade">Erliebea</string>
<string name="terrain_empty_state_text">Gaitu erliebea edo malda mapa ikusteko. Mapa mota honi buruz gehiago irakur dezakezu gure gunean</string>
<string name="shared_string_legend">Legenda</string>
<string name="shared_string_zoom_levels">Zoom mailak</string>
<string name="shared_string_transparency">Gardentasuna</string>
<string name="slope_read_more">Gehiago irakurri dezakezu maldei buruz hemen: %1$s.</string>
<string name="slope_download_description">Mapa gehigarriak behar dira Maldak mapan ikusteko.</string>
<string name="hillshade_download_description">Mapa gehigarriak behar dira erliebea mapan ikusteko.</string>
<string name="terrain_slider_description">Ezarri geruza bistaratuko den gutxieneko eta gehieneko zoom maila.</string>
<string name="slope_description">Malda terrenoaren koloreztatutako ikuspegiak dira.</string>
<string name="hillshade_description">Eman erliebea mapari itzalak erabiliz maldak, gailurrak eta behe-lauak erakusteko.</string>
<string name="shared_string_terrain">Terrenoa</string>
<string name="n_items_of_z">%1$s / %2$s</string>
<string name="shared_string_min">Min</string>
</resources> </resources>

View file

@ -121,7 +121,7 @@
<string name="poi_service_tyres">پنچرگیری</string> <string name="poi_service_tyres">پنچرگیری</string>
<string name="poi_vehicle_inspection">معاینه فنی خودرو</string> <string name="poi_vehicle_inspection">معاینه فنی خودرو</string>
<string name="poi_car_wash">کارواش</string> <string name="poi_car_wash">کارواش</string>
<string name="poi_fuel">پمپ بنزین; جایگاه سوخت; جایگاه سوخت‌گیری</string> <string name="poi_fuel">جایگاه سوخت; جایگاه سوخت‌گیری; پمپ بنزین; پمپ گاز</string>
<string name="poi_electricity_combined_charging">ایستگاه شارژ</string> <string name="poi_electricity_combined_charging">ایستگاه شارژ</string>
<string name="poi_vehicle_ramp">سطح شیب دار خودرو</string> <string name="poi_vehicle_ramp">سطح شیب دار خودرو</string>
<string name="poi_compressed_air">هوای فشرده</string> <string name="poi_compressed_air">هوای فشرده</string>

View file

@ -753,8 +753,8 @@
<string name="indexing_poi">نمایه‌کردن POI</string> <string name="indexing_poi">نمایه‌کردن POI</string>
<string name="indexing_transport">در حال نمایه‌کردن حمل‌ونقل…</string> <string name="indexing_transport">در حال نمایه‌کردن حمل‌ونقل…</string>
<string name="shared_string_io_error">خطای ورودی/خروجی</string> <string name="shared_string_io_error">خطای ورودی/خروجی</string>
<string name="km">km</string> <string name="km">ک‌م</string>
<string name="m">m</string> <string name="m">متر</string>
<string name="map_tile_source">منبع کاشی‌های نقشه</string> <string name="map_tile_source">منبع کاشی‌های نقشه</string>
<string name="mark_point">هدف</string> <string name="mark_point">هدف</string>
<string name="speak_speed_limit">سرعت مجاز</string> <string name="speak_speed_limit">سرعت مجاز</string>
@ -1599,7 +1599,7 @@
<string name="versions_item">نسخه‌ها</string> <string name="versions_item">نسخه‌ها</string>
<string name="feedback">بازخورد</string> <string name="feedback">بازخورد</string>
<string name="contact_us">تماس</string> <string name="contact_us">تماس</string>
<string name="map_legend">علائم نقشه</string> <string name="map_legend">کلید نقشه</string>
<string name="save_poi_without_poi_type_message">POI را بدون مشخص‌کردن نوعش ذخیره می‌کنید؟</string> <string name="save_poi_without_poi_type_message">POI را بدون مشخص‌کردن نوعش ذخیره می‌کنید؟</string>
<string name="navigation_item_description">تنظیمات ناوبری را انجام دهید.</string> <string name="navigation_item_description">تنظیمات ناوبری را انجام دهید.</string>
<string name="planning_trip_item">طرح‌ریزی سفر</string> <string name="planning_trip_item">طرح‌ریزی سفر</string>
@ -1828,7 +1828,7 @@
<string name="average_altitude">میانگین ارتفاع</string> <string name="average_altitude">میانگین ارتفاع</string>
<string name="total_distance">مسافت کل</string> <string name="total_distance">مسافت کل</string>
<string name="routing_attr_height_obstacles_name">استفاده از داده‌های ارتفاعی</string> <string name="routing_attr_height_obstacles_name">استفاده از داده‌های ارتفاعی</string>
<string name="routing_attr_height_obstacles_description">فاکتور ارتفاع‌دهی عوارض (با استفاده از داده‌های SRTM، ASTER و EU-DEM).</string> <string name="routing_attr_height_obstacles_description">فاکتور ارتفاع‌دهی عارضهها (با استفاده از داده‌های SRTM، ASTER و EU-DEM).</string>
<string name="rendering_attr_depthContours_description">نمایش نقاط و منحنی‌های میزان عمقی.</string> <string name="rendering_attr_depthContours_description">نمایش نقاط و منحنی‌های میزان عمقی.</string>
<string name="rendering_attr_depthContours_name">منحنی‌های میزان عمق دریا</string> <string name="rendering_attr_depthContours_name">منحنی‌های میزان عمق دریا</string>
<string name="rendering_attr_contourDensity_description">تراکم منحنی میزان</string> <string name="rendering_attr_contourDensity_description">تراکم منحنی میزان</string>
@ -3047,7 +3047,8 @@
<string name="files_moved">%1$d فایل منتقل شد (%2$s).</string> <string name="files_moved">%1$d فایل منتقل شد (%2$s).</string>
<string name="files_copied">%1$d فایل کپی شد (%2$s).</string> <string name="files_copied">%1$d فایل کپی شد (%2$s).</string>
<string name="files_failed">نمی‌توان %1$d فایل (%2$s) را کپی کرد.</string> <string name="files_failed">نمی‌توان %1$d فایل (%2$s) را کپی کرد.</string>
<string name="files_present">%1$d فایل (%2$s) در مکان قبلی \'%3$s\' وجود دارد.</string> <string name="files_present">%1$d فایل (%2$s) در مکان قبلی وجود دارد.
\n\'%3$s\'</string>
<string name="move_maps">نقشه‌ها را منتقل کن</string> <string name="move_maps">نقشه‌ها را منتقل کن</string>
<string name="dont_move_maps">منتقل نکن</string> <string name="dont_move_maps">منتقل نکن</string>
<string name="public_transport_ped_route_title">مسیر پیاده حدود %1$s است و احتمالاً از حمل‌ونقل عمومی سریع‌تر باشد</string> <string name="public_transport_ped_route_title">مسیر پیاده حدود %1$s است و احتمالاً از حمل‌ونقل عمومی سریع‌تر باشد</string>
@ -3518,7 +3519,7 @@
<string name="sunset_at">غروب خورشید در %1$s</string> <string name="sunset_at">غروب خورشید در %1$s</string>
<string name="sunrise_at">طلوع خورشید در %1$s</string> <string name="sunrise_at">طلوع خورشید در %1$s</string>
<string name="accessibility_mode_disabled">حالت دسترسی آسان در دستگاه شما غیرفعال است.</string> <string name="accessibility_mode_disabled">حالت دسترسی آسان در دستگاه شما غیرفعال است.</string>
<string name="use_system_screen_timeout">از زمان روشن‌ماندن صفحهٔ دستگاه استفاده شود</string> <string name="use_system_screen_timeout">استفاده از زمان خاموش‌شدن صفحهٔ دستگاه</string>
<string name="use_system_screen_timeout_promo">پیشفرض غیرفعال است، اگر OsmAnd در پیش‌زمینه اجرا باشد صفحه خاموش نمی‌شود. <string name="use_system_screen_timeout_promo">پیشفرض غیرفعال است، اگر OsmAnd در پیش‌زمینه اجرا باشد صفحه خاموش نمی‌شود.
\n \n
\nاگر فعال باشد، OsmAnd از تنظیمات دستگاه برای زمان خاموش‌شدن صفحه استفاده می‌کند.</string> \nاگر فعال باشد، OsmAnd از تنظیمات دستگاه برای زمان خاموش‌شدن صفحه استفاده می‌کند.</string>
@ -3561,9 +3562,9 @@
<string name="shared_string_menu">منو</string> <string name="shared_string_menu">منو</string>
<string name="ltr_or_rtl_triple_combine_via_dash">%1$s — %2$s — %3$s</string> <string name="ltr_or_rtl_triple_combine_via_dash">%1$s — %2$s — %3$s</string>
<string name="shared_string_routing">مسیریابی</string> <string name="shared_string_routing">مسیریابی</string>
<string name="shared_string_include_data">شامل دادهٔ بیشتر</string> <string name="shared_string_include_data">شامل دادهٔ افزوده</string>
<string name="import_profile_dialog_description">پروفایلِ درون‌بردی حاوی دادهٔ بیشتری است. «درون‌برد» را بزنید تا فقط دادهٔ پروفایل درون‌برد شود. «دادهٔ بیشتر» را انتخاب کنید تا آن را نیز درون‌برد کنید.</string> <string name="import_profile_dialog_description">پروفایلِ درون‌بردی حاوی دادهٔ افزوده است. «درون‌برد» را بزنید تا فقط دادهٔ پروفایل درون‌برد شود. «دادهٔ افزوده» را انتخاب کنید تا آن را نیز درون‌برد کنید.</string>
<string name="export_profile_dialog_description">می‌توانید دادهٔ بیشتری را انتخاب کنید تا همراه با پروفایل برون‌برد کنید.</string> <string name="export_profile_dialog_description">می‌توانید همراه پروفایل، دادهٔ افزوده را نیز برون‌برد کنید.</string>
<string name="index_name_antarctica">جنوبگان</string> <string name="index_name_antarctica">جنوبگان</string>
<string name="accessibility_announce">اعلام</string> <string name="accessibility_announce">اعلام</string>
<string name="shared_string_app_default_w_val">پیشفرض برنامه (%s)</string> <string name="shared_string_app_default_w_val">پیشفرض برنامه (%s)</string>
@ -3601,11 +3602,37 @@
<string name="import_complete_description">همهٔ داده از %1$s درون‌برد شد. با استفاده از دکمه‌های زیر می‌توانید بخش موردنیاز برنامه را برای مدیریت آن باز کنید.</string> <string name="import_complete_description">همهٔ داده از %1$s درون‌برد شد. با استفاده از دکمه‌های زیر می‌توانید بخش موردنیاز برنامه را برای مدیریت آن باز کنید.</string>
<string name="shared_string_poi_types">انواع POI</string> <string name="shared_string_poi_types">انواع POI</string>
<string name="listed_exist">%1$s که در زیر آمده، هم‌اکنون در OsmAnd وجود دارد.</string> <string name="listed_exist">%1$s که در زیر آمده، هم‌اکنون در OsmAnd وجود دارد.</string>
<string name="checking_for_duplicate_description">OsmAnd %1$s را برای چیزهای تکراری موجود در برنامه بررسی می‌کند. <string name="checking_for_duplicate_description">OsmAnd در حال بررسی %1$s برای چیزهای تکراری موجود در برنامه است.
\n \n
\nممکن است قدری زمان ببرد.</string> \nممکن است قدری زمان ببرد.</string>
<string name="items_added">افزوده‌ها</string> <string name="items_added">افزوده‌ها</string>
<string name="recalculate_route_distance_promo">اگر فاصلهٔ مسیر تا موقعیت کنونی بیش از مقدار انتخابی باشد مسیر دوباره محاسبه می‌شود.</string> <string name="recalculate_route_distance_promo">اگر فاصلهٔ مسیر تا موقعیت کنونی بیش از مقدار انتخابی باشد مسیر دوباره محاسبه می‌شود.</string>
<string name="select_distance_route_will_recalc">فاصله‌ای که با گذشتن از آن، مسیریابی مجدد انجام شود چقدر باشد.</string> <string name="select_distance_route_will_recalc">فاصله‌ای که با گذشتن از آن، مسیریابی مجدد انجام شود چقدر باشد.</string>
<string name="recalculate_route_in_deviation">مسیریابی مجدد در صورت خروج از مسیر</string> <string name="recalculate_route_in_deviation">مسیریابی مجدد در صورت خروج از مسیر</string>
<string name="slope_description">تصویرسازی رنگین روی ناهمواری‌ها شیب را نشان می‌دهد.</string>
<string name="shared_string_square">مربع</string>
<string name="shared_string_min">حداقل</string>
<string name="shared_string_terrain">ناهمواری‌ها</string>
<string name="hillshade_description">نقشهٔ سایه‌روشن که شیب‌ها، بلندی‌ها و پستی‌ها را با استفاده از سایه‌های تیره نمایان می‌کند.</string>
<string name="terrain_slider_description">کمینه و بیشینهٔ زوم برای نمایش لایه را مشخص کنید.</string>
<string name="hillshade_download_description">برای مشاهدهٔ سایه‌روشن‌ها روی نقشه باید نقشهٔ دیگری را نیز دانلود کنید.</string>
<string name="slope_download_description">برای مشاهدهٔ شیب‌ها روی نقشه باید نقشهٔ دیگری را نیز دانلود کنید.</string>
<string name="slope_read_more">دربارهٔ شیب‌ها می‌توانید در %1$s بیشتر بخوانید.</string>
<string name="shared_string_transparency">شفافیت</string>
<string name="shared_string_zoom_levels">زوم نمایش</string>
<string name="shared_string_legend">کلید</string>
<string name="terrain_empty_state_text">فعال کنید تا نقشهٔ سایه‌روشن یا شیب را ببینید. در وبسایت ما دربارهٔ این نقشه‌ها بخوانید</string>
<string name="shared_string_hillshade">سایه‌روشن</string>
<string name="n_items_of_z">%1$s از %2$s</string>
<string name="download_slope_maps">شیب‌ها</string>
<string name="quick_action_show_hide_terrain">آشکار/پنهان کردن ناهمواری‌ها</string>
<string name="quick_action_terrain_hide">پنهان‌کردن ناهمواری‌ها</string>
<string name="quick_action_terrain_show">نمایش ناهمواری‌ها</string>
<string name="quick_action_terrain_descr">دکمه‌ای برای آشکار یا پنهان کردن لایهٔ ناهمواری‌ها روی نقشه.</string>
<string name="shared_string_circle">دایره</string>
<string name="shared_string_rhomb">لوزی</string>
<string name="delete_description">حذف توضیحات</string>
<string name="add_description">افزودن توضیحات</string>
<string name="select_group">انتخاب گروه</string>
<string name="select_shape">انتخاب شکل</string>
</resources> </resources>

View file

@ -3551,4 +3551,30 @@ représentant la zone : %1$s x %2$s</string>
<string name="recalculate_route_distance_promo">L\'itinéraire sera recalculé lorsque la distance entre l\'itinéraire et votre position est supérieure à la valeur indiquée.</string> <string name="recalculate_route_distance_promo">L\'itinéraire sera recalculé lorsque la distance entre l\'itinéraire et votre position est supérieure à la valeur indiquée.</string>
<string name="select_distance_route_will_recalc">Sélectionnez la distance au-delà de laquelle litinéraire sera recalculé.</string> <string name="select_distance_route_will_recalc">Sélectionnez la distance au-delà de laquelle litinéraire sera recalculé.</string>
<string name="recalculate_route_in_deviation">Recalculer l\'itinéraire en cas d\'écart de route</string> <string name="recalculate_route_in_deviation">Recalculer l\'itinéraire en cas d\'écart de route</string>
<string name="shared_string_min">Min</string>
<string name="n_items_of_z">%1$s de %2$s</string>
<string name="shared_string_terrain">Terrain</string>
<string name="hillshade_description">Carte ombrée utilisant des nuances sombres pour visualiser les pistes, les sommets et les plaines.</string>
<string name="slope_description">La piste est visualisée en couleurs sur le terrain.</string>
<string name="terrain_slider_description">Définissez les niveaux de zoom minimum et maximum pour lesquels la couche sera affichée.</string>
<string name="hillshade_download_description">Des cartes supplémentaires sont nécessaires pour afficher l\'ombrage du relief sur la carte.</string>
<string name="slope_download_description">Des cartes supplémentaires sont nécessaires pour afficher les pistes sur la carte.</string>
<string name="slope_read_more">Vous pouvez en apprendre plus sur les pistes dans %1$s.</string>
<string name="shared_string_transparency">Transparence</string>
<string name="shared_string_zoom_levels">Niveaux de zoom</string>
<string name="shared_string_legend">Légende</string>
<string name="terrain_empty_state_text">Permet d\'afficher l\'ombrage du relief ou les pistes. Vous pouvez en apprendre plus sur ces types de cartes sur notre site.</string>
<string name="shared_string_hillshade">Ombrage du relief</string>
<string name="download_slope_maps">Pistes</string>
<string name="quick_action_show_hide_terrain">Afficher/masquer le terrain</string>
<string name="quick_action_terrain_hide">Masquer le terrain</string>
<string name="quick_action_terrain_show">Afficher le terrain</string>
<string name="quick_action_terrain_descr">Un bouton pour afficher ou masquer la couche terrain sur la carte.</string>
<string name="delete_description">Supprimer la description</string>
<string name="add_description">Ajouter une description</string>
<string name="select_group">Sélectionnez un groupe</string>
<string name="select_shape">Sélectionnez une forme</string>
<string name="shared_string_circle">Cercle</string>
<string name="shared_string_rhomb">Losange</string>
<string name="shared_string_square">Carré</string>
</resources> </resources>

View file

@ -117,7 +117,8 @@
<string name="select_animate_speedup">מהירות הדמיית המסלול:</string> <string name="select_animate_speedup">מהירות הדמיית המסלול:</string>
<string name="global_app_allocated_memory_descr">הזיכרון המוקצה: %1$s מ״ב (המגבלה של Android: %2$s מ״ב, Dalvik: %3$s מ״ב).</string> <string name="global_app_allocated_memory_descr">הזיכרון המוקצה: %1$s מ״ב (המגבלה של Android: %2$s מ״ב, Dalvik: %3$s מ״ב).</string>
<string name="global_app_allocated_memory">הזיכרון המוקצה</string> <string name="global_app_allocated_memory">הזיכרון המוקצה</string>
<string name="native_app_allocated_memory_descr">סך כל הזיכרון הטבעי שמוקצה על ידי היישום: %1$s מ״ב (Dalvik: %2$s מ״ב, אחרים: %3$s מ״ב). זיכרון יחסי: %4$s מ״ב (המגבלה של Android: %5$s מ״ב, Dalvik: %6$s מ״ב).</string> <string name="native_app_allocated_memory_descr">סך כל הזיכרון הטבעי שמוקצה על ידי היישום: %1$s מ״ב (Dalvik: %2$s מ״ב, אחרים: %3$s מ״ב).
\n זיכרון יחסי: %4$s מ״ב (המגבלה של Android: %5$s מ״ב, Dalvik: %6$s מ״ב).</string>
<string name="native_app_allocated_memory">סך כל הזיכרון הטבעי</string> <string name="native_app_allocated_memory">סך כל הזיכרון הטבעי</string>
<string name="starting_point_too_far">נקודת היציאה רחוקה מדי מהדרך הקרובה אליה ביותר.</string> <string name="starting_point_too_far">נקודת היציאה רחוקה מדי מהדרך הקרובה אליה ביותר.</string>
<string name="shared_location">מיקום משותף</string> <string name="shared_location">מיקום משותף</string>
@ -262,8 +263,8 @@
<string name="local_openstreetmap_upload">שליחת העריכה ל־OSM</string> <string name="local_openstreetmap_upload">שליחת העריכה ל־OSM</string>
<string name="local_openstreetmap_delete">מחיקת העריכה</string> <string name="local_openstreetmap_delete">מחיקת העריכה</string>
<string name="local_openstreetmap_descr_title">עריכה בלתי מתואמת של OSM:</string> <string name="local_openstreetmap_descr_title">עריכה בלתי מתואמת של OSM:</string>
<string name="local_openstreetmap_settings">נ״ע/הערות של OSM נשמרו בהתקן</string> <string name="local_openstreetmap_settings">נ״ע/הערות של OSM נשמרו במכשיר</string>
<string name="local_openstreetmap_settings_descr">הצגה וניהול של נ״ע/הערות שנשמרו במסד נתונים בהתקן.</string> <string name="local_openstreetmap_settings_descr">הצגה וניהול של נ״ע/הערות של OSM שנשמרו במסד הנתונים שבמכשיר שלך.</string>
<string name="live_monitoring_interval_descr">נא לציין את ההפסקות בין דיווחי מעקב חי.</string> <string name="live_monitoring_interval_descr">נא לציין את ההפסקות בין דיווחי מעקב חי.</string>
<string name="live_monitoring_interval">הפסקות בין דיווחי מעקב חי</string> <string name="live_monitoring_interval">הפסקות בין דיווחי מעקב חי</string>
<string name="live_monitoring_url_descr">נא לציין את כתובת השרת עם המשתנים בתחביר הבא: lat={0}, lon={1}, timestamp={2}, hdop={3}, altitude={4}, speed={5}, bearing={6}.</string> <string name="live_monitoring_url_descr">נא לציין את כתובת השרת עם המשתנים בתחביר הבא: lat={0}, lon={1}, timestamp={2}, hdop={3}, altitude={4}, speed={5}, bearing={6}.</string>
@ -307,7 +308,8 @@
<string name="osmand_service">מצב רקע</string> <string name="osmand_service">מצב רקע</string>
<string name="osmand_service_descr">OsmAnd פועל ברקע בזמן שהמסך כבוי.</string> <string name="osmand_service_descr">OsmAnd פועל ברקע בזמן שהמסך כבוי.</string>
<string name="download_files_not_enough_space">אין די מקום כדי להוריד %1$s מ״ב (פנויים: %2$s).</string> <string name="download_files_not_enough_space">אין די מקום כדי להוריד %1$s מ״ב (פנויים: %2$s).</string>
<string name="download_files_question_space">להוריד {0} קבצים\? {1} מ״ב (מתוך {2} מ״ב) ינוצלו.</string> <string name="download_files_question_space">להוריד {0} קבצים\?
\n {1} מ״ב (מתוך {2} מ״ב) ינוצלו.</string>
<string name="use_transparent_map_theme">ערכת עיצוב שקופה</string> <string name="use_transparent_map_theme">ערכת עיצוב שקופה</string>
<string name="native_library_not_supported">אין תמיכה בספרייה טבעית בהתקן זה.</string> <string name="native_library_not_supported">אין תמיכה בספרייה טבעית בהתקן זה.</string>
<string name="init_native_library">הספרייה הטבעית מופעלת…</string> <string name="init_native_library">הספרייה הטבעית מופעלת…</string>
@ -541,7 +543,7 @@
<string name="phone">טלפון</string> <string name="phone">טלפון</string>
<string name="download_type_to_filter">יש להקליד כדי לסנן</string> <string name="download_type_to_filter">יש להקליד כדי לסנן</string>
<string name="use_high_res_maps">תצוגה ברזולוציה גבוהה</string> <string name="use_high_res_maps">תצוגה ברזולוציה גבוהה</string>
<string name="use_high_res_maps_descr">אין למתוח (או לטשטש) אריחי מפה בתצוגות בצפיפות גבוהה.</string> <string name="use_high_res_maps_descr">לא למתוח (או לטשטש) אריחי מפה בתצוגות בצפיפות גבוהה.</string>
<string name="context_menu_item_search_transport">חיפוש תחבורה ציבורית</string> <string name="context_menu_item_search_transport">חיפוש תחבורה ציבורית</string>
<string name="transport_searching_transport">תוצאות תחבורה (אין יעד):</string> <string name="transport_searching_transport">תוצאות תחבורה (אין יעד):</string>
<string name="transport_searching_route">תוצאות תחבורה ({0} ליעד):</string> <string name="transport_searching_route">תוצאות תחבורה ({0} ליעד):</string>
@ -670,11 +672,11 @@
<string name="search_offline_address">בלתי מקוון</string> <string name="search_offline_address">בלתי מקוון</string>
<string name="search_online_address">אינטרנט</string> <string name="search_online_address">אינטרנט</string>
<string name="max_level_download_tile">תקריב מרבי מקוון</string> <string name="max_level_download_tile">תקריב מרבי מקוון</string>
<string name="max_level_download_tile_descr">לא לעיין באריחי מפה מקוונים לרמות תקריב שהן מעבר לרמה זו.</string> <string name="max_level_download_tile_descr">לא לעיין במפות מקוונות לרמות תקריב שהן מעבר לרמה זו.</string>
<string name="route_general_information">סך כל המרחק: %1$s, זמן הנסיעה: %2$d שע׳ %3$d דק׳.</string> <string name="route_general_information">סך כל המרחק: %1$s, זמן הנסיעה: %2$d שע׳ %3$d דק׳.</string>
<string name="router_service_descr">שירות ניווט מקוון או בלתי מקוון.</string> <string name="router_service_descr">שירות ניווט מקוון או בלתי מקוון.</string>
<string name="router_service">שירות ניווט</string> <string name="router_service">שירות ניווט</string>
<string name="sd_dir_not_accessible">תיקיית אחסון הנתונים בכרטיס הזיכרון אינה נגישה!</string> <string name="sd_dir_not_accessible">תיקיית האחסון בכרטיס הזיכרון אינה נגישה!</string>
<string name="download_question">האם להוריד {0} - {1} ?</string> <string name="download_question">האם להוריד {0} - {1} ?</string>
<string name="download_question_exist">הנתונים הבלתי מקוונים עבור {0} כבר קיימים ({1}). לעדכן אותם ({2}) ?</string> <string name="download_question_exist">הנתונים הבלתי מקוונים עבור {0} כבר קיימים ({1}). לעדכן אותם ({2}) ?</string>
<string name="address">כתובת</string> <string name="address">כתובת</string>
@ -719,7 +721,7 @@
<string name="finished_task">בוצע</string> <string name="finished_task">בוצע</string>
<string name="use_online_routing_descr">שימוש באינטרנט כדי לחשב מסלול.</string> <string name="use_online_routing_descr">שימוש באינטרנט כדי לחשב מסלול.</string>
<string name="use_online_routing">שימוש בניווט מקוון</string> <string name="use_online_routing">שימוש בניווט מקוון</string>
<string name="osm_settings_descr">נא לציין הגדרות Openstreetmap.org (OSM) הנדרשות לשליחות אל OSM.</string> <string name="osm_settings_descr">נא לציין הגדרות OpenStreetMap.org (OSM) הנדרשות לשליחות אל OSM.</string>
<string name="data_settings_descr">הגדרת שפה, הורדה/רענון של הנתונים.</string> <string name="data_settings_descr">הגדרת שפה, הורדה/רענון של הנתונים.</string>
<string name="data_settings">נתונים</string> <string name="data_settings">נתונים</string>
<string name="osm_settings">עריכה של OpenStreetMap</string> <string name="osm_settings">עריכה של OpenStreetMap</string>
@ -748,7 +750,7 @@
<string name="map_view_3d">הצגת המפה בתלת־ממד</string> <string name="map_view_3d">הצגת המפה בתלת־ממד</string>
<string name="show_poi_over_map_description">הצגת שכבת נקודות העניין האחרונות שהיו בשימוש.</string> <string name="show_poi_over_map_description">הצגת שכבת נקודות העניין האחרונות שהיו בשימוש.</string>
<string name="show_poi_over_map">הצגת שכבת נ״ע</string> <string name="show_poi_over_map">הצגת שכבת נ״ע</string>
<string name="map_tile_source_descr">נא לבחור מקור של אריחי מפה מקוונים או שמורים</string> <string name="map_tile_source_descr">נא לבחור מקור של אריחי מפה מקוונים או שמורים.</string>
<string name="map_tile_source">מקור אריחי המפה</string> <string name="map_tile_source">מקור אריחי המפה</string>
<string name="map_source">מקור המפה</string> <string name="map_source">מקור המפה</string>
<string name="use_internet">להשתמש באינטרנט</string> <string name="use_internet">להשתמש באינטרנט</string>
@ -830,7 +832,7 @@
<string name="email">דוא״ל</string> <string name="email">דוא״ל</string>
<string name="search_history_street">רחוב:\n {0}, {1}</string> <string name="search_history_street">רחוב:\n {0}, {1}</string>
<string name="osmand_plus_long_description_1000_chars">OsmAnd+ (OSM הכוונת ניווט אוטומטית) <string name="osmand_plus_long_description_1000_chars">OsmAnd+ (OSM הכוונת ניווט אוטומטית)
\n OsmAnd+ הנו יישום ניווט בקוד פתוח עם גישה למגוון רחב של נתונים מ־OpenStreetMap (OSM). ניתן לשמור את כל נתוני המפה על כרטיס הזיכרון של הטלפון לצורך שימוש ללא אינטרנט. OsmAnd מציעה גם תכונת טוויית מסלול הפועלת עם וללא אינטרנט וכוללת הנחייה קולית לכל פנייה ופנייה. \n OsmAnd+ הנו יישום ניווט בקוד פתוח עם גישה למגוון רחב של נתוני OSM. ניתן לשמור את כל נתוני המפה על כרטיס הזיכרון של הטלפון לצורך שימוש ללא אינטרנט. OsmAnd מציעה גם תכונת טוויית מסלול הפועלת עם וללא אינטרנט וכוללת הנחייה קולית לכל פנייה ופנייה.
\n \n
\n OsmAnd+ הנה הגרסה בתשלום של היישום, רכישת גרסה זו מהווה הבעת תמיכה במיזם, מימון פיתוח של תכונות חדשות ומבטיחה קבלת עדכונים במהירות. \n OsmAnd+ הנה הגרסה בתשלום של היישום, רכישת גרסה זו מהווה הבעת תמיכה במיזם, מימון פיתוח של תכונות חדשות ומבטיחה קבלת עדכונים במהירות.
\n \n
@ -851,7 +853,7 @@
\n</string> \n</string>
<string name="osmand_long_description_1000_chars">OsmAnd (OSM הכוונת ניווט אוטומטית) <string name="osmand_long_description_1000_chars">OsmAnd (OSM הכוונת ניווט אוטומטית)
\n \n
\n OsmAnd הנו יישום ניווט בקוד פתוח עם גישה למגוון רחב של נתונים מ־OpenStreetMap (OSM). ניתן לשמור את כל נתוני המפה על כרטיס הזיכרון של הטלפון לצורך שימוש ללא אינטרנט. OsmAnd מציעה גם תכונת טוויית מסלול הפועלת עם וללא אינטרנט וכוללת הנחייה קולית לכל פנייה ופנייה. \n OsmAnd הנו יישום ניווט בקוד פתוח עם גישה למגוון רחב של נתוני OSM. ניתן לשמור את כל נתוני המפה על כרטיס הזיכרון של הטלפון לצורך שימוש ללא אינטרנט. OsmAnd מציעה גם תכונת טוויית מסלול הפועלת עם וללא אינטרנט וכוללת הנחייה קולית לכל פנייה ופנייה.
\n \n
\n חלק מתכונות הליבה: - אפשרות להפעלה ללא אינטרנט (איחסון וקטורים או אריחי מפות שהתקבלו לתיקייה נבחרת) \n חלק מתכונות הליבה: - אפשרות להפעלה ללא אינטרנט (איחסון וקטורים או אריחי מפות שהתקבלו לתיקייה נבחרת)
\n - מפות וקטוריות דחוסות זמינות לכל חלקי העולם \n - מפות וקטוריות דחוסות זמינות לכל חלקי העולם
@ -932,7 +934,7 @@
<string name="srtm_paid_version_msg">נא לשקול לקנות את תוסף ‚קווי המתאר’ מהחנות כדי לתמוך בפיתוח עתידי.</string> <string name="srtm_paid_version_msg">נא לשקול לקנות את תוסף ‚קווי המתאר’ מהחנות כדי לתמוך בפיתוח עתידי.</string>
<string name="srtm_paid_version_title">תוסף קווי מתאר</string> <string name="srtm_paid_version_title">תוסף קווי מתאר</string>
<string name="intermediate_points_change_order">שינוי הסדר</string> <string name="intermediate_points_change_order">שינוי הסדר</string>
<string name="dropbox_plugin_description">תוסף Dropbox מאפשר לך לסנכרן מסלולים והערות שמע/וידאו עם חשבון ה־Dropbox שלך.</string> <string name="dropbox_plugin_description">ניתן לסנכרן מסלולים והערות שמע/וידאו עם חשבון ה־Dropbox שלך.</string>
<string name="dropbox_plugin_name">תוסף Dropbox</string> <string name="dropbox_plugin_name">תוסף Dropbox</string>
<string name="recording_context_menu_show">הצגה</string> <string name="recording_context_menu_show">הצגה</string>
<string name="recording_photo_description">תמונה %1$s %2$s</string> <string name="recording_photo_description">תמונה %1$s %2$s</string>
@ -1107,10 +1109,10 @@
<string name="import_gpx_failed_descr">לא ניתן לייבא את הקובץ. נא לוודא של־OsmAnd יש הרשאה לקרוא אותו.</string> <string name="import_gpx_failed_descr">לא ניתן לייבא את הקובץ. נא לוודא של־OsmAnd יש הרשאה לקרוא אותו.</string>
<string name="distance_moving">המרחק תוקן</string> <string name="distance_moving">המרחק תוקן</string>
<string name="quick_action_resume_pause_navigation">הפסקה/המשך בניווט</string> <string name="quick_action_resume_pause_navigation">הפסקה/המשך בניווט</string>
<string name="quick_action_resume_pause_navigation_descr">יש לגעת בכפתור זה כדי להמשיך את הניווט.</string> <string name="quick_action_resume_pause_navigation_descr">כפתור להשהיית או המשך הניווט.</string>
<string name="quick_action_show_navigation_finish_dialog">הצגת דו־שיח ‚סיום הניווט’</string> <string name="quick_action_show_navigation_finish_dialog">הצגת דו־שיח ‚סיום הניווט’</string>
<string name="quick_action_start_stop_navigation">התחלה/עצירת הניווט</string> <string name="quick_action_start_stop_navigation">התחלה/עצירת הניווט</string>
<string name="quick_action_start_stop_navigation_descr">יש ללחוץ על כפתור זה כדי להתחיל בניווט או כדי לסיים אותו.</string> <string name="quick_action_start_stop_navigation_descr">כפתור להתחלה או סיום הניווט.</string>
<string name="store_tracks_in_monthly_directories_descrp">אחסון המסלולים המוקלטים בתת־תיקיות לפי חודש ההקלטה (למשל: 2018-01).</string> <string name="store_tracks_in_monthly_directories_descrp">אחסון המסלולים המוקלטים בתת־תיקיות לפי חודש ההקלטה (למשל: 2018-01).</string>
<string name="mapillary_image">תמונת Mapillary</string> <string name="mapillary_image">תמונת Mapillary</string>
<string name="open_mapillary">פתיחת Mapillary</string> <string name="open_mapillary">פתיחת Mapillary</string>
@ -1131,10 +1133,10 @@
<string name="increase_search_radius">הגדלת רדיוס החיפוש</string> <string name="increase_search_radius">הגדלת רדיוס החיפוש</string>
<string name="nothing_found">לא נמצא כלום</string> <string name="nothing_found">לא נמצא כלום</string>
<string name="nothing_found_descr">עריכת החיפוש או הגדלת הטווח.</string> <string name="nothing_found_descr">עריכת החיפוש או הגדלת הטווח.</string>
<string name="quick_action_showhide_osmbugs_title">הצגה/הסתרה של הערות OSM</string> <string name="quick_action_showhide_osmbugs_title">הצגה או הסתרה של הערות OSM</string>
<string name="quick_action_osmbugs_show">הצגת הערות OSM</string> <string name="quick_action_osmbugs_show">הצגת הערות OSM</string>
<string name="quick_action_osmbugs_hide">הסתרת הערות OSM</string> <string name="quick_action_osmbugs_hide">הסתרת הערות OSM</string>
<string name="quick_action_showhide_osmbugs_descr">בורר להצגה או להסתרה של הערות OSM על המפה.</string> <string name="quick_action_showhide_osmbugs_descr">כפתור להצגה או להסתרה של הערות OSM על המפה.</string>
<string name="sorted_by_distance">מסודר לפי מרחק</string> <string name="sorted_by_distance">מסודר לפי מרחק</string>
<string name="search_favorites">חיפוש במועדפים</string> <string name="search_favorites">חיפוש במועדפים</string>
<string name="none_selected_gpx">יש לציין GPX בלחיצה ארוכה תחילה.</string> <string name="none_selected_gpx">יש לציין GPX בלחיצה ארוכה תחילה.</string>
@ -1445,7 +1447,7 @@
<string name="location_on_map">מיקום: <string name="location_on_map">מיקום:
\n רוחב %1$s \n רוחב %1$s
\n אורך %2$s</string> \n אורך %2$s</string>
<string name="notes">הערות</string> <string name="notes">הערות ק/ו</string>
<string name="online_map">מפה מקוונת</string> <string name="online_map">מפה מקוונת</string>
<string name="roads_only">דרכים בלבד</string> <string name="roads_only">דרכים בלבד</string>
<string name="rendering_attr_pisteRoutes_name">מדרוני סקי</string> <string name="rendering_attr_pisteRoutes_name">מדרוני סקי</string>
@ -1657,7 +1659,7 @@
<string name="quick_action_add_osm_bug_descr">כפתור להוספת הערת OSM במרכז המסך.</string> <string name="quick_action_add_osm_bug_descr">כפתור להוספת הערת OSM במרכז המסך.</string>
<string name="quick_action_add_poi_descr">כפתור להוספת נקודת עניין במרכז המסך.</string> <string name="quick_action_add_poi_descr">כפתור להוספת נקודת עניין במרכז המסך.</string>
<string name="quick_action_navigation_voice_descr">בורר להשבתה או הפעלה של הנחייה קולית במהלך ניווט.</string> <string name="quick_action_navigation_voice_descr">בורר להשבתה או הפעלה של הנחייה קולית במהלך ניווט.</string>
<string name="quick_action_add_parking_descr">כפתור להוספת מקום חנייה במרכז המסך.</string> <string name="quick_action_add_parking_descr">כפתור להוספת מיקום חנייה במרכז המסך.</string>
<string name="favorite_empty_place_name">מיקום</string> <string name="favorite_empty_place_name">מיקום</string>
<string name="quick_action_showhide_favorites_descr">בורר להצגה או הסתרה של הנקודות המועדפות במפה.</string> <string name="quick_action_showhide_favorites_descr">בורר להצגה או הסתרה של הנקודות המועדפות במפה.</string>
<string name="quick_action_showhide_poi_descr">בורר להצגה או הסתרה של נקודות עניין במפה.</string> <string name="quick_action_showhide_poi_descr">בורר להצגה או הסתרה של נקודות עניין במפה.</string>
@ -1720,7 +1722,7 @@
<string name="show_direction">חיווי מרחק</string> <string name="show_direction">חיווי מרחק</string>
<string name="sort_by">סידור לפי</string> <string name="sort_by">סידור לפי</string>
<string name="do_not_use_animations">ללא הנפשות</string> <string name="do_not_use_animations">ללא הנפשות</string>
<string name="do_not_use_animations_descr">השבתת הנפשות ביישומון.</string> <string name="do_not_use_animations_descr">השבתת הנפשות במפה.</string>
<string name="keep_showing_on_map">להמשיך להציג במפה</string> <string name="keep_showing_on_map">להמשיך להציג במפה</string>
<string name="exit_without_saving">לצאת בלי לשמור?</string> <string name="exit_without_saving">לצאת בלי לשמור?</string>
<string name="line">קו</string> <string name="line">קו</string>
@ -1763,8 +1765,8 @@
<string name="select_city">נא לבחור עיר</string> <string name="select_city">נא לבחור עיר</string>
<string name="select_postcode">חיפוש מיקוד</string> <string name="select_postcode">חיפוש מיקוד</string>
<string name="quick_action_auto_zoom">הפעלה/כיבוי של תקריב מפה אוטומטי</string> <string name="quick_action_auto_zoom">הפעלה/כיבוי של תקריב מפה אוטומטי</string>
<string name="quick_action_auto_zoom_on">הפעלת תקריב אוטומטי במפה</string> <string name="quick_action_auto_zoom_on">הפעלת תקריב אוטומטי</string>
<string name="quick_action_auto_zoom_off">השבתת תקריב אוטומטי במפה</string> <string name="quick_action_auto_zoom_off">כיבוי תקריב אוטומטי</string>
<string name="quick_action_add_destination">הגדרת יעד</string> <string name="quick_action_add_destination">הגדרת יעד</string>
<string name="quick_action_replace_destination">החלפת יעד</string> <string name="quick_action_replace_destination">החלפת יעד</string>
<string name="quick_action_add_first_intermediate">הוספת נקודת ביניים ראשונה</string> <string name="quick_action_add_first_intermediate">הוספת נקודת ביניים ראשונה</string>
@ -1821,7 +1823,7 @@
<string name="osn_close_dialog_title">סגירת הערה</string> <string name="osn_close_dialog_title">סגירת הערה</string>
<string name="osn_add_dialog_success">נוצרה הערה</string> <string name="osn_add_dialog_success">נוצרה הערה</string>
<string name="osn_add_dialog_error">לא ניתן ליצור הערה.</string> <string name="osn_add_dialog_error">לא ניתן ליצור הערה.</string>
<string name="marker_show_distance_descr">נא לבחור כיצד לציין את המרחק והכיוון לסמני המפה במסך המפה:</string> <string name="marker_show_distance_descr">נא לבחור כיצד לציין את המרחק והכיוון לסמני המפה במפה:</string>
<string name="map_orientation_change_in_accordance_with_speed">סף כיווניות מפה</string> <string name="map_orientation_change_in_accordance_with_speed">סף כיווניות מפה</string>
<string name="all_markers_moved_to_history">כל סמני המפה הועברה להיסטוריה</string> <string name="all_markers_moved_to_history">כל סמני המפה הועברה להיסטוריה</string>
<string name="marker_moved_to_history">סמן המפה הועבר להיסטוריה</string> <string name="marker_moved_to_history">סמן המפה הועבר להיסטוריה</string>
@ -1833,8 +1835,8 @@
<string name="today">היום</string> <string name="today">היום</string>
<string name="yesterday">אתמול</string> <string name="yesterday">אתמול</string>
<string name="quick_action_auto_zoom_desc">בורר לכיבוי/הפעלה של התקריב האוטומטי במפה בהתאם למהירות שלך.</string> <string name="quick_action_auto_zoom_desc">בורר לכיבוי/הפעלה של התקריב האוטומטי במפה בהתאם למהירות שלך.</string>
<string name="quick_action_add_destination_desc">כפתור למירכוז המפה סביב יעד המסלול, יעד כלשהו שנבחר קודם לכן יהפוך להיות נקודת הביניים האחרונה.</string> <string name="quick_action_add_destination_desc">כפתור למירכוז המפה סביב יעד המסלול, יעד שנבחר קודם לכן יהפוך להיות נקודת הביניים האחרונה.</string>
<string name="quick_action_replace_destination_desc">נגיעה בכפתור הפעולה מחליפה את מרכז המסך ליעד הנתיב החדש תוך החלפת כל יעד קודם (אם היה כזה).</string> <string name="quick_action_replace_destination_desc">כפתור להפיכת מרכז המסך ליעד המסלול החדש תוך החלפת כל יעד קודם (אם היה כזה).</string>
<string name="quick_action_add_first_intermediate_desc">כפתור זה מכוון את מרכז המסך ליעד הביניים הראשון.</string> <string name="quick_action_add_first_intermediate_desc">כפתור זה מכוון את מרכז המסך ליעד הביניים הראשון.</string>
<string name="no_overlay">אין שכבת על</string> <string name="no_overlay">אין שכבת על</string>
<string name="no_underlay">אין שכבה תחתונה</string> <string name="no_underlay">אין שכבה תחתונה</string>
@ -1844,7 +1846,7 @@
<string name="shared_string_topbar">סרגל עליון</string> <string name="shared_string_topbar">סרגל עליון</string>
<string name="full_report">דוח מלא</string> <string name="full_report">דוח מלא</string>
<string name="recalculate_route">חישוב המסלול מחדש</string> <string name="recalculate_route">חישוב המסלול מחדש</string>
<string name="open_street_map_login_and_pass">שם משתמש וססמה ב־OpenStreetMap</string> <string name="open_street_map_login_and_pass">שם משתמש וססמה ב־OSM</string>
<string name="donations">תרומות</string> <string name="donations">תרומות</string>
<string name="number_of_recipients">מספר הנמענים</string> <string name="number_of_recipients">מספר הנמענים</string>
<string name="osm_editors_ranking">דירוג עורך ב־OSM</string> <string name="osm_editors_ranking">דירוג עורך ב־OSM</string>
@ -2000,9 +2002,9 @@
<string name="shared_string_edited">נערכה</string> <string name="shared_string_edited">נערכה</string>
<string name="shared_string_added">נוספה</string> <string name="shared_string_added">נוספה</string>
<string name="marker_activated">הסמן %s הופעל.</string> <string name="marker_activated">הסמן %s הופעל.</string>
<string name="empty_state_av_notes">אפשר לשמור הערות!</string> <string name="empty_state_av_notes">אפשר ליצור הערות!</string>
<string name="empty_state_av_notes_desc">ניתן להוסיף הערה מסוג שמע, וידאו או תמונה לכל נקודה במפה באמצעות וידג׳ט או תפריט הקשר.</string> <string name="empty_state_av_notes_desc">ניתן להוסיף הערה מסוג שמע, וידאו או תמונה לכל נקודה במפה באמצעות וידג׳ט או תפריט הקשר.</string>
<string name="notes_by_date">הערות לפי תאריך</string> <string name="notes_by_date">הערות OSM לפי תאריך</string>
<string name="by_date">לפי תאריך</string> <string name="by_date">לפי תאריך</string>
<string name="by_type">לפי סוג</string> <string name="by_type">לפי סוג</string>
<string name="subscribe_email_desc">ניתן להירשם לרשימת הדיוור שלנו כדי לקבל הנחות על היישומון ולקבל עוד 3 הורדות של מפות בחינם!</string> <string name="subscribe_email_desc">ניתן להירשם לרשימת הדיוור שלנו כדי לקבל הנחות על היישומון ולקבל עוד 3 הורדות של מפות בחינם!</string>
@ -2141,8 +2143,8 @@
<string name="plugin_nautical_name">תצוגת מפה ימית</string> <string name="plugin_nautical_name">תצוגת מפה ימית</string>
<string name="plugin_ski_name">תצוגת מפת סקי</string> <string name="plugin_ski_name">תצוגת מפת סקי</string>
<string name="share_note">שיתוף פתק</string> <string name="share_note">שיתוף פתק</string>
<string name="world_ski_missing">כדי להציג מפות סקי יש להוריד מפה מיוחדת בלתי מקוונת</string> <string name="world_ski_missing">הורדת המפה הבלתי מקוונת המיוחדת כדי להציג תכונות סקי.</string>
<string name="nautical_maps_missing">כדי להציג מפות ימיות, יש להוריד מפות מיוחדות בלתי מקוונות</string> <string name="nautical_maps_missing">הורדת המפה הבלתי מקוונת המיוחדת כדי להציג פרטים ימיים.</string>
<string name="avoid_roads_msg">ניתן לבקש נתיב חלופי על ידי בחירת דרכים בלתי רצויות</string> <string name="avoid_roads_msg">ניתן לבקש נתיב חלופי על ידי בחירת דרכים בלתי רצויות</string>
<string name="routing_attr_no_new_routing_name">כללי ניתוב גרסה 1.9</string> <string name="routing_attr_no_new_routing_name">כללי ניתוב גרסה 1.9</string>
<string name="routing_attr_no_new_routing_description">לא להשתמש בכללי הניתוב שנוספו ב־1.9.</string> <string name="routing_attr_no_new_routing_description">לא להשתמש בכללי הניתוב שנוספו ב־1.9.</string>
@ -2279,7 +2281,7 @@
<string name="local_index_tile_data_name">נתוני אריח: %1$s</string> <string name="local_index_tile_data_name">נתוני אריח: %1$s</string>
<string name="edit_tilesource_successfully">מקור האריחים %1$s נשמר</string> <string name="edit_tilesource_successfully">מקור האריחים %1$s נשמר</string>
<string name="driving_region_descr">נא לבחור את איזור הנהיגה: ארה״ב, אירופה, הממלכה המאוחדת, אסיה ואחרות.</string> <string name="driving_region_descr">נא לבחור את איזור הנהיגה: ארה״ב, אירופה, הממלכה המאוחדת, אסיה ואחרות.</string>
<string name="speak_descr">הגדרת הקראה של שמות רחובות, אזהרות תנועה (עצירות מאולצות, פסי האטה), אזהרות על מצלמות מהירות, מגבלת מהירות.</string> <string name="speak_descr">הגדרת הקראת שמות רחובות, אזהרות תנועה (עצירות מאולצות, פסי האטה), אזהרות על מצלמות מהירות ומגבלות מהירות.</string>
<string name="animate_my_location_desc">הפעלת הנפשת גלישת מפה של ה‚מיקום שלי’ במהלך ניווט.</string> <string name="animate_my_location_desc">הפעלת הנפשת גלישת מפה של ה‚מיקום שלי’ במהלך ניווט.</string>
<string name="shared_string_in_name">ב־%1$s</string> <string name="shared_string_in_name">ב־%1$s</string>
<string name="one_tap_active_descr">ניתן לגעת בסמן על המפה כדי להעביר אותו לראש הסמנים הפעילים מבלי לפתוח את תפריט ההקשר.</string> <string name="one_tap_active_descr">ניתן לגעת בסמן על המפה כדי להעביר אותו לראש הסמנים הפעילים מבלי לפתוח את תפריט ההקשר.</string>
@ -2332,8 +2334,8 @@
<string name="custom_search">חיפוש בהתאמה אישית</string> <string name="custom_search">חיפוש בהתאמה אישית</string>
<string name="new_filter_desc">נא להקליד שם למסנן החדש, שם זה יצטרף ללשוניות ה‚קטגוריות’ שלך.</string> <string name="new_filter_desc">נא להקליד שם למסנן החדש, שם זה יצטרף ללשוניות ה‚קטגוריות’ שלך.</string>
<string name="osm_live_payment_desc">עמלת המינוי תיגבה כל חודש. ניתן לבטל את המינוי ב־Google Play בכל עת.</string> <string name="osm_live_payment_desc">עמלת המינוי תיגבה כל חודש. ניתן לבטל את המינוי ב־Google Play בכל עת.</string>
<string name="donation_to_osm">תרומה לקהילת OpenStreetMap</string> <string name="donation_to_osm">תרומה לקהילת OSM</string>
<string name="donation_to_osm_desc">חלק מהתרומה שלך נשלחת למשתמשי OSM שמגישים שינויים ל־OpenStreetMap. עלות המינוי נותרת בעינה.</string> <string name="donation_to_osm_desc">חלק מהתרומה שלך נשלחת למתנדבי OSM. עלות המינוי נותרת בעינה.</string>
<string name="osm_live_subscription_desc">מינוי מאפשר עדכונים שעתיים, יומיים או שבועיים ואפשרות להורדת כל המפות בכל העולם ללא הגבלה.</string> <string name="osm_live_subscription_desc">מינוי מאפשר עדכונים שעתיים, יומיים או שבועיים ואפשרות להורדת כל המפות בכל העולם ללא הגבלה.</string>
<string name="get_it">הרשמה</string> <string name="get_it">הרשמה</string>
<string name="get_for">הרשמה למשך %1$s</string> <string name="get_for">הרשמה למשך %1$s</string>
@ -2445,11 +2447,11 @@
<string name="nothing_found_in_radius">לא נמצא שום דבר:</string> <string name="nothing_found_in_radius">לא נמצא שום דבר:</string>
<string name="switch_osm_notes_visibility_desc">הצגה/הסתרה של הערות OSM במפה.</string> <string name="switch_osm_notes_visibility_desc">הצגה/הסתרה של הערות OSM במפה.</string>
<string name="gpx_file_desc">GPX - מתאים לייצוא ל־JOSM או עורכי OSM אחרים.</string> <string name="gpx_file_desc">GPX - מתאים לייצוא ל־JOSM או עורכי OSM אחרים.</string>
<string name="osc_file_desc">OSC - מתאים לייצוא ל־OpenStreetMap.</string> <string name="osc_file_desc">OSC - מתאים לייצוא ל־OSM.</string>
<string name="shared_string_gpx_file">קובץ GPX</string> <string name="shared_string_gpx_file">קובץ GPX</string>
<string name="osc_file">קובץ OSC</string> <string name="osc_file">קובץ OSC</string>
<string name="choose_file_type">נא לבחור את סוג הקובץ</string> <string name="choose_file_type">נא לבחור את סוג הקובץ</string>
<string name="osm_edits_export_desc">נא לבחור את סוג הייצוא: הערות OSM, נקודות עניין או גם וגם.</string> <string name="osm_edits_export_desc">ייצוא בתור הערות OSM, נקודות עניין או גם וגם.</string>
<string name="all_data">כל הנתונים</string> <string name="all_data">כל הנתונים</string>
<string name="osm_notes">הערות OSM</string> <string name="osm_notes">הערות OSM</string>
<string name="parked_at">מיקום החנייה</string> <string name="parked_at">מיקום החנייה</string>
@ -2472,7 +2474,7 @@
<string name="access_direction_haptic_feedback">חיווי כיוון ברטט</string> <string name="access_direction_haptic_feedback">חיווי כיוון ברטט</string>
<string name="access_direction_haptic_feedback_descr">ציון כיוון נקודת היעד באמצעות רטט.</string> <string name="access_direction_haptic_feedback_descr">ציון כיוון נקודת היעד באמצעות רטט.</string>
<string name="use_osm_live_routing_description">הפעלת ניווט עבור השינויים החיים ב־OsmAnd.</string> <string name="use_osm_live_routing_description">הפעלת ניווט עבור השינויים החיים ב־OsmAnd.</string>
<string name="storage_directory_readonly_desc">בוצעה העברה לזיכרון הפנימי כיוון שתיקיית אחסון הנתונים הנבחרת היא לקריאה בלבד. נא לבחור תיקיית אחסון עם הרשאות כתיבה.</string> <string name="storage_directory_readonly_desc">בוצעה העברה לזיכרון הפנימי כיוון שתיקיית אחסון הנתונים הנבחרת מוגנת מפני כתיבה. נא לבחור תיקיית אחסון עם הרשאות כתיבה.</string>
<string name="show_transparency_seekbar">הצגת סרגל כוונון שקיפות</string> <string name="show_transparency_seekbar">הצגת סרגל כוונון שקיפות</string>
<string name="upload_osm_note">שליחת הערת OSM</string> <string name="upload_osm_note">שליחת הערת OSM</string>
<string name="map_marker_1st">סמן המפה הראשון</string> <string name="map_marker_1st">סמן המפה הראשון</string>
@ -2495,7 +2497,9 @@
<string name="shared_string_explore">סיור</string> <string name="shared_string_explore">סיור</string>
<string name="access_disable_offroute_recalc">אין אפשרות לחישוב מסלול מחדש לאחר עזיבת המסלול</string> <string name="access_disable_offroute_recalc">אין אפשרות לחישוב מסלול מחדש לאחר עזיבת המסלול</string>
<string name="access_disable_offroute_recalc_descr">אין אפשרות לחישוב המסלול מחדש לאחר חריגה מהמסלול.</string> <string name="access_disable_offroute_recalc_descr">אין אפשרות לחישוב המסלול מחדש לאחר חריגה מהמסלול.</string>
<string name="download_files_error_not_enough_space">אין מספיק מקום! נחוצים {3} מ״ב באופן זמני, {1} מ״ב באופן קבוע. (יש רק {2} מ״ב זמינים.)</string> <string name="download_files_error_not_enough_space">אין מספיק מקום!
\n נחוצים {3} מ״ב באופן זמני, {1} מ״ב באופן קבוע.
\n (יש רק {2} מ״ב זמינים.)</string>
<string name="fav_point_dublicate">צוין שם כפול למועדף</string> <string name="fav_point_dublicate">צוין שם כפול למועדף</string>
<string name="shared_string_read">נקרא</string> <string name="shared_string_read">נקרא</string>
<string name="shared_string_contents">תכנים</string> <string name="shared_string_contents">תכנים</string>
@ -2598,7 +2602,8 @@
<string name="purchase_dialog_travel_description">עליך לרכוש את אחד מהפריטים הבאים כדי לקבל את תכונת הדרכות התיירות:</string> <string name="purchase_dialog_travel_description">עליך לרכוש את אחד מהפריטים הבאים כדי לקבל את תכונת הדרכות התיירות:</string>
<string name="purchase_dialog_subtitle">נא לבחור את הפריט המתאים</string> <string name="purchase_dialog_subtitle">נא לבחור את הפריט המתאים</string>
<string name="rendering_attr_depthContours_name">קווי עומק ימיים</string> <string name="rendering_attr_depthContours_name">קווי עומק ימיים</string>
<string name="download_files_question_space_with_temp">להוריד {0} קבצים\? {3} מ״ב ינוצלו באופן זמני, {1} מ״ב באופן קבוע. (מתוך {2} מ״ב.)</string> <string name="download_files_question_space_with_temp">להוריד {0} קבצים\?
\n {3} מ״ב ינוצלו באופן זמני, {1} מ״ב באופן קבוע. (מתוך {2} מ״ב.)</string>
<string name="world_map_download_descr">מפת הבסיס העולמית (המכסה את כל העולם ברמות תקריב נמוכות) חסרה או שאינה עדכנית. נא לשקול להוריד אותה כדי לקבל סקירה גלובלית.</string> <string name="world_map_download_descr">מפת הבסיס העולמית (המכסה את כל העולם ברמות תקריב נמוכות) חסרה או שאינה עדכנית. נא לשקול להוריד אותה כדי לקבל סקירה גלובלית.</string>
<string name="hillshade_layer_disabled">מפת ההצללה מושבתת</string> <string name="hillshade_layer_disabled">מפת ההצללה מושבתת</string>
<string name="app_mode_hiking">טיול רגלי</string> <string name="app_mode_hiking">טיול רגלי</string>
@ -2614,7 +2619,7 @@
<string name="android_19_location_disabled">בגרסה 4.4 של Android (KitKat) ואילך תיקיית האחסון הישנה (%s) אינה תקפה עוד. להעתיק את כל הקבצים של OsmAnd למיקום האחסון החדש\? <string name="android_19_location_disabled">בגרסה 4.4 של Android (KitKat) ואילך תיקיית האחסון הישנה (%s) אינה תקפה עוד. להעתיק את כל הקבצים של OsmAnd למיקום האחסון החדש\?
\n הערה 1: הקבצים הקודמים שלך יישארו כמו שהם (ניתן יהיה למחוק אותם ידנית). \n הערה 1: הקבצים הקודמים שלך יישארו כמו שהם (ניתן יהיה למחוק אותם ידנית).
\n הערה 2: במיקום האחסון החדש לא תהיה אפשרות לשתף קבצים בין OsmAnd לבין OsmAnd+.</string> \n הערה 2: במיקום האחסון החדש לא תהיה אפשרות לשתף קבצים בין OsmAnd לבין OsmAnd+.</string>
<string name="osmand_extended_description_part1">OsmAnd (OSM Automated Navigation Directions - ניווט והכוונה אוטומטיים) הוא יישומון מפה וניווט עם גישה לנתוני OpenStreetMap (OSM) החופשיים, הבינלאומיים באיכות גבוהה. <string name="osmand_extended_description_part1">OsmAnd (OSM Automated Navigation Directions - ניווט והכוונה אוטומטיים) הוא יישומון מפה וניווט עם גישה לנתוני OSM החופשיים, הבינלאומיים באיכות גבוהה.
\n \n
\n ניתן ליהנות מניווט קולי וחזותי, צפייה בנקודות עניין וניהול מסלולי GPX, שימוש בתחזית קווי מתאר ופרטי גובה (בעזרת תוסף), בחירה בין מצבי נהיגה, רכיבה והליכה, עריכת OSM ועוד פינוקים רבים וטובים.</string> \n ניתן ליהנות מניווט קולי וחזותי, צפייה בנקודות עניין וניהול מסלולי GPX, שימוש בתחזית קווי מתאר ופרטי גובה (בעזרת תוסף), בחירה בין מצבי נהיגה, רכיבה והליכה, עריכת OSM ועוד פינוקים רבים וטובים.</string>
<string name="paid_app">יישומון בתשלום</string> <string name="paid_app">יישומון בתשלום</string>
@ -2633,7 +2638,9 @@
<string name="wikivoyage_travel_guide_descr">מדריכים למקומות המעניינים ביותר בעולם, בתוך OsmAnd, ללא חיבור לאינטרנט.</string> <string name="wikivoyage_travel_guide_descr">מדריכים למקומות המעניינים ביותר בעולם, בתוך OsmAnd, ללא חיבור לאינטרנט.</string>
<string name="contour_lines_hillshade_maps">קווי מתאר ומפות הצללה</string> <string name="contour_lines_hillshade_maps">קווי מתאר ומפות הצללה</string>
<string name="popular_destinations">יעדים נפוצים</string> <string name="popular_destinations">יעדים נפוצים</string>
<string name="osm_live_header">מינוי זה מאפשר לך לקבל עדכונים שעתיים של כל המפות ברחבי העולם. חלק מההכנסה חוזר אל קהילת OSM והוא מוענק לכל תורם OSM. אם OsmAnd ו־OSM נושאים חן בעיניך וברצונך לתמוך ולהיתמך על ידיהם, זו הדרך המושלמת לעשות זאת.</string> <string name="osm_live_header">מינוי זה מאפשר לך לקבל עדכונים שעתיים של כל המפות ברחבי העולם.
\n חלק מההכנסה חוזר אל קהילת OSM והוא מוענק לכל תורם OSM.
\n אם OsmAnd ו־OSM נושאים חן בעיניך וברצונך לתמוך ולהיתמך על ידיהם, זו הדרך המושלמת לעשות זאת.</string>
<string name="record_plugin_description">תוסף זה מפעיל את התכונה להקלטת ולשמירת המסלולים שלך על ידי נגיעה באופן ידני בווידג׳ט רישום ה־GPX במפה, או גם לערוך רישום של כל נתיבי הניווט שלך לקובץ GPX. <string name="record_plugin_description">תוסף זה מפעיל את התכונה להקלטת ולשמירת המסלולים שלך על ידי נגיעה באופן ידני בווידג׳ט רישום ה־GPX במפה, או גם לערוך רישום של כל נתיבי הניווט שלך לקובץ GPX.
\n \n
\nניתן לשתף נתיבים מוקלטים עם חבריך או להשתמש בהם כתרומה ל־OSM. אתלטים יכולים להשתמש במסלולים מוקלטים כדי לעקוב אחר האימונים שלהם. ניתן לבצע ניתוח מסלול בסיסי ישירות ב־OsmAnd, כמו זמני הקפה, מהירות ממוצעת וכו׳, כמו כן, ניתן לנתח את המסלולים בשלב מאוחר יותר על ידי כלי ניתוח מיוחדים מגורמי צד־שלישי.</string> \nניתן לשתף נתיבים מוקלטים עם חבריך או להשתמש בהם כתרומה ל־OSM. אתלטים יכולים להשתמש במסלולים מוקלטים כדי לעקוב אחר האימונים שלהם. ניתן לבצע ניתוח מסלול בסיסי ישירות ב־OsmAnd, כמו זמני הקפה, מהירות ממוצעת וכו׳, כמו כן, ניתן לנתח את המסלולים בשלב מאוחר יותר על ידי כלי ניתוח מיוחדים מגורמי צד־שלישי.</string>
@ -2657,7 +2664,7 @@
\n • תמיכה בנקודות ביניים לאורך תכנית המסלול שלך \n • תמיכה בנקודות ביניים לאורך תכנית המסלול שלך
\n • הקלטת או העלאת מסלול GPX משלך ולעקוב אחריו \n • הקלטת או העלאת מסלול GPX משלך ולעקוב אחריו
\n</string> \n</string>
<string name="osmand_plus_extended_description_part1">OsmAnd+ (OSM הכוונת ניווט אוטומטית - Automated Navigation Directions) הוא יישומון מפה וניווט עם גישה לנתוני OpenStreetMap (OSM) האיכותיים והגלובליים. <string name="osmand_plus_extended_description_part1">OsmAnd+ (OSM הכוונת ניווט אוטומטית - Automated Navigation Directions) הוא יישומון מפה וניווט עם גישה לנתוני OSM האיכותיים והגלובליים.
\n ניתן ליהנות מניווט קולי וחזותי, לצפות בנ״ע (נקודות עניין), ליצור ולנהל מסלולי GPX, להשתמש בהכוונה חזותית של קווי מתאר ופרטי גובה, בחירה בין מצבי נהיגה, רכיבה והליכה ברגל, עריכת OSM ועוד. \n ניתן ליהנות מניווט קולי וחזותי, לצפות בנ״ע (נקודות עניין), ליצור ולנהל מסלולי GPX, להשתמש בהכוונה חזותית של קווי מתאר ופרטי גובה, בחירה בין מצבי נהיגה, רכיבה והליכה ברגל, עריכת OSM ועוד.
\n \n
\n OsmAnd+ הנה הגרסה בתשלום של היישומון. רכישת המוצר, מביעה את תמיכתך במיזם, ניתן גם לממן פיתוח של תכונות חדשות ולקבל את העדכונים החדשים ביותר. \n OsmAnd+ הנה הגרסה בתשלום של היישומון. רכישת המוצר, מביעה את תמיכתך במיזם, ניתן גם לממן פיתוח של תכונות חדשות ולקבל את העדכונים החדשים ביותר.
@ -2849,7 +2856,7 @@
<string name="osm_live_payment_renews_annually">מתחדש שנתית</string> <string name="osm_live_payment_renews_annually">מתחדש שנתית</string>
<string name="default_price_currency_format">%1$.2f %2$s</string> <string name="default_price_currency_format">%1$.2f %2$s</string>
<string name="osm_live_payment_header">מחזור תשלום:</string> <string name="osm_live_payment_header">מחזור תשלום:</string>
<string name="osm_live_payment_contribute_descr">התורמות מסייעות במימון מאמצי המיפוי של OpenStreetMap.</string> <string name="osm_live_payment_contribute_descr">התרומות מסייעות במימון מאמצי המיפוי של OSM.</string>
<string name="powered_by_osmand">על ידי OsmAnd</string> <string name="powered_by_osmand">על ידי OsmAnd</string>
<string name="osm_live_subscriptions">מינויים</string> <string name="osm_live_subscriptions">מינויים</string>
<string name="mapillary_menu_title_pano">הצגת תמונות 360° בלבד</string> <string name="mapillary_menu_title_pano">הצגת תמונות 360° בלבד</string>
@ -2874,7 +2881,7 @@
<string name="voice_announcements">הנחיות קוליות</string> <string name="voice_announcements">הנחיות קוליות</string>
<string name="intermediate_destinations">יעדי ביניים</string> <string name="intermediate_destinations">יעדי ביניים</string>
<string name="arrive_at_time">הגעה ב־%1$s</string> <string name="arrive_at_time">הגעה ב־%1$s</string>
<string name="quick_action_switch_day_night_descr">בורר להחלפה בין מצבי יום ולילה עבור OsmAnd.</string> <string name="quick_action_switch_day_night_descr">בורר להחלפה בין מצבי יום ולילה ב־OsmAnd.</string>
<string name="quick_action_switch_day_mode">מצב יום</string> <string name="quick_action_switch_day_mode">מצב יום</string>
<string name="quick_action_switch_night_mode">מצב לילה</string> <string name="quick_action_switch_night_mode">מצב לילה</string>
<string name="quick_action_day_night_switch_mode">החלפה בין מצבי יום/לילה</string> <string name="quick_action_day_night_switch_mode">החלפה בין מצבי יום/לילה</string>
@ -2901,7 +2908,7 @@
<string name="routeInfo_road_types_name">סוגי כבישים</string> <string name="routeInfo_road_types_name">סוגי כבישים</string>
<string name="exit_at">לצאת ב־</string> <string name="exit_at">לצאת ב־</string>
<string name="quick_action_show_hide_gpx_tracks">הצגה/הסתרה של מסלולי GPX</string> <string name="quick_action_show_hide_gpx_tracks">הצגה/הסתרה של מסלולי GPX</string>
<string name="quick_action_show_hide_gpx_tracks_descr">בורר להצגה או הסתרה של מסלולי ה־GPX הנבחרים במפה.</string> <string name="quick_action_show_hide_gpx_tracks_descr">כפתור להצגה או הסתרה של מסלולי ה־GPX הנבחרים במפה.</string>
<string name="quick_action_gpx_tracks_hide">הסתרת מסלולי GPX</string> <string name="quick_action_gpx_tracks_hide">הסתרת מסלולי GPX</string>
<string name="quick_action_gpx_tracks_show">הצגת מסלולי GPX</string> <string name="quick_action_gpx_tracks_show">הצגת מסלולי GPX</string>
<string name="use_osm_live_public_transport_description">הפעלת תחבורה ציבורית לשינויים ב־OsmAnd החי.</string> <string name="use_osm_live_public_transport_description">הפעלת תחבורה ציבורית לשינויים ב־OsmAnd החי.</string>
@ -3348,7 +3355,7 @@
<string name="quick_action_hillshade_show">הצגת הצללה</string> <string name="quick_action_hillshade_show">הצגת הצללה</string>
<string name="quick_action_hillshade_hide">הסתרת הצללה</string> <string name="quick_action_hillshade_hide">הסתרת הצללה</string>
<string name="quick_action_show_hide_hillshade">הצגה/הסתרה של הצללה</string> <string name="quick_action_show_hide_hillshade">הצגה/הסתרה של הצללה</string>
<string name="tts_initialization_error">לא ניתן להפעיל מנוע המרת טקסט לדיבור</string> <string name="tts_initialization_error">לא ניתן להפעיל מנוע המרת טקסט לדיבור.</string>
<string name="simulate_your_location_gpx_descr">הדמיית המיקום שלך באמצעות מסלול GPX שהוקלט מראש.</string> <string name="simulate_your_location_gpx_descr">הדמיית המיקום שלך באמצעות מסלול GPX שהוקלט מראש.</string>
<string name="export_profile">ייצוא פרופיל</string> <string name="export_profile">ייצוא פרופיל</string>
<string name="exported_osmand_profile">פרופיל OsmAnd: %1$s</string> <string name="exported_osmand_profile">פרופיל OsmAnd: %1$s</string>
@ -3435,7 +3442,7 @@
<string name="select_nav_icon_descr">הסמל יופיע רק בזמן הניווט או בזמן תזוזה.</string> <string name="select_nav_icon_descr">הסמל יופיע רק בזמן הניווט או בזמן תזוזה.</string>
<string name="select_map_icon_descr">סמל המפה מופיע במפה בלבד והוא מתחלף בעת הניווט לסמל הניווט.</string> <string name="select_map_icon_descr">סמל המפה מופיע במפה בלבד והוא מתחלף בעת הניווט לסמל הניווט.</string>
<string name="button_rate">דירוג</string> <string name="button_rate">דירוג</string>
<string name="logcat_buffer_descr">כאן ניתן לצפות ולשתף את תיעוד יומני היישומון</string> <string name="logcat_buffer_descr">לבדוק ולשתף תיעוד מפורט של יומני היישומון</string>
<string name="permission_is_required">נדרשת הרשאה כדי להשתמש באפשרות הזו.</string> <string name="permission_is_required">נדרשת הרשאה כדי להשתמש באפשרות הזו.</string>
<string name="rearrange_categories">סידור הקטגוריות מחדש</string> <string name="rearrange_categories">סידור הקטגוריות מחדש</string>
<string name="create_custom_categories_list_promo">ניתן להוסיף קטגוריות מותאמות אישית, להסתיר קטגוריות שאינן נחוצות לך ולשנות את סדר הרשימה. ניתן לייבא את הרשימה ולייצא אותה עם פרופילים.</string> <string name="create_custom_categories_list_promo">ניתן להוסיף קטגוריות מותאמות אישית, להסתיר קטגוריות שאינן נחוצות לך ולשנות את סדר הרשימה. ניתן לייבא את הרשימה ולייצא אותה עם פרופילים.</string>
@ -3543,4 +3550,29 @@
<string name="recalculate_route_distance_promo">המסלול יחושב מחדש אם המרחק מהמסלול למיקום הנוכחי עובר את הערך הנבחר.</string> <string name="recalculate_route_distance_promo">המסלול יחושב מחדש אם המרחק מהמסלול למיקום הנוכחי עובר את הערך הנבחר.</string>
<string name="select_distance_route_will_recalc">נא לבחור את המרחק שלאחריו המסלול יחושב מחדש.</string> <string name="select_distance_route_will_recalc">נא לבחור את המרחק שלאחריו המסלול יחושב מחדש.</string>
<string name="recalculate_route_in_deviation">חישוב המסלול מחדש במקרה של סטייה</string> <string name="recalculate_route_in_deviation">חישוב המסלול מחדש במקרה של סטייה</string>
<string name="shared_string_terrain">תוואי שטח</string>
<string name="slope_description">מדרונות היא המחשה צבעונית של תוואי שטח.</string>
<string name="terrain_slider_description">נא לבחור את רמות התקריב המזערית והמרבית שביניהן השכבה תוצג.</string>
<string name="hillshade_download_description">נדרשות מפות נוספות כדי לצפות בהצללה על המפה.</string>
<string name="slope_download_description">נדרשות מפות נוספות כדי לצפות במדרונות על המפה.</string>
<string name="slope_read_more">נקרא לקרוא עוד על מדרונות ב־%1$s.</string>
<string name="shared_string_transparency">שקיפות</string>
<string name="shared_string_zoom_levels">רמות תקריב</string>
<string name="shared_string_legend">מקרא</string>
<string name="terrain_empty_state_text">יש להפעיל כדי לצפות במפת הצללה או מדרונות. ניתן לקרוא עוד על סוגי המפות האלו באתר שלנו</string>
<string name="shared_string_hillshade">הצללה</string>
<string name="n_items_of_z">%1$s מתוך %2$s</string>
<string name="download_slope_maps">מדרונות</string>
<string name="quick_action_show_hide_terrain">הצגה/הסתרה של תוואי שטח</string>
<string name="quick_action_terrain_hide">הסתרת תוואי שטח</string>
<string name="quick_action_terrain_show">הצגת תוואי שטח</string>
<string name="quick_action_terrain_descr">כפתור להצגה או הסתרה של שכבת תוואי שטח על גבי המפה.</string>
<string name="delete_description">מחיקת תיאור</string>
<string name="add_description">הוספת תיאור</string>
<string name="select_group">בחירת קבוצה</string>
<string name="select_shape">נא לבחור צורה</string>
<string name="shared_string_circle">עיגולי</string>
<string name="shared_string_rhomb">מעויני</string>
<string name="shared_string_square">ריבועי</string>
<string name="shared_string_min">מזערי</string>
</resources> </resources>

View file

@ -1200,7 +1200,7 @@
<string name="poi_dyke">Frangiflutti</string> <string name="poi_dyke">Frangiflutti</string>
<string name="poi_vending_type">Tipo di vendita</string> <string name="poi_vending_type">Tipo di vendita</string>
<string name="poi_scout_camp">Campo scout</string> <string name="poi_scout_camp">Campo scout</string>
<string name="poi_drive_through">Guidare attraverso</string> <string name="poi_drive_through">Drive through</string>
<string name="poi_charity">Negozio di beneficenza</string> <string name="poi_charity">Negozio di beneficenza</string>
<string name="poi_scuba_diving_shop">Negozio immersioni subacquee</string> <string name="poi_scuba_diving_shop">Negozio immersioni subacquee</string>
<string name="poi_health_specialty">Specialità di salute</string> <string name="poi_health_specialty">Specialità di salute</string>

View file

@ -3568,4 +3568,26 @@ Rappresenta l\'area: %1$s x %2$s</string>
<string name="restore_all_profile_settings">Ripristinare tutte le impostazioni del profilo\?</string> <string name="restore_all_profile_settings">Ripristinare tutte le impostazioni del profilo\?</string>
<string name="saving_new_profile">Salvataggio del nuovo profilo</string> <string name="saving_new_profile">Salvataggio del nuovo profilo</string>
<string name="profile_backup_failed">Impossibile fare una copia di salvataggio del profilo.</string> <string name="profile_backup_failed">Impossibile fare una copia di salvataggio del profilo.</string>
<string name="clear_recorded_data_warning">Sei sicuro di voler eliminare i dati registrati\?</string>
<string name="importing_from">Importazione dei dati da %1$s</string>
<string name="shared_string_importing">Importazione in corso</string>
<string name="items_added">Oggetti aggiunti</string>
<string name="shared_string_import_complete">Importazione completata</string>
<string name="import_complete_description">Tutti i dati sono stati importati da %1$s, puoi utilizzare i bottoni sottostanti per aprire e gestire le parti dell\' applicazione di cui necessiti.</string>
<string name="recalculate_route_distance_promo">Il percorso verrà ricalcolato quando la distanza tra il percorso e la propria posizione è maggiore del valore selezionato.</string>
<string name="select_distance_route_will_recalc">Seleziona dopo che distanza effettuare il ricalcolo del percorso.</string>
<string name="recalculate_route_in_deviation">Ricalcola il percorso in caso di deviazione</string>
<string name="shared_string_square">Quadrato</string>
<string name="shared_string_rhomb">Rombo</string>
<string name="shared_string_circle">Cerchio</string>
<string name="select_shape">Seleziona la forma</string>
<string name="select_group">Seleziona il gruppo</string>
<string name="add_description">Aggiungi descrizione</string>
<string name="delete_description">Elimina descrizione</string>
<string name="quick_action_terrain_descr">Un bottone per mostrare o nascondere la vista rilievo sulla mappa.</string>
<string name="quick_action_terrain_show">Mostra rilievo</string>
<string name="quick_action_terrain_hide">Nascondi rilievo</string>
<string name="quick_action_show_hide_terrain">Mostra/nascondi rilievo</string>
<string name="download_slope_maps">Pendenze</string>
<string name="shared_string_hillshade">Rilievi ombra</string>
</resources> </resources>

View file

@ -3778,4 +3778,6 @@
<string name="poi_piste_ref">ゲレンデの参照番号</string> <string name="poi_piste_ref">ゲレンデの参照番号</string>
<string name="poi_resort_hunting">狩猟拠点</string> <string name="poi_resort_hunting">狩猟拠点</string>
<string name="poi_dive_centre">スキューバダイビングセンター</string> <string name="poi_dive_centre">スキューバダイビングセンター</string>
<string name="poi_sms">SMS</string>
<string name="poi_water_place_access">水場へのアクセス方法</string>
</resources> </resources>

View file

@ -3479,7 +3479,7 @@ POIの更新は利用できません</string>
<string name="multimedia_photo_play_sound">カメラシャッター音</string> <string name="multimedia_photo_play_sound">カメラシャッター音</string>
<string name="osm_authorization_success">認証に成功しました</string> <string name="osm_authorization_success">認証に成功しました</string>
<string name="rearrange_categories">カテゴリーの並べ替え</string> <string name="rearrange_categories">カテゴリーの並べ替え</string>
<string name="create_custom_categories_list_promo">カスタムカテゴリーを含め、不要なカテゴリーを非表示にしたりリストの順序を変更できます。リストはプロファイルと同様インポート&エクスポートができます。</string> <string name="create_custom_categories_list_promo">リストの並び順を変更したり、不要なカテゴリを非表示にしたりするほか、プロファイルデータをインポートまたはエクスポートすることもできます。</string>
<string name="add_new_custom_category_button_promo">一つあるいは複数のカテゴリーを選択して、新しいカスタムカテゴリーを追加できます。</string> <string name="add_new_custom_category_button_promo">一つあるいは複数のカテゴリーを選択して、新しいカスタムカテゴリーを追加できます。</string>
<string name="shared_string_available">利用可</string> <string name="shared_string_available">利用可</string>
<string name="add_custom_category">カスタムカテゴリーを追加</string> <string name="add_custom_category">カスタムカテゴリーを追加</string>
@ -3554,4 +3554,57 @@ POIの更新は利用できません</string>
<string name="recalculate_route_distance_promo">ルートから現在地までの距離が選択された値よりも大きい場合、ルートが再計算されます。</string> <string name="recalculate_route_distance_promo">ルートから現在地までの距離が選択された値よりも大きい場合、ルートが再計算されます。</string>
<string name="select_distance_route_will_recalc">ルートを再計算する距離を選択します。</string> <string name="select_distance_route_will_recalc">ルートを再計算する距離を選択します。</string>
<string name="recalculate_route_in_deviation">ルート再計算の逸脱しきい値</string> <string name="recalculate_route_in_deviation">ルート再計算の逸脱しきい値</string>
<string name="shared_string_poi_types">POIの種類</string>
<string name="shared_string_nothing_selected">何も選択されていません</string>
<string name="shared_string_quick_actions">クイックアクション</string>
<string name="shared_string_profiles">プロファイル</string>
<string name="listed_exist">リストされた%1$sは、OsmAndに既に存在します。</string>
<string name="replace_all_desc">現在のアイテムは、ファイル内のアイテムに置き換えられます</string>
<string name="replace_all">全て置き換える</string>
<string name="keep_both">両方を維持する</string>
<string name="keep_both_desc">インポートアイテムはデータ先頭に追加されます</string>
<string name="import_duplicates_description">OsmAndには、すでにインポートされたものと同じ名前の項目があります。
\n
\n対応を選択してください。</string>
<string name="import_duplicates_title">一部のアイテムは既に存在します</string>
<string name="select_data_to_import">インポートするデータを選択してください。</string>
<string name="shared_string_rendering_style">レンダリングのスタイル</string>
<string name="import_rendering_file">レンダリングファイルのインポート</string>
<string name="restore_all_profile_settings_descr">プロファイルを作成/インポートすると、すべてのプロファイル設定が復元されます。</string>
<string name="restore_all_profile_settings">すべてのプロファイル設定を復元しますか?</string>
<string name="saving_new_profile">新しいプロファイルの保存</string>
<string name="profile_backup_failed">プロファイルのバックアップができませんでした。</string>
<string name="clear_recorded_data_warning">記録済みデータを消去してもよいですか?</string>
<string name="importing_from">%1$sからデータをインポート</string>
<string name="shared_string_importing">インポート中</string>
<string name="checking_for_duplicate_description">OsmAnd側でアプリケーション内の既存の項目と重複していないか、%1$sをチェックしています。
\n
\n少し時間がかかるかもしれません。</string>
<string name="items_added">追加された項目</string>
<string name="shared_string_import_complete">インポート完了</string>
<string name="import_complete_description">%1$sから全データがインポートされました。以下のボタンよりアプリケーションの管理が可能になります。</string>
<string name="shared_string_preparing">準備</string>
<string name="shared_string_terrain">地形</string>
<string name="hillshade_description">陰影起伏図は斜面、山頂、谷などを表示するために濃淡を利用して分かりやすく表現します。</string>
<string name="slope_description">勾配は地形を色分けで可視化したものです。</string>
<string name="terrain_slider_description">レイヤーで表示されるズームレベルの最小値と最大値を設定します。</string>
<string name="terrain_empty_state_text">陰影を利用した丘陵や斜面のマップを表示することができます。この地図の種類についての詳細はこちらのサイトをご覧ください。</string>
<string name="slope_download_description">マップ上に勾配を表示するためには、追加のマップが必要です。</string>
<string name="slope_read_more">%1$sの勾配について、より詳しく知ることができます。</string>
<string name="shared_string_transparency">透過度</string>
<string name="shared_string_zoom_levels">ズームレベル</string>
<string name="shared_string_hillshade">陰影起伏図</string>
<string name="download_slope_maps">勾配</string>
<string name="quick_action_show_hide_terrain">地形を表示/非表示</string>
<string name="quick_action_terrain_hide">地形を非表示</string>
<string name="quick_action_terrain_show">地形を表示</string>
<string name="quick_action_terrain_descr">マップ上の地形レイヤーの表示/非表示を切り替えるボタンです。</string>
<string name="delete_description">説明を削除</string>
<string name="add_description">説明を追加</string>
<string name="select_group">グループを選択</string>
<string name="select_shape">形状を選択</string>
<string name="shared_string_circle">円形</string>
<string name="shared_string_square">四角形</string>
<string name="shared_string_rhomb">ひし形</string>
<string name="shared_string_min">最小</string>
</resources> </resources>

View file

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>

View file

@ -3474,4 +3474,5 @@
<string name="profile_backup_failed">Kunne ikke sikkerhetskopiere profil.</string> <string name="profile_backup_failed">Kunne ikke sikkerhetskopiere profil.</string>
<string name="importing_from">Importerer data fra %1$s</string> <string name="importing_from">Importerer data fra %1$s</string>
<string name="shared_string_importing">Importerer</string> <string name="shared_string_importing">Importerer</string>
<string name="select_shape">Velg form</string>
</resources> </resources>

View file

@ -132,8 +132,8 @@
<string name="osmand_service">Achtergrond modus</string> <string name="osmand_service">Achtergrond modus</string>
<string name="osmand_service_descr">OsmAnd werkt op de achtergrond als het scherm uit is.</string> <string name="osmand_service_descr">OsmAnd werkt op de achtergrond als het scherm uit is.</string>
<string name="download_files_not_enough_space">Er is niet voldoende vrije ruimte %1$s MB te downloaden (vrij: %2$s).</string> <string name="download_files_not_enough_space">Er is niet voldoende vrije ruimte %1$s MB te downloaden (vrij: %2$s).</string>
<string name="download_files_question_space">"{0} bestand(en) downloaden\? <string name="download_files_question_space">{0} bestand(en) downloaden\?
\n{1} MB (van {2} MB) zal gebruikt worden."</string> \n{1} MB (van {2} MB) zal gebruikt worden.</string>
<string name="use_transparent_map_theme">Transparant thema</string> <string name="use_transparent_map_theme">Transparant thema</string>
<string name="native_library_not_supported">Interne bibliotheek wordt niet ondersteund op dit apparaat.</string> <string name="native_library_not_supported">Interne bibliotheek wordt niet ondersteund op dit apparaat.</string>
<string name="init_native_library">Voorbereiden interne bibliotheek…</string> <string name="init_native_library">Voorbereiden interne bibliotheek…</string>
@ -1882,7 +1882,9 @@ Lengtegraad:\t\t%2$s</string>
<string name="map_markers_other">Andere markeervlaggetjes</string> <string name="map_markers_other">Andere markeervlaggetjes</string>
<string name="upload_anonymously">Anoniem uploaden</string> <string name="upload_anonymously">Anoniem uploaden</string>
<string name="show_transparency_seekbar">Toon Transparantie-schuif op kaart</string> <string name="show_transparency_seekbar">Toon Transparantie-schuif op kaart</string>
<string name="download_files_error_not_enough_space">Niet genoeg opslagruimte! Tijdelijk is {3} MB nodig en permanent {1} MB. (Er is slechts {2} MB beschikbaar.)</string> <string name="download_files_error_not_enough_space">Niet genoeg opslagruimte!
\nTijdelijk is {3} MB nodig en permanent {1} MB.
\n(Er is slechts {2} MB beschikbaar.)</string>
<string name="download_files_question_space_with_temp">{0} bestanden downloaden\? <string name="download_files_question_space_with_temp">{0} bestanden downloaden\?
\nTijdelijk is {3} MB nodig en permanent {1} MB. (Van {2} MB.)</string> \nTijdelijk is {3} MB nodig en permanent {1} MB. (Van {2} MB.)</string>
<string name="upload_osm_note_description">Je kunt OSM notities anoniem uploaden of je OpenStreetMap.org profiel gebruiken.</string> <string name="upload_osm_note_description">Je kunt OSM notities anoniem uploaden of je OpenStreetMap.org profiel gebruiken.</string>
@ -2646,7 +2648,7 @@ voor Gebied: %1$s x %2$s</string>
<string name="shared_string_total">Totaal</string> <string name="shared_string_total">Totaal</string>
<string name="hide_full_description">Volledige beschrijving verbergen</string> <string name="hide_full_description">Volledige beschrijving verbergen</string>
<string name="show_full_description">Volledige beschrijving tonen</string> <string name="show_full_description">Volledige beschrijving tonen</string>
<string name="off_road_render_descr">"Geschikt voor off-road gebruik in \'Topo\' stijl en voor gebruik met groene satellietbeelden als onderliggende kaart. Verminderde dikte van hoofdwegen, vergrootte dikte van landwegen, paden, fiets- en andere routes."</string> <string name="off_road_render_descr">Geschikt voor off-road gebruik in \'Topo\' stijl en voor gebruik met groene satellietbeelden als onderliggende kaart. Verminderde dikte van hoofdwegen, vergrootte dikte van landwegen, paden, fiets- en andere routes.</string>
<string name="nautical_render_descr">Zeekaartstijl. Toont boeien, vuurtorens, rivieren, vaargeulen en -markeringen, havens, bakens, dieptelijnen.</string> <string name="nautical_render_descr">Zeekaartstijl. Toont boeien, vuurtorens, rivieren, vaargeulen en -markeringen, havens, bakens, dieptelijnen.</string>
<string name="ski_map_render_descr">Skistijl. Toont pistes, skiliften en andere ski-gerelateerde elementen. Overige kaartelementen worden verduisterd.</string> <string name="ski_map_render_descr">Skistijl. Toont pistes, skiliften en andere ski-gerelateerde elementen. Overige kaartelementen worden verduisterd.</string>
<string name="light_rs_render_descr">Eenvoudige stijl voor autonavigatie. Zachte nachtmodus, hoogtelijnen, contrasterende wegen in oranje stijl, verduistert overige kaartelementen.</string> <string name="light_rs_render_descr">Eenvoudige stijl voor autonavigatie. Zachte nachtmodus, hoogtelijnen, contrasterende wegen in oranje stijl, verduistert overige kaartelementen.</string>
@ -3067,7 +3069,7 @@ voor Gebied: %1$s x %2$s</string>
<string name="shared_string_select_folder">Map…</string> <string name="shared_string_select_folder">Map…</string>
<string name="move_maps_to_new_destination">Verplaats naar de nieuwe locatie</string> <string name="move_maps_to_new_destination">Verplaats naar de nieuwe locatie</string>
<string name="internal_app_storage_description">Interne opslag voor OsmAnd (verborgen voor gebruikers en andere apps).</string> <string name="internal_app_storage_description">Interne opslag voor OsmAnd (verborgen voor gebruikers en andere apps).</string>
<string name="tts_initialization_error">Kan tekst-naar-spraak service niet starten</string> <string name="tts_initialization_error">Kan tekst-naar-spraak service niet starten.</string>
<string name="export_profile">Exporteer profiel</string> <string name="export_profile">Exporteer profiel</string>
<string name="exported_osmand_profile">OsmAnd profiel: %1$s</string> <string name="exported_osmand_profile">OsmAnd profiel: %1$s</string>
<string name="overwrite_profile_q">\'%1$s\' bestaat al. Overschrijven\?</string> <string name="overwrite_profile_q">\'%1$s\' bestaat al. Overschrijven\?</string>
@ -3296,7 +3298,7 @@ voor Gebied: %1$s x %2$s</string>
<string name="selected_profile">Geselecteerd profiel</string> <string name="selected_profile">Geselecteerd profiel</string>
<string name="select_navigation_icon">Positie-icoon tijdens bewegen</string> <string name="select_navigation_icon">Positie-icoon tijdens bewegen</string>
<string name="reset_confirmation_descr">Op %1$s tikken laat al uw wijzigingen verloren gaan.</string> <string name="reset_confirmation_descr">Op %1$s tikken laat al uw wijzigingen verloren gaan.</string>
<string name="reset_all_profile_settings_descr">Alle profiel instellingen terugzetten naar installatie standaardwaarden</string> <string name="reset_all_profile_settings_descr">Alle profiel instellingen terugzetten naar installatie standaardwaarden.</string>
<string name="reset_all_profile_settings">Alle profiel instellingen terugzetten naar standaard\?</string> <string name="reset_all_profile_settings">Alle profiel instellingen terugzetten naar standaard\?</string>
<string name="button_rate">Beoordeel</string> <string name="button_rate">Beoordeel</string>
<string name="ltr_or_rtl_combine_via_space">%1$s %2$s</string> <string name="ltr_or_rtl_combine_via_space">%1$s %2$s</string>

View file

@ -3805,9 +3805,17 @@
<string name="poi_seamark_water_level_dry">Poziom wody: suchy</string> <string name="poi_seamark_water_level_dry">Poziom wody: suchy</string>
<string name="poi_seamark_water_level_floods">Poziom wody: powodzie</string> <string name="poi_seamark_water_level_floods">Poziom wody: powodzie</string>
<string name="poi_seamark_water_level_above_mwl">Poziom wody: powyżej średniego poziomu wody</string> <string name="poi_seamark_water_level_above_mwl">Poziom wody: powyżej średniego poziomu wody</string>
<string name="poi_seamark_obstruction">Niedrożność</string> <string name="poi_seamark_obstruction">Przeszkoda</string>
<string name="poi_covered_booth">Stoisko</string> <string name="poi_covered_booth">Stoisko</string>
<string name="poi_booth">Typ stoiska</string> <string name="poi_booth">Typ stoiska</string>
<string name="poi_traffic_signals_sound_locate">Tylko wtedy, gdy przechodzenie jest dozwolone</string> <string name="poi_traffic_signals_sound_locate">Tylko wtedy, gdy przechodzenie jest dozwolone</string>
<string name="poi_tactile_paving_contrasted">Skontrastowane</string> <string name="poi_tactile_paving_contrasted">Skontrastowane</string>
<string name="poi_drinking_water_refill_network">Uzupełnianie wody pitnej: woda z sieci</string>
<string name="poi_drinking_water_refill_no">Uzupełnianie wody pitnej: nie</string>
<string name="poi_drinking_water_refill_yes">Uzupełnianie wody pitnej: tak</string>
<string name="poi_seamark_water_level_floating">Poziom wody: utrzymujący się na powierzchni</string>
<string name="poi_seamark_water_level_below_mwl">Poziom wody: poniżej średniego poziomu wody</string>
<string name="poi_seamark_water_level_awash">Poziom wody: obmywający falami</string>
<string name="poi_seamark_water_level_covers">Poziom wody: pokrywający</string>
<string name="poi_internet_access_fee_customers">Dostęp do Internetu dla klientów</string>
</resources> </resources>

View file

@ -552,11 +552,11 @@
<string name="map_online_data_descr">Używa map online (pobiera i przechowuje kafelki na karcie pamięci).</string> <string name="map_online_data_descr">Używa map online (pobiera i przechowuje kafelki na karcie pamięci).</string>
<string name="shared_string_online_maps">Mapy online</string> <string name="shared_string_online_maps">Mapy online</string>
<string name="online_map_settings_descr">Wybierz źródła kafelków online i offline.</string> <string name="online_map_settings_descr">Wybierz źródła kafelków online i offline.</string>
<string name="osmand_rastermaps_plugin_description">Umożliwia uzyskanie dostępu do wielu rodzajów map online (tzw kafelki lub raster), od gotowych kafelków OpenStreetMap (jak Mapnik) do zdjęć satelitarnych i specjalnych warstw map pogodowych uniwersalnych, map klimatycznych, map geologicznych, warstw cieniowania rzeźby terenu itp. <string name="osmand_rastermaps_plugin_description">Umożliwia uzyskanie dostępu do wielu rodzajów map online (tzw. kafelki lub raster), od gotowych kafelków OpenStreetMap (jak Mapnik) do zdjęć satelitarnych i specjalnych warstw map pogodowych, map klimatycznych, map geologicznych, warstw cieniowania rzeźby terenu itp.
\n \n
\nKażda z tych map może być wykorzystana jako główna (podstawa) mapa wyświetlana na mapie OsmAnd lub jako nakładka lub podkład do innej mapy bazowej (jak zwykłe mapy offline OsmAnd). W celu zwiększenia widoczności mapy bazowej, niektóre elementy map wektorowych OsmAnd można łatwo ukryć poprzez menu „Konfiguracja mapy” zgodnie z zapotrzebowaniem. \n Każda z tych map może być wykorzystana jako główna (podstawowa) mapa lub jako nakładka, lub podkład do innej mapy podstawowej (takich jak standardowe mapy offline OsmAnd). Niektóre elementy map wektorowych OsmAnd można łatwo ukryć poprzez menu \'Konfiguracja mapy\' zgodnie z zapotrzebowaniem aby mapa podkładowa była lepiej widoczna.
\n \n
\nMapy kafelkowe można uzyskać bezpośrednio z zasobów sieciowych, jak i przygotować je do użytku w trybie offline (i ręcznie skopiować do katalogu danych OsmAnd) jako bazy danych sqlite, które mogą być przygotowane przez niezależnych dostawców map.</string> \n Mapy kafelkowe można pobierać bezpośrednio z zasobów sieciowych, jak i przygotować je do użytku w trybie offline (i ręcznie skopiować do katalogu danych OsmAnd) jako bazy danych SQLite, które mogą być przygotowane przez niezależnych dostawców map.</string>
<string name="osmand_background_plugin_description">Wyświetla ustawienia umożliwiające włączenie śledzenia i nawigacji w tle poprzez okresowe wybudzanie urządzenia GPS (przy wyłączonym ekranie).</string> <string name="osmand_background_plugin_description">Wyświetla ustawienia umożliwiające włączenie śledzenia i nawigacji w tle poprzez okresowe wybudzanie urządzenia GPS (przy wyłączonym ekranie).</string>
<string name="osmand_accessibility_description">Umożliwia korzystanie ze specjalnych ułatwień dostępu urządzenia bezpośrednio w OsmAnd. Pozwala na np. dostosowanie szybkości mowy syntezowanych komunikatów głosowych, skonfigurowanie poruszania się po ekranie za pomocą pada kierunkowego, użycie trackballa do zmiany przybliżenia lub syntezowanych komunikatów głosowych np. do automatycznego powiadamiania o położeniu.</string> <string name="osmand_accessibility_description">Umożliwia korzystanie ze specjalnych ułatwień dostępu urządzenia bezpośrednio w OsmAnd. Pozwala na np. dostosowanie szybkości mowy syntezowanych komunikatów głosowych, skonfigurowanie poruszania się po ekranie za pomocą pada kierunkowego, użycie trackballa do zmiany przybliżenia lub syntezowanych komunikatów głosowych np. do automatycznego powiadamiania o położeniu.</string>
<string name="osmand_development_plugin_description">Ustawienia funkcji programowania i debugowania, takie jak symulacja nawigacji, wydajność renderowania lub komunikaty głosowe. Przeznaczony dla programistów, niepotrzebny do normalnego użytkowania aplikacji.</string> <string name="osmand_development_plugin_description">Ustawienia funkcji programowania i debugowania, takie jak symulacja nawigacji, wydajność renderowania lub komunikaty głosowe. Przeznaczony dla programistów, niepotrzebny do normalnego użytkowania aplikacji.</string>
@ -1112,9 +1112,9 @@
<string name="routing_attr_avoid_toll_description">Omijaj płatne drogi</string> <string name="routing_attr_avoid_toll_description">Omijaj płatne drogi</string>
<string name="routing_attr_avoid_unpaved_name">Omijanie nieutwardzonych dróg</string> <string name="routing_attr_avoid_unpaved_name">Omijanie nieutwardzonych dróg</string>
<string name="routing_attr_avoid_unpaved_description">Unikaj nieutwardzonych dróg</string> <string name="routing_attr_avoid_unpaved_description">Unikaj nieutwardzonych dróg</string>
<string name="routing_attr_avoid_ferries_name">Omijanie przepraw promowych</string> <string name="routing_attr_avoid_ferries_name">Unikanie promów</string>
<string name="routing_attr_avoid_ferries_description">Omijaj przeprawy promowe</string> <string name="routing_attr_avoid_ferries_description">Omijaj przeprawy promowe</string>
<string name="routing_attr_avoid_motorway_name">Omijanie autostrad</string> <string name="routing_attr_avoid_motorway_name">Unikaj autostrad</string>
<string name="routing_attr_avoid_motorway_description">Omijaj autostrady</string> <string name="routing_attr_avoid_motorway_description">Omijaj autostrady</string>
<string name="routing_attr_weight_name">Ograniczenie wagi</string> <string name="routing_attr_weight_name">Ograniczenie wagi</string>
<string name="routing_attr_weight_description">Określa dozwolony ciężar pojazdu na trasach.</string> <string name="routing_attr_weight_description">Określa dozwolony ciężar pojazdu na trasach.</string>
@ -2189,7 +2189,7 @@ Reprezentuje obszar: %1$s x %2$s</string>
<string name="auto_split_recording_title">Automatyczne dzielenie nagrań po przerwie</string> <string name="auto_split_recording_title">Automatyczne dzielenie nagrań po przerwie</string>
<string name="auto_split_recording_descr">Rozpoczyna nowy segment po 6 min przerwy, nową trasę po 2 h i nowy plik po dłuższej przerwie, jeżeli data ulegnie zmianie.</string> <string name="auto_split_recording_descr">Rozpoczyna nowy segment po 6 min przerwy, nową trasę po 2 h i nowy plik po dłuższej przerwie, jeżeli data ulegnie zmianie.</string>
<string name="rendering_attr_depthContours_description">Wyświetla kontury i punkty głębi.</string> <string name="rendering_attr_depthContours_description">Wyświetla kontury i punkty głębi.</string>
<string name="rendering_attr_depthContours_name">Mapy batymetryczne</string> <string name="rendering_attr_depthContours_name">Morskie kontury głębokości</string>
<string name="routing_attr_height_obstacles_name">Używanie danych wysokościowych</string> <string name="routing_attr_height_obstacles_name">Używanie danych wysokościowych</string>
<string name="routing_attr_height_obstacles_description">Używa danych wysokościowych (dane z SRTM, ASTER i EU-DEM).</string> <string name="routing_attr_height_obstacles_description">Używa danych wysokościowych (dane z SRTM, ASTER i EU-DEM).</string>
<string name="route_altitude">Wysokość trasy</string> <string name="route_altitude">Wysokość trasy</string>
@ -3009,7 +3009,7 @@ Reprezentuje obszar: %1$s x %2$s</string>
\n</string> \n</string>
<string name="angular_measeurement">Jednostka kąta</string> <string name="angular_measeurement">Jednostka kąta</string>
<string name="angular_measeurement_descr">Określa jednostki miary azymutu.</string> <string name="angular_measeurement_descr">Określa jednostki miary azymutu.</string>
<string name="avoid_pt_types_descr">Wybiera rodzaje transportu publicznego, unikanych dla nawigacji.</string> <string name="avoid_pt_types_descr">Wybierz rodzaje transportu publicznego, które pomijać w nawigacji:</string>
<string name="avoid_pt_types">Unikanie rodzaju transportu…</string> <string name="avoid_pt_types">Unikanie rodzaju transportu…</string>
<string name="shared_string_walk">Pieszo</string> <string name="shared_string_walk">Pieszo</string>
<string name="save_poi_value_exceed_length">Skróć długość znacznika „%s” do mniej niż 255 znaków.</string> <string name="save_poi_value_exceed_length">Skróć długość znacznika „%s” do mniej niż 255 znaków.</string>
@ -3080,7 +3080,7 @@ Reprezentuje obszar: %1$s x %2$s</string>
<string name="profile_alert_need_save_title">Zapisz zmiany</string> <string name="profile_alert_need_save_title">Zapisz zmiany</string>
<string name="profile_alert_need_save_msg">Najpierw zapisz zmiany w profilu</string> <string name="profile_alert_need_save_msg">Najpierw zapisz zmiany w profilu</string>
<string name="profile_alert_delete_title">Usuń profil</string> <string name="profile_alert_delete_title">Usuń profil</string>
<string name="profile_alert_delete_msg">Usunąć profil „%s”\?</string> <string name="profile_alert_delete_msg">Czy na pewno chcesz usunąć profil \"%s\"</string>
<string name="select_base_profile_dialog_title">Wybierz profil, od którego chcesz rozpocząć</string> <string name="select_base_profile_dialog_title">Wybierz profil, od którego chcesz rozpocząć</string>
<string name="select_base_profile_dialog_message">Profil dostosowany można oprzeć na jednym z domyślnych profili aplikacji. Określają one podstawowe ustawienia, takie jak domyślna widoczność widżetów i jednostek prędkości i odległości. Są to domyślne profile aplikacji, wraz z przykładami profili dostosowanych, które można rozszerzyć na:</string> <string name="select_base_profile_dialog_message">Profil dostosowany można oprzeć na jednym z domyślnych profili aplikacji. Określają one podstawowe ustawienia, takie jak domyślna widoczność widżetów i jednostek prędkości i odległości. Są to domyślne profile aplikacji, wraz z przykładami profili dostosowanych, które można rozszerzyć na:</string>
<string name="select_nav_profile_dialog_title">Wybór rodzaju nawigacji</string> <string name="select_nav_profile_dialog_title">Wybór rodzaju nawigacji</string>
@ -3407,11 +3407,11 @@ Reprezentuje obszar: %1$s x %2$s</string>
<string name="personal_category_name">Osobiste</string> <string name="personal_category_name">Osobiste</string>
<string name="shared_string_downloading_formatted">Pobieranie %s</string> <string name="shared_string_downloading_formatted">Pobieranie %s</string>
<string name="desert_render_descr">Dla pustyń i innych słabo zaludnionych obszarów. Bardziej szczegółowa.</string> <string name="desert_render_descr">Dla pustyń i innych słabo zaludnionych obszarów. Bardziej szczegółowa.</string>
<string name="rendering_attr_showCycleNodeNetworkRoutes_name">Pokaż punkt sieci tras rowerowych</string> <string name="rendering_attr_showCycleNodeNetworkRoutes_name">Pokaż punkty sieci tras rowerowych</string>
<string name="rendering_value_thick_name">Gruby</string> <string name="rendering_value_thick_name">Gruby</string>
<string name="select_navigation_icon">Ikona położenia podczas ruchu</string> <string name="select_navigation_icon">Ikona położenia podczas ruchu</string>
<string name="select_map_icon">Ikona położenia podczas spoczynku</string> <string name="select_map_icon">Ikona położenia podczas spoczynku</string>
<string name="delete_profiles_descr">Stuknięcie „Zastosuj” powoduje trwałe usunięcie usuniętych profili.</string> <string name="delete_profiles_descr">Stuknięcie \'Zastosuj\' powoduje trwałe usunięcie profili.</string>
<string name="master_profile">Główny profil</string> <string name="master_profile">Główny profil</string>
<string name="select_color">Wybór koloru</string> <string name="select_color">Wybór koloru</string>
<string name="edit_profiles_descr">Nie można usunąć domyślnych profili OsmAnd, ale można je wyłączyć (na poprzednim ekranie) lub przenieść na dół.</string> <string name="edit_profiles_descr">Nie można usunąć domyślnych profili OsmAnd, ale można je wyłączyć (na poprzednim ekranie) lub przenieść na dół.</string>
@ -3459,7 +3459,7 @@ Reprezentuje obszar: %1$s x %2$s</string>
<string name="osm_authorization_success">Uwierzytelniono</string> <string name="osm_authorization_success">Uwierzytelniono</string>
<string name="monitoring_min_speed_descr_side_effect">Efekt uboczny: trasa nie będzie zawierała sekcji, w których nie zostało spełnione kryterium minimalnej prędkości (np. podczas pchania roweru pod strome wzgórze). Nie będzie również zawierała informacji o czasach odpoczynku, np. przerwach. Ma to wpływ na analizę i przetwarzanie końcowe, np. przy próbie określenia całkowitej długości trasy, czasu w ruchu lub średniej prędkości.</string> <string name="monitoring_min_speed_descr_side_effect">Efekt uboczny: trasa nie będzie zawierała sekcji, w których nie zostało spełnione kryterium minimalnej prędkości (np. podczas pchania roweru pod strome wzgórze). Nie będzie również zawierała informacji o czasach odpoczynku, np. przerwach. Ma to wpływ na analizę i przetwarzanie końcowe, np. przy próbie określenia całkowitej długości trasy, czasu w ruchu lub średniej prędkości.</string>
<string name="rearrange_categories">Zmień układ kategorii</string> <string name="rearrange_categories">Zmień układ kategorii</string>
<string name="create_custom_categories_list_promo">Można dodać niestandardowe kategorie, ukryć kategorie, które są niepotrzebne i zmienić kolejność sortowania listy. Listę można importować i eksportować wraz z profilami.</string> <string name="create_custom_categories_list_promo">Zmień kolejność sortowania listy, ukryj niepotrzebne kategorie. Wszystkie zmiany można importować lub eksportować za pomocą profili.</string>
<string name="add_new_custom_category_button_promo">Można dodać nową, niestandardową kategorię wybierając jedną lub kilka potrzebnych kategorii.</string> <string name="add_new_custom_category_button_promo">Można dodać nową, niestandardową kategorię wybierając jedną lub kilka potrzebnych kategorii.</string>
<string name="shared_string_available">Dostępne</string> <string name="shared_string_available">Dostępne</string>
<string name="add_custom_category">Dodaj niestandardową kategorię</string> <string name="add_custom_category">Dodaj niestandardową kategorię</string>
@ -3542,8 +3542,8 @@ Reprezentuje obszar: %1$s x %2$s</string>
<string name="shared_string_angle_param">Kąt: %s°</string> <string name="shared_string_angle_param">Kąt: %s°</string>
<string name="shared_string_angle">Kąt</string> <string name="shared_string_angle">Kąt</string>
<string name="monitoring_min_speed_descr_recommendation">Zalecenie: Proszę najpierw zastosować wykrywanie ruchu przez filtr rejestrowania minimalnego przemieszczenia (B). Może on dać lepsze wyniki przy mniejszej ilości pominiętych danych. Jeśli ślady pozostaną zaszumione przy niskich prędkościach, proszę spróbować użyć wartości niezerowych. Należy pamiętać, że niektóre pomiary mogą w ogóle nie zgłaszać żadnej wartości prędkości (niektóre metody sieciowe), w którym to przypadku nie rejestruje się niczego.</string> <string name="monitoring_min_speed_descr_recommendation">Zalecenie: Proszę najpierw zastosować wykrywanie ruchu przez filtr rejestrowania minimalnego przemieszczenia (B). Może on dać lepsze wyniki przy mniejszej ilości pominiętych danych. Jeśli ślady pozostaną zaszumione przy niskich prędkościach, proszę spróbować użyć wartości niezerowych. Należy pamiętać, że niektóre pomiary mogą w ogóle nie zgłaszać żadnej wartości prędkości (niektóre metody sieciowe), w którym to przypadku nie rejestruje się niczego.</string>
<string name="monitoring_min_accuracy_descr_remark">Uwaga: Jeśli GPS został wyłączony bezpośrednio przed nagraniem, pierwszy zmierzony punkt może mieć zmniejszoną dokładność, więc w naszym kodzie możemy chcieć poczekać sekundę przed nagraniem punktu (lub nagrać najlepszy z 3 kolejnych punktów itp.), ale nie jest to jeszcze realizowane.</string> <string name="monitoring_min_accuracy_descr_remark">Uwaga: Jeśli GPS został wyłączony bezpośrednio przed nagraniem, to pierwszy zmierzony punkt może mieć zmniejszoną dokładność. W naszym kodzie możemy chcieć poczekać sekundę przed nagraniem punktu (lub nagrać najlepszy z 3 kolejnych punktów itp.), ale nie jest to jeszcze zaimplementowane.</string>
<string name="multimedia_rec_split_title">Dzielenie nagrań</string> <string name="multimedia_rec_split_title">Podział nagrań</string>
<string name="recalc_angle_dialog_descr">Dodatkowy prosty odcinek pomiędzy moją pozycją a obliczoną trasą zostanie wyświetlony do czasu ponownego obliczenia trasy</string> <string name="recalc_angle_dialog_descr">Dodatkowy prosty odcinek pomiędzy moją pozycją a obliczoną trasą zostanie wyświetlony do czasu ponownego obliczenia trasy</string>
<string name="recalc_angle_dialog_title">Minimalny kąt między moją lokalizacją a trasą</string> <string name="recalc_angle_dialog_title">Minimalny kąt między moją lokalizacją a trasą</string>
<string name="shared_string_preparing">Przygotowanie</string> <string name="shared_string_preparing">Przygotowanie</string>
@ -3573,4 +3573,39 @@ Reprezentuje obszar: %1$s x %2$s</string>
<string name="clear_recorded_data_warning">Wyczyścić zarejestrowane dane\?</string> <string name="clear_recorded_data_warning">Wyczyścić zarejestrowane dane\?</string>
<string name="importing_from">Importowanie danych z %1$s</string> <string name="importing_from">Importowanie danych z %1$s</string>
<string name="shared_string_importing">Importowanie</string> <string name="shared_string_importing">Importowanie</string>
<string name="items_added">Dodano elementy</string>
<string name="shared_string_import_complete">Zakończono importowanie</string>
<string name="import_complete_description">Zaimportowano wszystkie dane z %1$s. Można użyć poniższych przycisków, aby otworzyć wymaganą cześć aplikacji w celu zarządzania nią.</string>
<string name="recalculate_route_distance_promo">Trasa zostanie ponownie obliczona, jeśli odległość od trasy do bieżącej lokalizacji jest większa niż wybrana wartość.</string>
<string name="select_distance_route_will_recalc">Wybierz odległość, po której trasa zostanie ponownie obliczona.</string>
<string name="recalculate_route_in_deviation">Przelicz trasę w przypadku odchylenia</string>
<string name="select_group">Wybierz grupę</string>
<string name="add_description">Dodaj opis</string>
<string name="delete_description">Usuń opis</string>
<string name="quick_action_terrain_descr">Przycisk do wyświetlania lub ukrywania warstwy terenu na mapie.</string>
<string name="quick_action_terrain_show">Pokaż teren</string>
<string name="quick_action_terrain_hide">Ukryj teren</string>
<string name="quick_action_show_hide_terrain">Pokaż/ukryj teren</string>
<string name="download_slope_maps">Nachylenie</string>
<string name="terrain_empty_state_text">Włącz, aby wyświetlić cieniowanie wzniesień lub stoków. Możesz przeczytać więcej o tego rodzaju mapach na naszej stronie</string>
<string name="shared_string_legend">Legenda</string>
<string name="shared_string_zoom_levels">Poziom powiększenia</string>
<string name="shared_string_transparency">Przejrzystość</string>
<string name="slope_read_more">Więcej informacji o nachyleniu można przeczytać na %1$s.</string>
<string name="slope_download_description">Do wyświetlania nachylenia terenu wymagane są dodatkowe mapy.</string>
<string name="terrain_slider_description">Ustaw minimalny i maksymalny poziom powiększenia, na których będzie wyświetlana warstwa.</string>
<string name="slope_description">Nachylenie to pokolorowane wizualizacje terenu.</string>
<string name="hillshade_description">Cieniowanie wzniesień wykorzystuje ciemne odcienie do pokazania stoków, szczytów i nizin.</string>
<string name="shared_string_terrain">Teren</string>
<string name="n_items_of_z">%1$s z %2$s</string>
<string name="shared_string_square">Kwadrat</string>
<string name="shared_string_rhomb">Romb</string>
<string name="shared_string_circle">Okrąg</string>
<string name="select_shape">Wybierz kształt</string>
<string name="hillshade_download_description">Cieniowanie wzniesień wymaga dodatkowych map.</string>
<string name="shared_string_hillshade">Cieniowanie wzniesień</string>
<string name="checking_for_duplicate_description">OsmAnd wyszukuje duplikatów %1$s w istniejących rzeczach w aplikacji.
\n
\nTo może zająć chwilę.</string>
<string name="shared_string_min">Min</string>
</resources> </resources>

View file

@ -3432,7 +3432,7 @@
<string name="choose_icon_color_name">Escolha o ícone, cor e nome</string> <string name="choose_icon_color_name">Escolha o ícone, cor e nome</string>
<string name="reorder_profiles">Editar lista de perfis</string> <string name="reorder_profiles">Editar lista de perfis</string>
<string name="selected_profile">Perfil selecionado</string> <string name="selected_profile">Perfil selecionado</string>
<string name="reset_confirmation_descr">Ao clicar em %1$s perderá todas as suas alterações.</string> <string name="reset_confirmation_descr">Tocar em %1$s descartará todas as suas alterações.</string>
<string name="reset_all_profile_settings_descr">Todas as configurações de perfil serão redefinidas para o estado após a instalação.</string> <string name="reset_all_profile_settings_descr">Todas as configurações de perfil serão redefinidas para o estado após a instalação.</string>
<string name="reset_all_profile_settings">Redefinir todas as configurações de perfil para o padrão\?</string> <string name="reset_all_profile_settings">Redefinir todas as configurações de perfil para o padrão\?</string>
<string name="ltr_or_rtl_combine_via_space">%1$s %2$s</string> <string name="ltr_or_rtl_combine_via_space">%1$s %2$s</string>

View file

@ -3460,7 +3460,7 @@ Zodpovedá oblasti: %1$s x %2$s</string>
<string name="multimedia_photo_play_sound">Zvuk spúšte fotoaparátu</string> <string name="multimedia_photo_play_sound">Zvuk spúšte fotoaparátu</string>
<string name="osm_authorization_success">Prihlásenie je úspešné</string> <string name="osm_authorization_success">Prihlásenie je úspešné</string>
<string name="rearrange_categories">Usporiadať kategórie</string> <string name="rearrange_categories">Usporiadať kategórie</string>
<string name="create_custom_categories_list_promo">Môžete pridať vlastné kategórie a skryť kategórie, ktoré nepotrebujete a zmeniť poradie triedenia v zozname. Zozname môže byť importovaný a exportovaný s profilmi.</string> <string name="create_custom_categories_list_promo">Zmeňte poradie triedenia zoznamu, skryte nepotrebné kategórie. Môžete importovať a exportovať všetky zmeny s profilmi.</string>
<string name="add_new_custom_category_button_promo">Môžete pridať novú kategóriu zvolením jednej alebo viacerých existujúcich.</string> <string name="add_new_custom_category_button_promo">Môžete pridať novú kategóriu zvolením jednej alebo viacerých existujúcich.</string>
<string name="reset_to_default_category_button_promo">Obnovenie do východzieho nastavenia vymaže poradie triedenia ako po novej inštalácii.</string> <string name="reset_to_default_category_button_promo">Obnovenie do východzieho nastavenia vymaže poradie triedenia ako po novej inštalácii.</string>
<string name="shared_string_available">Dostupné</string> <string name="shared_string_available">Dostupné</string>
@ -3566,4 +3566,33 @@ Zodpovedá oblasti: %1$s x %2$s</string>
<string name="items_added">Položky pridané</string> <string name="items_added">Položky pridané</string>
<string name="shared_string_import_complete">Import ukončený</string> <string name="shared_string_import_complete">Import ukončený</string>
<string name="import_complete_description">Všetky údaje z %1$s sú naimportované, môžete použiť tlačidlá nižšie pre otvorenie príslušnej časti aplikácie pre ich správu.</string> <string name="import_complete_description">Všetky údaje z %1$s sú naimportované, môžete použiť tlačidlá nižšie pre otvorenie príslušnej časti aplikácie pre ich správu.</string>
<string name="shared_string_terrain">Terén</string>
<string name="hillshade_description">Tieňované svahy používajú tmavé odtiene pre vyjadrenie svahov, vrcholov a nížin.</string>
<string name="slope_description">Svahy sú vyjadrené farebnou vizualizáciou na teréne.</string>
<string name="terrain_slider_description">Nastavte minimálnu a maximálnu úroveň priblíženia kedy bude vrstva zobrazená.</string>
<string name="hillshade_download_description">Pre zobrazenie tieňovaných svahov sú potrebné ďalšie mapy.</string>
<string name="slope_download_description">Pre zobrazenie svahov sú potrebné ďalšie mapy.</string>
<string name="slope_read_more">Môžete si prečítať viac o svahoch na %1$s.</string>
<string name="shared_string_transparency">Priehľadnosť</string>
<string name="shared_string_zoom_levels">Úrovne priblíženia</string>
<string name="shared_string_legend">Legenda</string>
<string name="terrain_empty_state_text">Zapnite pre zobrazenie mapy tieňovaných svahov alebo svahov. O týchto typoch máp sa dozviete viac na našej stránke</string>
<string name="shared_string_hillshade">Tieňované svahy</string>
<string name="recalculate_route_in_deviation">Prepočítať trasu v prípade odchýlenia</string>
<string name="select_distance_route_will_recalc">Zvoľte vzdialenosť, po ktorej bude trasa prepočítaná.</string>
<string name="recalculate_route_distance_promo">Trasa bude prepočítaná ak vzdialenosť od trasy k aktuálnej polohe je väčšia ako zvolená hodnota.</string>
<string name="n_items_of_z">%1$s z %2$s</string>
<string name="download_slope_maps">Svahy</string>
<string name="quick_action_show_hide_terrain">Zobraziť/skryť terén</string>
<string name="quick_action_terrain_hide">Skryť terén</string>
<string name="quick_action_terrain_show">Zobraziť terén</string>
<string name="quick_action_terrain_descr">Tlačidlo pre zobrazenie alebo skrytie vrstvy terénu na mape.</string>
<string name="delete_description">Vymazať popis</string>
<string name="add_description">Pridať popis</string>
<string name="select_group">Zvoľte skupinu</string>
<string name="select_shape">Zvoľte tvar</string>
<string name="shared_string_circle">Kruh</string>
<string name="shared_string_rhomb">Kosoštvorec</string>
<string name="shared_string_square">Štvorec</string>
<string name="shared_string_min">Min</string>
</resources> </resources>

View file

@ -2729,4 +2729,6 @@
<string name="poi_cash_withdrawal_bank_card">Подизање новца</string> <string name="poi_cash_withdrawal_bank_card">Подизање новца</string>
<string name="poi_bath_type">Тип</string> <string name="poi_bath_type">Тип</string>
<string name="poi_bath_open_air">На отвореном</string> <string name="poi_bath_open_air">На отвореном</string>
<string name="poi_agrarian">Пољопривредна радња</string>
<string name="poi_meadow_agricultural">Тип: пољопривредно</string>
</resources> </resources>

View file

@ -3571,4 +3571,30 @@
<string name="recalculate_route_distance_promo">如果從路徑到目前位置的距離大於選定的值,將會重新計算路徑。</string> <string name="recalculate_route_distance_promo">如果從路徑到目前位置的距離大於選定的值,將會重新計算路徑。</string>
<string name="select_distance_route_will_recalc">選取要重新計算路徑的距離。</string> <string name="select_distance_route_will_recalc">選取要重新計算路徑的距離。</string>
<string name="recalculate_route_in_deviation">發生偏離時重新計算路線</string> <string name="recalculate_route_in_deviation">發生偏離時重新計算路線</string>
<string name="shared_string_min">分鐘</string>
<string name="n_items_of_z">%2$s 的 %1$s</string>
<string name="shared_string_terrain">地形</string>
<string name="hillshade_description">地形陰影地圖用黑色的陰影來顯示坡度、山峰與低地。</string>
<string name="slope_description">坡度是在地形上的彩色可視化效果。</string>
<string name="terrain_slider_description">設定顯示圖層的最小與最大縮放等級。</string>
<string name="hillshade_download_description">需要其他地圖才能在地圖上檢視地形陰影。</string>
<string name="slope_download_description">需要其他地圖才能在地圖上檢視坡度。</string>
<string name="slope_read_more">您可以在 %1$s 閱讀關於更多坡度的資訊。</string>
<string name="shared_string_transparency">透明度</string>
<string name="shared_string_zoom_levels">縮放等級</string>
<string name="shared_string_legend">圖例</string>
<string name="terrain_empty_state_text">啟用以檢視地形陰影或坡度圖。您可以在我們的網站上閱讀更多關於此地圖類型的資訊</string>
<string name="shared_string_hillshade">地形陰影</string>
<string name="download_slope_maps">坡度</string>
<string name="quick_action_show_hide_terrain">顯示/隱藏地形</string>
<string name="quick_action_terrain_hide">隱藏地形</string>
<string name="quick_action_terrain_show">顯示地形</string>
<string name="quick_action_terrain_descr">用於顯示或隱藏地圖上地形圖層的按鈕。</string>
<string name="delete_description">刪除描述</string>
<string name="add_description">新增描述</string>
<string name="select_group">選取群組</string>
<string name="select_shape">選取形狀</string>
<string name="shared_string_circle">圓形</string>
<string name="shared_string_rhomb">菱形</string>
<string name="shared_string_square">方形</string>
</resources> </resources>

View file

@ -178,7 +178,7 @@
<color name="row_selection_color">#CC33BBE0</color> <color name="row_selection_color">#CC33BBE0</color>
<!-- GPX analysis colors --> <!-- GPX analysis colors -->
<color name="gpx_color_point">#cd2c33</color> <color name="gpx_color_point">#d00d0d</color>
<color name="gpx_speed">#c79c00</color> <color name="gpx_speed">#c79c00</color>
<color name="gpx_altitude_desc">#32CD32</color> <color name="gpx_altitude_desc">#32CD32</color>
<color name="gpx_altitude_asc">#EE3232</color> <color name="gpx_altitude_asc">#EE3232</color>
@ -456,6 +456,9 @@
<color name="profile_icon_color_yellow_dark">#F0B400</color> <color name="profile_icon_color_yellow_dark">#F0B400</color>
<color name="profile_icon_color_magenta_dark">#CC0063</color> <color name="profile_icon_color_magenta_dark">#CC0063</color>
<color name="profile_icon_color_outdated_light">#A6A6A6</color>
<color name="profile_icon_color_outdated_dark">#727272</color>
<color name="profile_icon_color_inactive">#727272</color> <color name="profile_icon_color_inactive">#727272</color>
<color name="switch_button_active">#1A237BFF</color> <color name="switch_button_active">#1A237BFF</color>

View file

@ -14,4 +14,7 @@
<dimen name="context_img_card_width">280dp</dimen> <dimen name="context_img_card_width">280dp</dimen>
<dimen name="context_img_card_height">160dp</dimen> <dimen name="context_img_card_height">160dp</dimen>
<dimen name="line_spacing_multiplier_description">1.2</dimen>
<dimen name="line_spacing_extra_description">5dp</dimen>
</resources> </resources>

View file

@ -70,6 +70,7 @@
<dimen name="list_header_bottom_margin">8dp</dimen> <dimen name="list_header_bottom_margin">8dp</dimen>
<dimen name="favorites_icon_right_margin">24dp</dimen> <dimen name="favorites_icon_right_margin">24dp</dimen>
<dimen name="favorites_icon_size">40dp</dimen>
<dimen name="local_index_check_right_margin">10dp</dimen> <dimen name="local_index_check_right_margin">10dp</dimen>
<dimen name="favorites_icon_top_margin">13dp</dimen> <dimen name="favorites_icon_top_margin">13dp</dimen>
<dimen name="dialog_elements_vertical_margin">16dp</dimen> <dimen name="dialog_elements_vertical_margin">16dp</dimen>

View file

@ -18,11 +18,20 @@
<string name="shared_string_drawer">Drawer</string> <string name="shared_string_drawer">Drawer</string>
<string name="ui_customization">UI Customization</string> <string name="ui_customization">UI Customization</string>
<string name="ui_customization_description">Customize the quantity of items in Drawer, Configure map and context menu.\n\nYou can disable unused plugins, to hide all its controls from the application.</string> <string name="ui_customization_description">Customize the quantity of items in Drawer, Configure map and context menu.\n\nYou can disable unused plugins, to hide all its controls from the application.</string>
<string name="shared_string_min">Min</string>
<string name="shared_string_square">Square</string>
<string name="shared_string_rhomb">Rhomb</string>
<string name="shared_string_circle">Circle</string>
<string name="select_shape">Select shape</string>
<string name="select_group">Select group</string>
<string name="add_description">Add description</string>
<string name="delete_description">Delete description</string>
<string name="quick_action_terrain_descr">A button to show or hide terrain layer on the map.</string> <string name="quick_action_terrain_descr">A button to show or hide terrain layer on the map.</string>
<string name="quick_action_terrain_show">Show terrain</string> <string name="quick_action_terrain_show">Show terrain</string>
<string name="quick_action_terrain_hide">Hide terrain</string> <string name="quick_action_terrain_hide">Hide terrain</string>
<string name="quick_action_show_hide_terrain">Show/hide terrain</string> <string name="quick_action_show_hide_terrain">Show/hide terrain</string>
<string name="download_slope_maps">Slopes</string> <string name="download_slope_maps">Slopes</string>
<string name="n_items_of_z">%1$s of %2$s</string>
<string name="recalculate_route_distance_promo">The route will be recalculated if the distance from the route to the current location is more than selected value.</string> <string name="recalculate_route_distance_promo">The route will be recalculated if the distance from the route to the current location is more than selected value.</string>
<string name="select_distance_route_will_recalc">Select the distance after which the route will be recalculated.</string> <string name="select_distance_route_will_recalc">Select the distance after which the route will be recalculated.</string>
<string name="recalculate_route_in_deviation">Recalculate route in case of deviation</string> <string name="recalculate_route_in_deviation">Recalculate route in case of deviation</string>

View file

@ -100,6 +100,16 @@
<item name="android:textColor">@color/active_color_primary_dark</item> <item name="android:textColor">@color/active_color_primary_dark</item>
</style> </style>
<style name="OsmandMaterialLightTheme" parent="Theme.MaterialComponents.Light">
<item name="dashboard_divider">@color/divider_color_light</item>
<item name="divider_color">@color/divider_color</item>
</style>
<style name="OsmandMaterialDarkTheme" parent="Theme.MaterialComponents">
<item name="dashboard_divider">@color/divider_color_dark</item>
<item name="divider_color">@color/divider_color_dark</item>
</style>
<!-- Osmand themes styles --> <!-- Osmand themes styles -->
<style name="OsmandLightTheme" parent="Theme.AppCompat.Light"> <style name="OsmandLightTheme" parent="Theme.AppCompat.Light">
<item name="android:textDirection">locale</item> <item name="android:textDirection">locale</item>

View file

@ -31,6 +31,7 @@ public class FavouritePoint implements Serializable, LocationPoint {
private int color; private int color;
private boolean visible = true; private boolean visible = true;
private SpecialPointType specialPointType = null; private SpecialPointType specialPointType = null;
private BackgroundType backgroundType = null;
public FavouritePoint() { public FavouritePoint() {
} }
@ -57,6 +58,7 @@ public class FavouritePoint implements Serializable, LocationPoint {
this.originObjectName = favouritePoint.originObjectName; this.originObjectName = favouritePoint.originObjectName;
this.address = favouritePoint.address; this.address = favouritePoint.address;
this.iconId = favouritePoint.iconId; this.iconId = favouritePoint.iconId;
this.backgroundType = favouritePoint.backgroundType;
initPersonalType(); initPersonalType();
} }
@ -91,7 +93,7 @@ public class FavouritePoint implements Serializable, LocationPoint {
} }
public int getIconId() { public int getIconId() {
return iconId; return iconId == 0 ? R.drawable.mx_special_star : iconId;
} }
public String getIconEntryName(Context ctx) { public String getIconEntryName(Context ctx) {
@ -138,10 +140,8 @@ public class FavouritePoint implements Serializable, LocationPoint {
public int getOverlayIconId() { public int getOverlayIconId() {
if (isSpecialPoint()) { if (isSpecialPoint()) {
return specialPointType.getIconId(); return specialPointType.getIconId();
} else if (iconId == 0) {
return R.drawable.mx_special_star;
} }
return iconId; return getIconId();
} }
public double getLatitude() { public double getLatitude() {
@ -197,6 +197,14 @@ public class FavouritePoint implements Serializable, LocationPoint {
this.description = description; this.description = description;
} }
public BackgroundType getBackgroundType() {
return backgroundType == null ? BackgroundType.CIRCLE : backgroundType;
}
public void setBackgroundType(BackgroundType backgroundType) {
this.backgroundType = backgroundType;
}
@NonNull @NonNull
@Override @Override
public String toString() { public String toString() {
@ -285,6 +293,45 @@ public class FavouritePoint implements Serializable, LocationPoint {
} }
} }
public enum BackgroundType {
CIRCLE("circle", R.string.shared_string_circle, R.drawable.bg_point_circle),
RHOMB("rhomb", R.string.shared_string_rhomb, R.drawable.bg_point_rhomb),
SQUARE("square", R.string.shared_string_square, R.drawable.bg_point_square);
private String typeName;
@StringRes
private int nameId;
@DrawableRes
private int iconId;
BackgroundType(@NonNull String typeName, @StringRes int nameId, @DrawableRes int iconId) {
this.typeName = typeName;
this.nameId = nameId;
this.iconId = iconId;
}
public int getNameId() {
return nameId;
}
public int getIconId() {
return iconId;
}
public String getTypeName() {
return typeName;
}
public static BackgroundType getByTypeName(String typeName, BackgroundType defaultValue) {
for (BackgroundType type : BackgroundType.values()) {
if (type.typeName.equals(typeName)) {
return type;
}
}
return defaultValue;
}
}
public static FavouritePoint fromWpt(@NonNull WptPt pt, @NonNull Context ctx) { public static FavouritePoint fromWpt(@NonNull WptPt pt, @NonNull Context ctx) {
String name = pt.name; String name = pt.name;
String categoryName = pt.category != null ? pt.category : ""; String categoryName = pt.category != null ? pt.category : "";
@ -304,6 +351,8 @@ public class FavouritePoint implements Serializable, LocationPoint {
if (iconName != null) { if (iconName != null) {
fp.setIconIdFromName(ctx, iconName); fp.setIconIdFromName(ctx, iconName);
} }
BackgroundType backgroundType = BackgroundType.getByTypeName(pt.getBackgroundType(), BackgroundType.CIRCLE);
fp.setBackgroundType(backgroundType);
return fp; return fp;
} }
@ -320,6 +369,9 @@ public class FavouritePoint implements Serializable, LocationPoint {
if (iconId != 0) { if (iconId != 0) {
pt.setIconName(getIconEntryName(ctx).substring(3)); pt.setIconName(getIconEntryName(ctx).substring(3));
} }
if(backgroundType != null) {
pt.setBackgroundType(backgroundType.typeName);
}
if (getColor() != 0) { if (getColor() != 0) {
pt.setColor(getColor()); pt.setColor(getColor());
} }

View file

@ -302,7 +302,9 @@ public class FavouritesDbHelper {
if (FavouritePoint.SpecialPointType.PARKING.equals(p.getSpecialPointType())) { if (FavouritePoint.SpecialPointType.PARKING.equals(p.getSpecialPointType())) {
p.setColor(ContextCompat.getColor(context, R.color.map_widget_blue)); p.setColor(ContextCompat.getColor(context, R.color.map_widget_blue));
} else { } else {
p.setColor(group.color); if (p.getColor() == 0) {
p.setColor(group.color);
}
} }
group.points.add(p); group.points.add(p);
cachedFavoritePoints.add(p); cachedFavoritePoints.add(p);
@ -440,7 +442,9 @@ public class FavouritesDbHelper {
if (FavouritePoint.SpecialPointType.PARKING.equals(p.getSpecialPointType())) { if (FavouritePoint.SpecialPointType.PARKING.equals(p.getSpecialPointType())) {
p.setColor(ContextCompat.getColor(context, R.color.map_widget_blue)); p.setColor(ContextCompat.getColor(context, R.color.map_widget_blue));
} else { } else {
p.setColor(pg.color); if (p.getColor() == 0) {
p.setColor(pg.color);
}
} }
pg.points.add(p); pg.points.add(p);
} }

View file

@ -379,6 +379,7 @@ public class OsmandApplication extends MultiDexApplication {
} }
} }
public void checkPreferredLocale() { public void checkPreferredLocale() {
Configuration config = getBaseContext().getResources().getConfiguration(); Configuration config = getBaseContext().getResources().getConfiguration();
@ -408,6 +409,8 @@ public class OsmandApplication extends MultiDexApplication {
if (selectedLocale != null) { if (selectedLocale != null) {
Locale.setDefault(selectedLocale); Locale.setDefault(selectedLocale);
config.locale = selectedLocale; config.locale = selectedLocale;
config.setLayoutDirection(selectedLocale);
getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics()); getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
if (android.os.Build.VERSION.SDK_INT >= 17) { if (android.os.Build.VERSION.SDK_INT >= 17) {
Configuration conf = new Configuration(config); Configuration conf = new Configuration(config);

View file

@ -2060,7 +2060,7 @@ public class OsmandSettings {
public final OsmandPreference<Integer> LEVEL_TO_SWITCH_VECTOR_RASTER = new IntPreference("level_to_switch_vector_raster", 1).makeGlobal().cache(); public final OsmandPreference<Integer> LEVEL_TO_SWITCH_VECTOR_RASTER = new IntPreference("level_to_switch_vector_raster", 1).makeGlobal().cache();
// this value string is synchronized with settings_pref.xml preference name // this value string is synchronized with settings_pref.xml preference name
public final OsmandPreference<Integer> AUDIO_STREAM_GUIDANCE = new IntPreference("audio_stream", 3/*AudioManager.STREAM_MUSIC*/) { public final OsmandPreference<Integer> AUDIO_MANAGER_STREAM = new IntPreference("audio_stream", 3/*AudioManager.STREAM_MUSIC*/) {
@Override @Override
protected boolean setValue(Object prefs, Integer stream) { protected boolean setValue(Object prefs, Integer stream) {
boolean valueSaved = super.setValue(prefs, stream); boolean valueSaved = super.setValue(prefs, stream);
@ -3401,6 +3401,7 @@ public class OsmandSettings {
// this value could localized // this value could localized
public final OsmandPreference<String> VOICE_PROVIDER = new StringPreference("voice_provider", null) { public final OsmandPreference<String> VOICE_PROVIDER = new StringPreference("voice_provider", null) {
protected String getDefaultValue() { protected String getDefaultValue() {
Configuration config = ctx.getResources().getConfiguration(); Configuration config = ctx.getResources().getConfiguration();
for (String lang : TTS_AVAILABLE_VOICES) { for (String lang : TTS_AVAILABLE_VOICES) {
if (lang.equals(config.locale.getLanguage())) { if (lang.equals(config.locale.getLanguage())) {

View file

@ -535,18 +535,35 @@ public class SettingsHelper {
} }
private void renameProfile() { private void renameProfile() {
List<ApplicationMode> values = ApplicationMode.allPossibleValues();
if (Algorithms.isEmpty(modeBean.userProfileName)) {
ApplicationMode appMode = ApplicationMode.valueOfStringKey(modeBean.stringKey, null);
if (appMode != null) {
modeBean.userProfileName = app.getString(appMode.getNameKeyResource());
}
}
int number = 0; int number = 0;
while (true) { while (true) {
number++; number++;
String key = modeBean.stringKey + "_" + number; String key = modeBean.stringKey + "_" + number;
if (ApplicationMode.valueOfStringKey(key, null) == null) { String name = modeBean.userProfileName + '_' + number;
if (ApplicationMode.valueOfStringKey(key, null) == null && isNameUnique(values, name)) {
modeBean.userProfileName = name;
modeBean.stringKey = key; modeBean.stringKey = key;
modeBean.userProfileName = modeBean.userProfileName + "_" + number;
break; break;
} }
} }
} }
private boolean isNameUnique(List<ApplicationMode> values, String name) {
for (ApplicationMode mode : values) {
if (mode.getUserProfileName().equals(name)) {
return false;
}
}
return true;
}
@Override @Override
public void apply() { public void apply() {
if (!appMode.isCustomProfile() && !shouldReplace) { if (!appMode.isCustomProfile() && !shouldReplace) {

View file

@ -546,6 +546,14 @@ public class UiUtilities {
} }
} }
public static LayoutInflater getMaterialInflater(Context ctx, boolean nightMode) {
return LayoutInflater.from(getThemedMaterialContext(ctx, nightMode));
}
private static Context getThemedMaterialContext(Context context, boolean nightMode) {
return getThemedContext(context, nightMode, R.style.OsmandMaterialLightTheme, R.style.OsmandMaterialDarkTheme);
}
public static LayoutInflater getInflater(Context ctx, boolean nightMode) { public static LayoutInflater getInflater(Context ctx, boolean nightMode) {
return LayoutInflater.from(getThemedContext(ctx, nightMode)); return LayoutInflater.from(getThemedContext(ctx, nightMode));
} }

View file

@ -804,8 +804,8 @@ public class MapActivity extends OsmandActionBarActivity implements DownloadEven
// for voice navigation // for voice navigation
ApplicationMode routingAppMode = getRoutingHelper().getAppMode(); ApplicationMode routingAppMode = getRoutingHelper().getAppMode();
if (routingAppMode != null && settings.AUDIO_STREAM_GUIDANCE.getModeValue(routingAppMode) != null) { if (routingAppMode != null && settings.AUDIO_MANAGER_STREAM.getModeValue(routingAppMode) != null) {
setVolumeControlStream(settings.AUDIO_STREAM_GUIDANCE.getModeValue(routingAppMode)); setVolumeControlStream(settings.AUDIO_MANAGER_STREAM.getModeValue(routingAppMode));
} else { } else {
setVolumeControlStream(AudioManager.STREAM_MUSIC); setVolumeControlStream(AudioManager.STREAM_MUSIC);
} }

View file

@ -509,7 +509,13 @@ public class SavingTrackHelper extends SQLiteOpenHelper {
currentTrack.getModifiableGpxFile().modifiedTime = time; currentTrack.getModifiableGpxFile().modifiedTime = time;
} }
public WptPt insertPointData(double lat, double lon, long time, String description, String name, String category, int color) { public WptPt insertPointData(double lat, double lon, long time, String description, String name, String category,
int color) {
return insertPointData(lat, lon, time, description, name, category, color, null, null);
}
public WptPt insertPointData(double lat, double lon, long time, String description, String name, String category,
int color, String iconName, String backgroundName) {
final WptPt pt = new WptPt(lat, lon, time, Double.NaN, 0, Double.NaN); final WptPt pt = new WptPt(lat, lon, time, Double.NaN, 0, Double.NaN);
pt.name = name; pt.name = name;
pt.category = category; pt.category = category;
@ -517,6 +523,8 @@ public class SavingTrackHelper extends SQLiteOpenHelper {
if (color != 0) { if (color != 0) {
pt.setColor(color); pt.setColor(color);
} }
pt.setIconName(iconName);
pt.setBackgroundType(backgroundName);
ctx.getSelectedGpxHelper().addPoint(pt, currentTrack.getModifiableGpxFile()); ctx.getSelectedGpxHelper().addPoint(pt, currentTrack.getModifiableGpxFile());
currentTrack.getModifiableGpxFile().modifiedTime = time; currentTrack.getModifiableGpxFile().modifiedTime = time;
points++; points++;
@ -525,6 +533,11 @@ public class SavingTrackHelper extends SQLiteOpenHelper {
} }
public void updatePointData(WptPt pt, double lat, double lon, long time, String description, String name, String category, int color) { public void updatePointData(WptPt pt, double lat, double lon, long time, String description, String name, String category, int color) {
updatePointData(pt, lat, lon, time, description, name, category, color, null, null);
}
public void updatePointData(WptPt pt, double lat, double lon, long time, String description, String name,
String category, int color, String iconName, String iconBackground) {
currentTrack.getModifiableGpxFile().modifiedTime = time; currentTrack.getModifiableGpxFile().modifiedTime = time;
List<Object> params = new ArrayList<>(); List<Object> params = new ArrayList<>();
@ -586,6 +599,12 @@ public class SavingTrackHelper extends SQLiteOpenHelper {
if (color != 0) { if (color != 0) {
pt.setColor(color); pt.setColor(color);
} }
if (iconName != null) {
pt.setIconName(iconName);
}
if (iconBackground != null) {
pt.setBackgroundType(iconBackground);
}
} }
public void deletePointData(WptPt pt) { public void deletePointData(WptPt pt) {

View file

@ -264,7 +264,7 @@ public class SettingsNavigationActivity extends SettingsBaseActivity {
AudioManager.STREAM_NOTIFICATION, AudioManager.STREAM_VOICE_CALL}; AudioManager.STREAM_NOTIFICATION, AudioManager.STREAM_VOICE_CALL};
//AudioManager.USE_DEFAULT_STREAM_TYPE}; //AudioManager.USE_DEFAULT_STREAM_TYPE};
ListPreference lp = createListPreference( ListPreference lp = createListPreference(
settings.AUDIO_STREAM_GUIDANCE, streamTypes, streamIntTypes , R.string.choose_audio_stream, settings.AUDIO_MANAGER_STREAM, streamTypes, streamIntTypes , R.string.choose_audio_stream,
R.string.choose_audio_stream_descr); R.string.choose_audio_stream_descr);
final Preference.OnPreferenceChangeListener prev = lp.getOnPreferenceChangeListener(); final Preference.OnPreferenceChangeListener prev = lp.getOnPreferenceChangeListener();
lp.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { lp.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@ -274,11 +274,11 @@ public class SettingsNavigationActivity extends SettingsBaseActivity {
prev.onPreferenceChange(preference, newValue); prev.onPreferenceChange(preference, newValue);
CommandPlayer player = getMyApplication().getPlayer(); CommandPlayer player = getMyApplication().getPlayer();
if (player != null) { if (player != null) {
player.updateAudioStream(settings.AUDIO_STREAM_GUIDANCE.get()); player.updateAudioStream(settings.AUDIO_MANAGER_STREAM.get());
} }
// Sync corresponding AUDIO_USAGE value // Sync corresponding AUDIO_USAGE value
ApplicationMode mode = getMyApplication().getSettings().getApplicationMode(); ApplicationMode mode = getMyApplication().getSettings().getApplicationMode();
int stream = settings.AUDIO_STREAM_GUIDANCE.getModeValue(mode); int stream = settings.AUDIO_MANAGER_STREAM.getModeValue(mode);
if (stream == AudioManager.STREAM_MUSIC) { if (stream == AudioManager.STREAM_MUSIC) {
settings.AUDIO_USAGE.setModeValue(mode, AudioAttributes.USAGE_ASSISTANCE_NAVIGATION_GUIDANCE); settings.AUDIO_USAGE.setModeValue(mode, AudioAttributes.USAGE_ASSISTANCE_NAVIGATION_GUIDANCE);
} else if (stream == AudioManager.STREAM_NOTIFICATION) { } else if (stream == AudioManager.STREAM_NOTIFICATION) {
@ -288,7 +288,7 @@ public class SettingsNavigationActivity extends SettingsBaseActivity {
} }
// Sync DEFAULT value with CAR value, as we have other way to set it for now // Sync DEFAULT value with CAR value, as we have other way to set it for now
settings.AUDIO_STREAM_GUIDANCE.setModeValue(ApplicationMode.DEFAULT, settings.AUDIO_STREAM_GUIDANCE.getModeValue(ApplicationMode.CAR)); settings.AUDIO_MANAGER_STREAM.setModeValue(ApplicationMode.DEFAULT, settings.AUDIO_MANAGER_STREAM.getModeValue(ApplicationMode.CAR));
settings.AUDIO_USAGE.setModeValue(ApplicationMode.DEFAULT, settings.AUDIO_USAGE.getModeValue(ApplicationMode.CAR)); settings.AUDIO_USAGE.setModeValue(ApplicationMode.DEFAULT, settings.AUDIO_USAGE.getModeValue(ApplicationMode.CAR));
return true; return true;
} }

View file

@ -1223,7 +1223,7 @@ public class AudioVideoNotesPlugin extends OsmandPlugin {
private void muteStreamMusicAndOutputGuidance() { private void muteStreamMusicAndOutputGuidance() {
AudioManager am = (AudioManager)app.getSystemService(Context.AUDIO_SERVICE); AudioManager am = (AudioManager)app.getSystemService(Context.AUDIO_SERVICE);
int voiceGuidanceOutput = app.getSettings().AUDIO_STREAM_GUIDANCE.get(); int voiceGuidanceOutput = app.getSettings().AUDIO_MANAGER_STREAM.get();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){
am.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_MUTE, 0); am.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_MUTE, 0);
if (voiceGuidanceOutput != AudioManager.STREAM_MUSIC) if (voiceGuidanceOutput != AudioManager.STREAM_MUSIC)
@ -1237,7 +1237,7 @@ public class AudioVideoNotesPlugin extends OsmandPlugin {
private void unmuteStreamMusicAndOutputGuidance() { private void unmuteStreamMusicAndOutputGuidance() {
AudioManager am = (AudioManager) app.getSystemService(Context.AUDIO_SERVICE); AudioManager am = (AudioManager) app.getSystemService(Context.AUDIO_SERVICE);
int voiceGuidanceOutput = app.getSettings().AUDIO_STREAM_GUIDANCE.get(); int voiceGuidanceOutput = app.getSettings().AUDIO_MANAGER_STREAM.get();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){
am.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_UNMUTE, 0); am.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_UNMUTE, 0);
if (voiceGuidanceOutput != AudioManager.STREAM_MUSIC) if (voiceGuidanceOutput != AudioManager.STREAM_MUSIC)

View file

@ -8,7 +8,7 @@ import android.graphics.Canvas;
import android.graphics.Color; import android.graphics.Color;
import android.graphics.ColorFilter; import android.graphics.ColorFilter;
import android.graphics.Paint; import android.graphics.Paint;
import android.graphics.Paint.Style; import android.graphics.PixelFormat;
import android.graphics.PorterDuff; import android.graphics.PorterDuff;
import android.graphics.PorterDuffColorFilter; import android.graphics.PorterDuffColorFilter;
import android.graphics.Rect; import android.graphics.Rect;
@ -18,8 +18,10 @@ import androidx.annotation.NonNull;
import net.osmand.GPXUtilities; import net.osmand.GPXUtilities;
import net.osmand.data.FavouritePoint; import net.osmand.data.FavouritePoint;
import net.osmand.data.FavouritePoint.BackgroundType;
import net.osmand.plus.OsmandApplication; import net.osmand.plus.OsmandApplication;
import net.osmand.plus.R; import net.osmand.plus.R;
import net.osmand.plus.UiUtilities;
import java.util.TreeMap; import java.util.TreeMap;
@ -29,16 +31,17 @@ public class FavoriteImageDrawable extends Drawable {
private boolean synced; private boolean synced;
private boolean history; private boolean history;
private Drawable favIcon; private Drawable favIcon;
private Bitmap favBackground; private Bitmap favBackgroundTop;
private Bitmap favBackgroundCenter;
private Bitmap favBackgroundBottom;
private Bitmap syncedStroke; private Bitmap syncedStroke;
private Bitmap syncedColor; private Bitmap syncedColor;
private Bitmap syncedShadow; private Bitmap syncedShadow;
private Bitmap syncedIcon; private Bitmap syncedIcon;
private Drawable listDrawable; private Drawable uiListIcon;
private Drawable uiBackgroundIcon;
private Paint paintIcon = new Paint(); private Paint paintIcon = new Paint();
private Paint paintBackground = new Paint(); private Paint paintBackground = new Paint();
private Paint paintOuter = new Paint();
private Paint paintInnerCircle = new Paint();
private ColorFilter colorFilter; private ColorFilter colorFilter;
private ColorFilter grayFilter; private ColorFilter grayFilter;
@ -46,27 +49,31 @@ public class FavoriteImageDrawable extends Drawable {
this.withShadow = withShadow; this.withShadow = withShadow;
this.synced = synced; this.synced = synced;
Resources res = ctx.getResources(); Resources res = ctx.getResources();
UiUtilities uiUtilities = ((OsmandApplication) ctx.getApplicationContext()).getUIUtilities();
int overlayIconId = point != null ? point.getOverlayIconId() : 0; int overlayIconId = point != null ? point.getOverlayIconId() : 0;
int uiIconId; int uiIconId;
if (overlayIconId != 0) { if (overlayIconId != 0) {
favIcon = ((OsmandApplication) ctx.getApplicationContext()).getUIUtilities() favIcon = uiUtilities.getIcon(getMapIconId(ctx, overlayIconId), R.color.color_white);
.getIcon(getMapIconId(ctx, overlayIconId), R.color.color_white);
uiIconId = overlayIconId; uiIconId = overlayIconId;
} else { } else {
favIcon = res.getDrawable(R.drawable.mm_special_star); favIcon = res.getDrawable(R.drawable.mm_special_star);
uiIconId = R.drawable.mx_special_star; uiIconId = R.drawable.mx_special_star;
} }
listDrawable = ((OsmandApplication) ctx.getApplicationContext()).getUIUtilities()
.getIcon(uiIconId, R.color.color_white);
int col = color == 0 || color == Color.BLACK ? res.getColor(R.color.color_favorite) : color; int col = color == 0 || color == Color.BLACK ? res.getColor(R.color.color_favorite) : color;
favBackground = BitmapFactory.decodeResource(res, R.drawable.map_white_favorite_shield); uiListIcon = uiUtilities.getIcon(uiIconId, R.color.color_white);
int uiBackgroundIconId = point != null ? point.getBackgroundType().getIconId() : R.drawable.bg_point_circle;
uiBackgroundIcon = uiUtilities.getPaintedIcon(uiBackgroundIconId, col);
int mapBackgroundIconIdTop = getMapBackgroundIconId(ctx, point, "top");
int mapBackgroundIconIdCenter = getMapBackgroundIconId(ctx, point, "center");
int mapBackgroundIconIdBottom = getMapBackgroundIconId(ctx, point, "bottom");
favBackgroundTop = BitmapFactory.decodeResource(res, mapBackgroundIconIdTop);
favBackgroundCenter = BitmapFactory.decodeResource(res, mapBackgroundIconIdCenter);
favBackgroundBottom = BitmapFactory.decodeResource(res, mapBackgroundIconIdBottom);
syncedStroke = BitmapFactory.decodeResource(res, R.drawable.map_shield_marker_point_stroke); syncedStroke = BitmapFactory.decodeResource(res, R.drawable.map_shield_marker_point_stroke);
syncedColor = BitmapFactory.decodeResource(res, R.drawable.map_shield_marker_point_color); syncedColor = BitmapFactory.decodeResource(res, R.drawable.map_shield_marker_point_color);
syncedShadow = BitmapFactory.decodeResource(res, R.drawable.map_shield_marker_point_shadow); syncedShadow = BitmapFactory.decodeResource(res, R.drawable.map_shield_marker_point_shadow);
syncedIcon = BitmapFactory.decodeResource(res, R.drawable.map_marker_point_14dp); syncedIcon = BitmapFactory.decodeResource(res, R.drawable.map_marker_point_14dp);
initSimplePaint(paintOuter, color == 0 || color == Color.BLACK ? 0x88555555 : color); colorFilter = new PorterDuffColorFilter(col, PorterDuff.Mode.SRC_IN);
initSimplePaint(paintInnerCircle, col);
colorFilter = new PorterDuffColorFilter(col, PorterDuff.Mode.MULTIPLY);
grayFilter = new PorterDuffColorFilter(res.getColor(R.color.color_favorite_gray), PorterDuff.Mode.MULTIPLY); grayFilter = new PorterDuffColorFilter(res.getColor(R.color.color_favorite_gray), PorterDuff.Mode.MULTIPLY);
} }
@ -76,33 +83,38 @@ public class FavoriteImageDrawable extends Drawable {
.replaceFirst("mx_", "mm_"), "drawable", ctx.getPackageName()); .replaceFirst("mx_", "mm_"), "drawable", ctx.getPackageName());
} }
private void initSimplePaint(Paint paint, int color) { private int getMapBackgroundIconId(Context ctx, FavouritePoint point, String layer) {
paint.setAntiAlias(true); if (point != null) {
paint.setStyle(Style.FILL_AND_STROKE); int iconId = point.getBackgroundType().getIconId();
paint.setColor(color); String iconName = ctx.getResources().getResourceEntryName(iconId);
return ctx.getResources().getIdentifier("map_" + iconName + "_" + layer
, "drawable", ctx.getPackageName());
}
return R.drawable.map_white_favorite_shield;
} }
@Override @Override
protected void onBoundsChange(Rect bounds) { protected void onBoundsChange(Rect bounds) {
super.onBoundsChange(bounds); super.onBoundsChange(bounds);
Rect bs = new Rect(bounds); Rect bs = new Rect(bounds);
//bs.inset((int) (4 * density), (int) (4 * density));
bs.inset(bs.width() / 4, bs.height() / 4);
if (!withShadow && !synced) { if (!withShadow && !synced) {
listDrawable.setBounds(bs); uiBackgroundIcon.setBounds(bounds);
bs.inset(bs.width() / 5, bs.height() / 5);
uiListIcon.setBounds(bs);
} else if (withShadow) { } else if (withShadow) {
bs.inset(bs.width() / 3, bs.height() / 3);
favIcon.setBounds(bs); favIcon.setBounds(bs);
} }
} }
@Override @Override
public int getIntrinsicHeight() { public int getIntrinsicHeight() {
return synced ? syncedShadow.getHeight() : favBackground.getHeight(); return synced ? syncedShadow.getHeight() : favBackgroundCenter.getHeight();
} }
@Override @Override
public int getIntrinsicWidth() { public int getIntrinsicWidth() {
return synced ? syncedShadow.getWidth() : favBackground.getWidth(); return synced ? syncedShadow.getWidth() : favBackgroundCenter.getWidth();
} }
@Override @Override
@ -110,23 +122,26 @@ public class FavoriteImageDrawable extends Drawable {
paintBackground.setColorFilter(history ? grayFilter : colorFilter); paintBackground.setColorFilter(history ? grayFilter : colorFilter);
Rect bs = getBounds(); Rect bs = getBounds();
if (synced) { if (synced) {
canvas.drawBitmap(syncedShadow, bs.exactCenterX() - syncedShadow.getWidth() / 2f, bs.exactCenterY() - syncedShadow.getHeight() / 2f, paintBackground); drawBitmap(canvas, bs, syncedShadow, paintBackground);
canvas.drawBitmap(syncedColor, bs.exactCenterX() - syncedColor.getWidth() / 2f, bs.exactCenterY() - syncedColor.getHeight() / 2f, paintBackground); drawBitmap(canvas, bs, syncedColor, paintBackground);
canvas.drawBitmap(syncedStroke, bs.exactCenterX() - syncedStroke.getWidth() / 2f, bs.exactCenterY() - syncedStroke.getHeight() / 2f, paintBackground); drawBitmap(canvas, bs, syncedStroke, paintBackground);
canvas.drawBitmap(syncedIcon, bs.exactCenterX() - syncedIcon.getWidth() / 2f, bs.exactCenterY() - syncedIcon.getHeight() / 2f, paintIcon); drawBitmap(canvas, bs, syncedIcon, paintIcon);
} else if (withShadow) { } else if (withShadow) {
canvas.drawBitmap(favBackground, bs.exactCenterX() - favBackground.getWidth() / 2f, bs.exactCenterY() - favBackground.getHeight() / 2f, paintBackground); drawBitmap(canvas, bs, favBackgroundBottom, null);
drawBitmap(canvas, bs, favBackgroundCenter, paintBackground);
drawBitmap(canvas, bs, favBackgroundTop, null);
favIcon.draw(canvas); favIcon.draw(canvas);
} else { } else {
int min = Math.min(bs.width(), bs.height()); uiBackgroundIcon.draw(canvas);
int r = (min * 4 / 10); uiListIcon.draw(canvas);
int rs = (r - 1);
canvas.drawCircle(min / 2, min / 2, r, paintOuter);
canvas.drawCircle(min / 2, min / 2, rs, paintInnerCircle);
listDrawable.draw(canvas);
} }
} }
public void drawBitmap(@NonNull Canvas canvas, Rect bs, Bitmap bitmap, Paint paintBackground) {
canvas.drawBitmap(bitmap, bs.exactCenterX() - bitmap.getWidth() / 2f,
bs.exactCenterY() - bitmap.getHeight() / 2f, paintBackground);
}
public void drawBitmapInCenter(Canvas canvas, float x, float y, boolean history) { public void drawBitmapInCenter(Canvas canvas, float x, float y, boolean history) {
this.history = history; this.history = history;
float dx = x - getIntrinsicWidth() / 2f; float dx = x - getIntrinsicWidth() / 2f;
@ -154,13 +169,14 @@ public class FavoriteImageDrawable extends Drawable {
private static TreeMap<String, FavoriteImageDrawable> cache = new TreeMap<>(); private static TreeMap<String, FavoriteImageDrawable> cache = new TreeMap<>();
private static FavoriteImageDrawable getOrCreate(Context ctx, int color, boolean withShadow, boolean synced, FavouritePoint point) { private static FavoriteImageDrawable getOrCreate(Context ctx, int color, boolean withShadow, boolean synced, FavouritePoint point) {
String iconName = ""; String uniqueId = "";
if (point != null) { if (point != null) {
iconName = point.getIconEntryName(ctx); uniqueId = point.getIconEntryName(ctx);
uniqueId += point.getBackgroundType().name();
} }
color = color | 0xff000000; color = color | 0xff000000;
int hash = (color << 4) + ((withShadow ? 1 : 0) << 2) + ((synced ? 3 : 0) << 2); int hash = (color << 4) + ((withShadow ? 1 : 0) << 2) + ((synced ? 3 : 0) << 2);
String uniqueId = hash + iconName; uniqueId = hash + uniqueId;
FavoriteImageDrawable drawable = cache.get(uniqueId); FavoriteImageDrawable drawable = cache.get(uniqueId);
if (drawable == null) { if (drawable == null) {
drawable = new FavoriteImageDrawable(ctx, color, withShadow, synced, point); drawable = new FavoriteImageDrawable(ctx, color, withShadow, synced, point);
@ -191,6 +207,7 @@ public class FavoriteImageDrawable extends Drawable {
if (pt != null) { if (pt != null) {
point = new FavouritePoint(pt.getLatitude(), pt.getLongitude(), pt.name, pt.category); point = new FavouritePoint(pt.getLatitude(), pt.getLongitude(), pt.name, pt.category);
point.setIconIdFromName(a, pt.getIconName()); point.setIconIdFromName(a, pt.getIconName());
point.setBackgroundType(BackgroundType.getByTypeName(pt.getBackgroundType(), BackgroundType.CIRCLE));
} }
return point; return point;
} }

View file

@ -406,23 +406,23 @@ public class MapViewTrackingUtilities implements OsmAndLocationListener, IMapLoc
} }
public void switchRotateMapMode(){ public void switchRotateMapMode(){
String rotMode = app.getString(R.string.rotate_map_none_opt); if (mapView != null) {
if (settings.ROTATE_MAP.get() == OsmandSettings.ROTATE_MAP_NONE && mapView.getRotate() != 0) { String rotMode = app.getString(R.string.rotate_map_none_opt);
// reset manual rotation if (settings.ROTATE_MAP.get() == OsmandSettings.ROTATE_MAP_NONE && mapView.getRotate() != 0) {
} else { // reset manual rotation
int vl = (settings.ROTATE_MAP.get() + 1) % 3; } else {
settings.ROTATE_MAP.set(vl); int vl = (settings.ROTATE_MAP.get() + 1) % 3;
settings.ROTATE_MAP.set(vl);
if (settings.ROTATE_MAP.get() == OsmandSettings.ROTATE_MAP_BEARING) { if (settings.ROTATE_MAP.get() == OsmandSettings.ROTATE_MAP_BEARING) {
rotMode = app.getString(R.string.rotate_map_bearing_opt); rotMode = app.getString(R.string.rotate_map_bearing_opt);
} else if (settings.ROTATE_MAP.get() == OsmandSettings.ROTATE_MAP_COMPASS) { } else if (settings.ROTATE_MAP.get() == OsmandSettings.ROTATE_MAP_COMPASS) {
rotMode = app.getString(R.string.rotate_map_compass_opt); rotMode = app.getString(R.string.rotate_map_compass_opt);
}
} }
} rotMode = app.getString(R.string.rotate_map_to_bearing) + ":\n" + rotMode;
rotMode = app.getString(R.string.rotate_map_to_bearing) + ":\n" + rotMode; app.showShortToastMessage(rotMode);
app.showShortToastMessage(rotMode); updateSettings();
updateSettings();
if(mapView != null) {
mapView.refreshMap(); mapView.refreshMap();
} }
} }

View file

@ -125,14 +125,14 @@ public class TestVoiceActivity extends OsmandActionBarActivity {
String v =""; String v ="";
v += " \u25CF App profile: " + ((OsmandApplication) getApplication()).getSettings().APPLICATION_MODE.get().getStringKey(); v += " \u25CF App profile: " + ((OsmandApplication) getApplication()).getSettings().APPLICATION_MODE.get().getStringKey();
if (((OsmandApplication) getApplication()).getSettings().AUDIO_STREAM_GUIDANCE.get() == 3) { if (((OsmandApplication) getApplication()).getSettings().AUDIO_MANAGER_STREAM.get() == 3) {
v += "\n \u25CF Voice guidance output: Media/music audio"; v += "\n \u25CF Voice guidance output: Media/music audio";
} else if (((OsmandApplication) getApplication()).getSettings().AUDIO_STREAM_GUIDANCE.get() == 5) { } else if (((OsmandApplication) getApplication()).getSettings().AUDIO_MANAGER_STREAM.get() == 5) {
v += "\n \u25CF Voice guidance output: Notification audio"; v += "\n \u25CF Voice guidance output: Notification audio";
} else if (((OsmandApplication) getApplication()).getSettings().AUDIO_STREAM_GUIDANCE.get() == 0) { } else if (((OsmandApplication) getApplication()).getSettings().AUDIO_MANAGER_STREAM.get() == 0) {
v += "\n \u25CF Voice guidance output: Phone call audio"; v += "\n \u25CF Voice guidance output: Phone call audio";
} else { } else {
v += "\n \u25CF Voice guidance output: " + ((OsmandApplication) getApplication()).getSettings().AUDIO_STREAM_GUIDANCE.get(); v += "\n \u25CF Voice guidance output: " + ((OsmandApplication) getApplication()).getSettings().AUDIO_MANAGER_STREAM.get();
} }
v += "\n \u25CF OsmAnd voice: " + osmandVoice; v += "\n \u25CF OsmAnd voice: " + osmandVoice;
@ -141,7 +141,7 @@ public class TestVoiceActivity extends OsmandActionBarActivity {
v += "\n \u25CF TTS voice language availability: " + TTSCommandPlayerImpl.getTtsVoiceStatus(); v += "\n \u25CF TTS voice language availability: " + TTSCommandPlayerImpl.getTtsVoiceStatus();
v += "\n \u25CF TTS voice actually used: " + TTSCommandPlayerImpl.getTtsVoiceUsed(); v += "\n \u25CF TTS voice actually used: " + TTSCommandPlayerImpl.getTtsVoiceUsed();
if (((OsmandApplication) getApplication()).getSettings().AUDIO_STREAM_GUIDANCE.get() == 0) { if (((OsmandApplication) getApplication()).getSettings().AUDIO_MANAGER_STREAM.get() == 0) {
v += "\n \u25CF BT SCO: " + AbstractPrologCommandPlayer.btScoInit; v += "\n \u25CF BT SCO: " + AbstractPrologCommandPlayer.btScoInit;
} else { } else {
v += "\n \u25CF BT SCO: The current app profile is not set to use 'Phone call audio'."; v += "\n \u25CF BT SCO: The current app profile is not set to use 'Phone call audio'.";
@ -282,7 +282,7 @@ public class TestVoiceActivity extends OsmandActionBarActivity {
Toast.makeText(TestVoiceActivity.this, "Info refreshed.", Toast.LENGTH_LONG).show(); Toast.makeText(TestVoiceActivity.this, "Info refreshed.", Toast.LENGTH_LONG).show();
} }
if (description.startsWith("\u25BA (11.2)")) { if (description.startsWith("\u25BA (11.2)")) {
if (((OsmandApplication) getApplication()).getSettings().AUDIO_STREAM_GUIDANCE.get() == 0) { if (((OsmandApplication) getApplication()).getSettings().AUDIO_MANAGER_STREAM.get() == 0) {
if (((OsmandApplication) getApplication()).getSettings().BT_SCO_DELAY.get() == 1000) { if (((OsmandApplication) getApplication()).getSettings().BT_SCO_DELAY.get() == 1000) {
((OsmandApplication) getApplication()).getSettings().BT_SCO_DELAY.set(1500); ((OsmandApplication) getApplication()).getSettings().BT_SCO_DELAY.set(1500);
} else if (((OsmandApplication) getApplication()).getSettings().BT_SCO_DELAY.get() == 1500) { } else if (((OsmandApplication) getApplication()).getSettings().BT_SCO_DELAY.get() == 1500) {

View file

@ -15,6 +15,8 @@ import android.widget.ArrayAdapter;
import android.widget.Spinner; import android.widget.Spinner;
import android.widget.TextView; import android.widget.TextView;
import androidx.annotation.ColorRes;
import net.osmand.plus.OsmandApplication; import net.osmand.plus.OsmandApplication;
import net.osmand.plus.R; import net.osmand.plus.R;
@ -243,6 +245,17 @@ public class ColorDialogs {
return d; return d;
} }
public static int getColorName(@ColorRes int color) {
int colorName = R.string.rendering_value_darkyellow_name;
for (int i = 0; i < ColorDialogs.pallette.length; i++) {
if (ColorDialogs.pallette[i] == color) {
colorName = ColorDialogs.paletteColors[i];
break;
}
}
return colorName;
}
private static int dpToPx(final Activity activity, float dp) { private static int dpToPx(final Activity activity, float dp) {
Resources r = activity.getResources(); Resources r = activity.getResources();
return (int) TypedValue.applyDimension( return (int) TypedValue.applyDimension(

View file

@ -1287,7 +1287,7 @@ public class MapContextMenuFragment extends BaseOsmAndFragment implements Downlo
int iconId = menu.getRightIconId(); int iconId = menu.getRightIconId();
int sizeId = menu.isBigRightIcon() ? R.dimen.context_menu_big_icon_size : R.dimen.map_widget_icon; int sizeId = menu.isBigRightIcon() ? R.dimen.context_menu_big_icon_size : R.dimen.map_widget_icon;
if (menu.getPointDescription().isFavorite() || menu.getPointDescription().isWpt()) { if (menu.getPointDescription().isFavorite() || menu.getPointDescription().isWpt()) {
sizeId = R.dimen.dialog_button_height; sizeId = R.dimen.favorites_icon_size;
} }
int iconViewSize = getResources().getDimensionPixelSize(sizeId); int iconViewSize = getResources().getDimensionPixelSize(sizeId);
ViewGroup.LayoutParams params = iconView.getLayoutParams(); ViewGroup.LayoutParams params = iconView.getLayoutParams();

View file

@ -19,6 +19,7 @@ import net.osmand.plus.mapcontextmenu.MenuController;
import net.osmand.plus.mapcontextmenu.builders.FavouritePointMenuBuilder; import net.osmand.plus.mapcontextmenu.builders.FavouritePointMenuBuilder;
import net.osmand.plus.mapcontextmenu.editors.FavoritePointEditor; import net.osmand.plus.mapcontextmenu.editors.FavoritePointEditor;
import net.osmand.plus.mapcontextmenu.editors.FavoritePointEditorFragment; import net.osmand.plus.mapcontextmenu.editors.FavoritePointEditorFragment;
import net.osmand.plus.mapcontextmenu.editors.FavoritePointEditorFragmentNew;
import net.osmand.plus.transport.TransportStopRoute; import net.osmand.plus.transport.TransportStopRoute;
import net.osmand.util.OpeningHoursParser; import net.osmand.util.OpeningHoursParser;
@ -92,7 +93,13 @@ public class FavouritePointMenuController extends MenuController {
if (mapActivity != null) { if (mapActivity != null) {
Fragment fragment = mapActivity.getSupportFragmentManager().findFragmentByTag(FavoritePointEditor.TAG); Fragment fragment = mapActivity.getSupportFragmentManager().findFragmentByTag(FavoritePointEditor.TAG);
if (fragment != null) { if (fragment != null) {
((FavoritePointEditorFragment) fragment).dismiss(); // TODO: uncomment & delete if else after switch to new UI Fragment
//((FavoritePointEditorFragment) fragment).dismiss();
if (fragment instanceof FavoritePointEditorFragmentNew) {
((FavoritePointEditorFragmentNew) fragment).dismiss();
} else {
((FavoritePointEditorFragment) fragment).dismiss();
}
return true; return true;
} }
} }

View file

@ -40,7 +40,7 @@ public class FavoritePointEditor extends PointEditor {
favorite = new FavouritePoint(latLon.getLatitude(), latLon.getLongitude(), title, lastCategory); favorite = new FavouritePoint(latLon.getLatitude(), latLon.getLongitude(), title, lastCategory);
favorite.setDescription(""); favorite.setDescription("");
favorite.setOriginObjectName(originObjectName); favorite.setOriginObjectName(originObjectName);
FavoritePointEditorFragment.showInstance(mapActivity); FavoritePointEditorFragmentNew.showInstance(mapActivity);
} }
public void add(LatLon latLon, String title, String originObjectName, String categoryName, int categoryColor, boolean autoFill) { public void add(LatLon latLon, String title, String originObjectName, String categoryName, int categoryColor, boolean autoFill) {
@ -63,7 +63,7 @@ public class FavoritePointEditor extends PointEditor {
favorite.setDescription(""); favorite.setDescription("");
favorite.setOriginObjectName(originObjectName); favorite.setOriginObjectName(originObjectName);
FavoritePointEditorFragment.showAutoFillInstance(mapActivity, autoFill); FavoritePointEditorFragmentNew.showAutoFillInstance(mapActivity, autoFill);
} }
public void edit(FavouritePoint favorite) { public void edit(FavouritePoint favorite) {
@ -73,6 +73,6 @@ public class FavoritePointEditor extends PointEditor {
} }
isNew = false; isNew = false;
this.favorite = favorite; this.favorite = favorite;
FavoritePointEditorFragment.showInstance(mapActivity); FavoritePointEditorFragmentNew.showInstance(mapActivity);
} }
} }

View file

@ -93,16 +93,7 @@ public class FavoritePointEditorFragment extends PointEditorFragment {
@Override @Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState); super.onViewCreated(view, savedInstanceState);
if (autoFill) { if (autoFill) {
// String name = favorite.getName() != null && !favorite.getName().isEmpty() ?
// favorite.getName() : getString(R.string.favorite_empty_place_name);
//
// String tostText = name + getString(R.string.favorite_autofill_toast_text) + group.name;
//
// Toast.makeText(getContext(), tostText, Toast.LENGTH_SHORT).show();
save(true); save(true);
} }
} }

View file

@ -0,0 +1,459 @@
package net.osmand.plus.mapcontextmenu.editors;
import android.content.Context;
import android.content.DialogInterface;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import androidx.annotation.ColorInt;
import androidx.annotation.DrawableRes;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.FragmentActivity;
import net.osmand.data.FavouritePoint;
import net.osmand.data.FavouritePoint.BackgroundType;
import net.osmand.data.LatLon;
import net.osmand.plus.FavouritesDbHelper;
import net.osmand.plus.FavouritesDbHelper.FavoriteGroup;
import net.osmand.plus.OsmandApplication;
import net.osmand.plus.R;
import net.osmand.plus.activities.MapActivity;
import net.osmand.plus.base.FavoriteImageDrawable;
import net.osmand.plus.dialogs.FavoriteDialogs;
import net.osmand.plus.mapcontextmenu.MapContextMenu;
import net.osmand.util.Algorithms;
import java.util.LinkedHashSet;
import java.util.Set;
public class FavoritePointEditorFragmentNew extends PointEditorFragmentNew {
@Nullable
private FavoritePointEditor editor;
@Nullable
private FavouritePoint favorite;
@Nullable
private FavoriteGroup group;
private int color;
private int iconId;
@NonNull
private BackgroundType backgroundType = BackgroundType.CIRCLE;
@Nullable
private FavouritesDbHelper helper;
private boolean autoFill;
private boolean saved;
private int defaultColor;
@Override
public void onAttach(@NonNull Context context) {
super.onAttach(context);
MapActivity mapActivity = getMapActivity();
if (mapActivity != null) {
helper = mapActivity.getMyApplication().getFavorites();
editor = mapActivity.getContextMenu().getFavoritePointEditor();
}
}
@Override
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
defaultColor = getResources().getColor(R.color.color_favorite);
FavoritePointEditor editor = getFavoritePointEditor();
FavouritesDbHelper helper = getHelper();
if (editor != null && helper != null) {
FavouritePoint favorite = editor.getFavorite();
this.favorite = favorite;
this.group = helper.getGroup(favorite);
this.color = favorite.getColor();
this.backgroundType = favorite.getBackgroundType();
this.iconId = favorite.getIconId();
}
}
@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = super.onCreateView(inflater, container, savedInstanceState);
FavoritePointEditor editor = getFavoritePointEditor();
if (view != null) {
View replaceButton = view.findViewById(R.id.button_replace_container);
replaceButton.setVisibility(View.VISIBLE);
replaceButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
replacePressed();
}
});
if (editor != null && editor.isNew()) {
ImageView toolbarAction = (ImageView) view.findViewById(R.id.toolbar_action);
toolbarAction.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
replacePressed();
}
});
}
}
return view;
}
private void replacePressed() {
Bundle args = new Bundle();
args.putSerializable(FavoriteDialogs.KEY_FAVORITE, getFavorite());
FragmentActivity activity = getActivity();
if (activity != null) {
FavoriteDialogs.createReplaceFavouriteDialog(activity, args);
}
}
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
if (autoFill) {
save(true);
}
}
@Override
public PointEditor getEditor() {
return editor;
}
private FavoritePointEditor getFavoritePointEditor() {
return editor;
}
@Nullable
public FavouritePoint getFavorite() {
return favorite;
}
@Nullable
public FavoriteGroup getGroup() {
return group;
}
@Nullable
public FavouritesDbHelper getHelper() {
return helper;
}
@Override
public String getToolbarTitle() {
FavoritePointEditor editor = getFavoritePointEditor();
if (editor != null) {
if (editor.isNew()) {
return getString(R.string.favourites_context_menu_add);
} else {
return getString(R.string.favourites_context_menu_edit);
}
}
return "";
}
@Override
public void setCategory(String name, int color) {
FavouritesDbHelper helper = getHelper();
if (helper != null) {
FavoriteGroup group = helper.getGroup(FavoriteGroup.convertDisplayNameToGroupIdName(requireContext(), name));
this.group = group;
super.setCategory(name, group != null ? group.getColor() : 0);
}
}
@Override
public void setColor(int color) {
this.color = color;
}
@Override
public void setBackgroundType(@NonNull BackgroundType backgroundType) {
this.backgroundType = backgroundType;
}
@Override
public void setIcon(int iconId) {
this.iconId = iconId;
}
@Override
protected String getDefaultCategoryName() {
return getString(R.string.shared_string_favorites);
}
public static void showInstance(@NonNull MapActivity mapActivity) {
FavoritePointEditor editor = mapActivity.getContextMenu().getFavoritePointEditor();
//int slideInAnim = editor.getSlideInAnimation();
//int slideOutAnim = editor.getSlideOutAnimation();
if (editor != null) {
FavoritePointEditorFragmentNew fragment = new FavoritePointEditorFragmentNew();
mapActivity.getSupportFragmentManager().beginTransaction()
//.setCustomAnimations(slideInAnim, slideOutAnim, slideInAnim, slideOutAnim)
.add(R.id.fragmentContainer, fragment, editor.getFragmentTag())
.addToBackStack(null).commitAllowingStateLoss();
}
}
public static void showAutoFillInstance(final MapActivity mapActivity, boolean autoFill) {
FavoritePointEditor editor = mapActivity.getContextMenu().getFavoritePointEditor();
//int slideInAnim = editor.getSlideInAnimation();
//int slideOutAnim = editor.getSlideOutAnimation();
FavoritePointEditorFragmentNew fragment = new FavoritePointEditorFragmentNew();
fragment.autoFill = autoFill;
if (editor != null) {
mapActivity.getSupportFragmentManager().beginTransaction()
//.setCustomAnimations(slideInAnim, slideOutAnim, slideInAnim, slideOutAnim)
.add(R.id.fragmentContainer, fragment, editor.getFragmentTag())
.addToBackStack(null).commit();
}
}
@Override
protected boolean wasSaved() {
return saved;
}
@Override
protected void save(final boolean needDismiss) {
final FavouritePoint favorite = getFavorite();
if (favorite != null) {
final FavouritePoint point = new FavouritePoint(favorite.getLatitude(), favorite.getLongitude(),
getNameTextValue(), getCategoryTextValue());
point.setDescription(getDescriptionTextValue());
point.setColor(color);
point.setBackgroundType(backgroundType);
point.setIconId(iconId);
AlertDialog.Builder builder = FavouritesDbHelper.checkDuplicates(point, helper, getMapActivity());
if (isChanged(favorite, point)) {
if (needDismiss) {
dismiss(false);
}
return;
}
if (builder != null && !autoFill) {
builder.setPositiveButton(R.string.shared_string_ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
doSave(favorite, point.getName(), point.getCategory(), point.getDescription(),
point.getColor(), point.getBackgroundType(), point.getIconId(), needDismiss);
}
});
builder.create().show();
} else {
doSave(favorite, point.getName(), point.getCategory(), point.getDescription(),
point.getColor(), point.getBackgroundType(), point.getIconId(), needDismiss);
}
saved = true;
}
}
private boolean isChanged(FavouritePoint favorite, FavouritePoint point) {
return favorite.getColor() == point.getColor() &&
favorite.getIconId() == point.getIconId() &&
favorite.getName().equals(point.getName()) &&
favorite.getCategory().equals(point.getCategory()) &&
favorite.getBackgroundType().equals(point.getBackgroundType()) &&
Algorithms.stringsEqual(favorite.getDescription(), point.getDescription());
}
private void doSave(FavouritePoint favorite, String name, String category, String description,
@ColorInt int color, BackgroundType backgroundType, @DrawableRes int iconId, boolean needDismiss) {
FavouritesDbHelper helper = getHelper();
FavoritePointEditor editor = getFavoritePointEditor();
if (editor != null && helper != null) {
if (editor.isNew()) {
doAddFavorite(name, category, description, color, backgroundType, iconId);
} else {
favorite.setColor(color);
favorite.setBackgroundType(backgroundType);
favorite.setIconId(iconId);
helper.editFavouriteName(favorite, name, category, description);
}
}
MapActivity mapActivity = getMapActivity();
if (mapActivity == null) {
return;
}
mapActivity.refreshMap();
if (needDismiss) {
dismiss(false);
}
MapContextMenu menu = mapActivity.getContextMenu();
LatLon latLon = new LatLon(favorite.getLatitude(), favorite.getLongitude());
if (menu.getLatLon() != null && menu.getLatLon().equals(latLon)) {
menu.update(latLon, favorite.getPointDescription(mapActivity), favorite);
}
}
private void doAddFavorite(String name, String category, String description, @ColorInt int color,
BackgroundType backgroundType, @DrawableRes int iconId) {
OsmandApplication app = getMyApplication();
FavouritesDbHelper helper = getHelper();
FavouritePoint favorite = getFavorite();
if (app != null && favorite != null && helper != null) {
favorite.setName(name);
favorite.setCategory(category);
favorite.setDescription(description);
favorite.setColor(color);
favorite.setBackgroundType(backgroundType);
favorite.setIconId(iconId);
app.getSettings().LAST_FAV_CATEGORY_ENTERED.set(category);
helper.addFavourite(favorite);
}
}
@Override
protected void delete(final boolean needDismiss) {
FragmentActivity activity = getActivity();
final FavouritePoint favorite = getFavorite();
if (activity != null && favorite != null) {
AlertDialog.Builder builder = new AlertDialog.Builder(activity);
builder.setMessage(getString(R.string.favourites_remove_dialog_msg, favorite.getName()));
builder.setNegativeButton(R.string.shared_string_no, null);
builder.setPositiveButton(R.string.shared_string_yes, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
FavouritesDbHelper helper = getHelper();
if (helper != null) {
helper.deleteFavourite(favorite);
saved = true;
if (needDismiss) {
dismiss(true);
} else {
MapActivity mapActivity = getMapActivity();
if (mapActivity != null) {
mapActivity.refreshMap();
}
}
}
}
});
builder.create().show();
}
}
@Override
public String getNameInitValue() {
FavouritePoint favorite = getFavorite();
return favorite != null ? favorite.getName() : "";
}
@Override
public String getCategoryInitValue() {
FavouritePoint favorite = getFavorite();
return favorite == null || favorite.getCategory().length() == 0 ? getDefaultCategoryName() : favorite.getCategoryDisplayName(requireContext());
}
@Override
public String getDescriptionInitValue() {
FavouritePoint favorite = getFavorite();
return favorite != null ? favorite.getDescription() : "";
}
@Override
public Drawable getNameIcon() {
FavouritePoint favorite = getFavorite();
FavouritePoint point = null;
if (favorite != null) {
point = new FavouritePoint(favorite);
point.setColor(getPointColor());
point.setBackgroundType(backgroundType);
point.setIconId(iconId);
}
return FavoriteImageDrawable.getOrCreate(getMapActivity(), getPointColor(), false, point);
}
@Override
public Drawable getCategoryIcon() {
return getPaintedIcon(R.drawable.ic_action_folder_stroke, getPointColor());
}
@Override
public int getDefaultColor() {
return defaultColor;
}
@Override
public int getPointColor() {
FavouritePoint favorite = getFavorite();
int color = favorite != null ? getColor() : 0;
FavoriteGroup group = getGroup();
if (group != null && color == 0) {
color = group.getColor();
}
if (color == 0) {
color = defaultColor;
}
return color;
}
@Override
@NonNull
public BackgroundType getBackgroundType() {
return backgroundType;
}
@Override
public int getIconId() {
return iconId;
}
private int getColor() {
return color;
}
@Override
public Set<String> getCategories() {
Set<String> categories = new LinkedHashSet<>();
FavouritesDbHelper helper = getHelper();
if (helper != null) {
for (FavouritesDbHelper.FavoriteGroup fg : getHelper().getFavoriteGroups()) {
categories.add(fg.getDisplayName(getMyApplication()));
}
}
return categories;
}
@Override
public int getCategoryPointsCount(String category) {
FavouritesDbHelper helper = getHelper();
if (helper != null) {
for (FavouritesDbHelper.FavoriteGroup fg : getHelper().getFavoriteGroups()) {
if (fg.getDisplayName(getMyApplication()).equals(category)) {
return fg.getPoints().size();
}
}
}
return 0;
}
@Override
public int getCategoryColor(String category) {
FavouritesDbHelper helper = getHelper();
if (helper != null) {
for (FavouritesDbHelper.FavoriteGroup fg : getHelper().getFavoriteGroups()) {
if (fg.getDisplayName(getMyApplication()).equals(category)) {
return fg.getColor();
}
}
}
return defaultColor;
}
}

View file

@ -90,8 +90,13 @@ public abstract class PointEditor {
if (mapActivity != null) { if (mapActivity != null) {
Fragment fragment = mapActivity.getSupportFragmentManager().findFragmentByTag(getFragmentTag()); Fragment fragment = mapActivity.getSupportFragmentManager().findFragmentByTag(getFragmentTag());
if (fragment != null) { if (fragment != null) {
PointEditorFragment editorFragment = (PointEditorFragment) fragment; if (fragment instanceof PointEditorFragment) {
editorFragment.setCategory(name, color); PointEditorFragment editorFragment = (PointEditorFragment) fragment;
editorFragment.setCategory(name, color);
} else if (fragment instanceof PointEditorFragmentNew) {
PointEditorFragmentNew editorFragment = (PointEditorFragmentNew) fragment;
editorFragment.setCategory(name, color);
}
} }
} }
} }

Some files were not shown because too many files have changed in this diff Show more