Merge remote-tracking branch 'origin/master' into profile_branding
# Conflicts: # OsmAnd/res/values/strings.xml
This commit is contained in:
commit
dce09ac232
121 changed files with 4287 additions and 870 deletions
|
@ -45,6 +45,8 @@ public class GPXUtilities {
|
|||
public final static Log log = PlatformUtil.getLog(GPXUtilities.class);
|
||||
private static final String ICON_NAME_EXTENSION = "icon";
|
||||
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_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);
|
||||
}
|
||||
|
||||
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
|
||||
public int hashCode() {
|
||||
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) {
|
||||
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 lonAdjusted = Double.parseDouble(latLonFormat.format(lon));
|
||||
final WptPt pt = new WptPt(latAdjusted, lonAdjusted, time, Double.NaN, 0, Double.NaN);
|
||||
|
@ -1143,6 +1162,12 @@ public class GPXUtilities {
|
|||
if (color != 0) {
|
||||
pt.setColor(color);
|
||||
}
|
||||
if (iconName != null) {
|
||||
pt.setIconName(iconName);
|
||||
}
|
||||
if (backgroundType != null) {
|
||||
pt.setBackgroundType(backgroundType);
|
||||
}
|
||||
|
||||
points.add(pt);
|
||||
|
||||
|
@ -1228,7 +1253,13 @@ public class GPXUtilities {
|
|||
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);
|
||||
double latAdjusted = Double.parseDouble(latLonFormat.format(lat));
|
||||
double lonAdjusted = Double.parseDouble(latLonFormat.format(lon));
|
||||
|
@ -1241,6 +1272,12 @@ public class GPXUtilities {
|
|||
if (color != 0) {
|
||||
pt.setColor(color);
|
||||
}
|
||||
if (iconName != null) {
|
||||
pt.setIconName(iconName);
|
||||
}
|
||||
if (backgroundType != null) {
|
||||
pt.setBackgroundType(backgroundType);
|
||||
}
|
||||
|
||||
if (index != -1) {
|
||||
points.set(index, pt);
|
||||
|
|
|
@ -13,7 +13,7 @@ public class City extends MapObject {
|
|||
public enum CityType {
|
||||
// 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
|
||||
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;
|
||||
|
||||
|
@ -36,9 +36,6 @@ public class City extends MapObject {
|
|||
if ("township".equals(place)) {
|
||||
return CityType.TOWN;
|
||||
}
|
||||
if ("borough".equals(place)) {
|
||||
return CityType.SUBURB;
|
||||
}
|
||||
for (CityType t : CityType.values()) {
|
||||
if (t.name().equalsIgnoreCase(place)) {
|
||||
return t;
|
||||
|
|
|
@ -788,8 +788,8 @@ public class BinaryRoutePlanner {
|
|||
TLongObjectHashMap<RouteSegment> visitedSegments, float distFromStart, float distanceToEnd, RouteSegment segment,
|
||||
int segmentPoint, RouteSegment next) {
|
||||
if (next != null) {
|
||||
float obstaclesTime = (float) ctx.getRouter().calculateTurnTime(next, next.isPositive()?
|
||||
next.getRoad().getPointsLength() - 1 : 0,
|
||||
float obstaclesTime = (float) ctx.getRouter().calculateTurnTime(next,
|
||||
next.isPositive() ? next.getRoad().getPointsLength() - 1 : 0,
|
||||
segment, segmentPoint);
|
||||
distFromStart += obstaclesTime;
|
||||
if (TEST_SPECIFIC && next.road.getId() >> 6 == TEST_ID) {
|
||||
|
|
|
@ -580,7 +580,7 @@ public class GeneralRouter implements VehicleRouter {
|
|||
// more like UT
|
||||
if (diff > 2 * Math.PI / 3) {
|
||||
return getLeftTurn();
|
||||
} else if (diff > Math.PI / 2) {
|
||||
} else if (diff > Math.PI / 3) {
|
||||
return getRightTurn();
|
||||
}
|
||||
return 0;
|
||||
|
|
|
@ -24,6 +24,7 @@ android {
|
|||
applicationId "net.osmand.telegram"
|
||||
minSdkVersion 15
|
||||
targetSdkVersion 28
|
||||
multiDexEnabled true
|
||||
versionCode 1
|
||||
versionCode System.getenv("APK_NUMBER_VERSION") ? System.getenv("APK_NUMBER_VERSION").toInteger() : versionCode
|
||||
versionName "1.0"
|
||||
|
@ -139,11 +140,10 @@ dependencies {
|
|||
implementation project(path: ':OsmAnd-java', configuration: 'android')
|
||||
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
||||
|
||||
implementation( "org.jetbrains.kotlin:kotlin-stdlib:1.2.71") {
|
||||
exclude group: 'org.jetbrains', module: 'annotations'
|
||||
}
|
||||
implementation 'androidx.appcompat:appcompat:1.0.0'
|
||||
implementation 'com.google.android.material:material:1.0.0'
|
||||
implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.3.11'
|
||||
implementation 'androidx.multidex:multidex:2.0.1'
|
||||
implementation 'androidx.appcompat:appcompat:1.1.0'
|
||||
implementation 'com.google.android.material:material:1.1.0'
|
||||
implementation 'androidx.browser:browser:1.0.0'
|
||||
implementation 'androidx.annotation:annotation:1.1.0'
|
||||
implementation 'commons-logging:commons-logging-api:1.1'
|
||||
|
@ -152,6 +152,4 @@ dependencies {
|
|||
implementation("com.github.HITGIF:TextFieldBoxes:1.4.5") {
|
||||
exclude group: 'com.android.support'
|
||||
}
|
||||
implementation 'org.jetbrains:annotations-java5:15.0'
|
||||
implementation 'androidx.annotation:annotation:1.1.0'
|
||||
}
|
||||
|
|
|
@ -194,4 +194,15 @@
|
|||
<string name="unit_of_speed_system_descr">Zehaztu abiadura unitatea.</string>
|
||||
<string name="unit_of_speed_system">Abiadura unitatea</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>
|
|
@ -38,8 +38,8 @@
|
|||
<string name="yard">yd</string>
|
||||
<string name="foot">ft</string>
|
||||
<string name="mile">mi</string>
|
||||
<string name="km">km</string>
|
||||
<string name="m">m</string>
|
||||
<string name="km">کم</string>
|
||||
<string name="m">متر</string>
|
||||
<string name="nm">nmi</string>
|
||||
<string name="min_mile">min/m</string>
|
||||
<string name="min_km">min/km</string>
|
||||
|
|
|
@ -193,7 +193,7 @@ class LoginDialogFragment : BaseDialogFragment() {
|
|||
}
|
||||
}
|
||||
|
||||
override fun onDismiss(dialog: DialogInterface?) {
|
||||
override fun onDismiss(dialog: DialogInterface) {
|
||||
super.onDismiss(dialog)
|
||||
if (!dismissedManually) {
|
||||
getMainActivity()?.closeTelegram()
|
||||
|
@ -300,7 +300,7 @@ class LoginDialogFragment : BaseDialogFragment() {
|
|||
view.findViewById<ImageView>(R.id.no_telegram_button)?.setImageResource(R.drawable.ic_arrow_forward)
|
||||
|
||||
noTelegramViewContainer?.setOnClickListener {
|
||||
val focusedView = dialog.currentFocus
|
||||
val focusedView = dialog?.currentFocus
|
||||
val mainActivity = activity
|
||||
if (focusedView != null && mainActivity != null) {
|
||||
AndroidUtils.hideSoftKeyboard(mainActivity, focusedView)
|
||||
|
@ -479,7 +479,7 @@ class LoginDialogFragment : BaseDialogFragment() {
|
|||
when (loginDialogActiveType) {
|
||||
LoginDialogType.ENTER_PHONE_NUMBER -> {
|
||||
showWelcomeDialog = true
|
||||
val focusedView = dialog.currentFocus
|
||||
val focusedView = dialog?.currentFocus
|
||||
val mainActivity = activity
|
||||
if (focusedView != null && mainActivity != null) {
|
||||
AndroidUtils.hideSoftKeyboard(mainActivity, focusedView)
|
||||
|
|
|
@ -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) {
|
||||
listeners.add(WeakReference(fragment))
|
||||
}
|
||||
|
|
|
@ -34,7 +34,7 @@ class ProxySettingsDialogFragment : BaseDialogFragment() {
|
|||
): View {
|
||||
mainView = inflater.inflate(R.layout.fragment_proxy_settings_dialog, parent)
|
||||
|
||||
val window = dialog.window
|
||||
val window = dialog?.window
|
||||
if (window != null) {
|
||||
window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN)
|
||||
if (Build.VERSION.SDK_INT >= 21) {
|
||||
|
|
|
@ -70,7 +70,7 @@ class SearchDialogFragment : BaseDialogFragment(), TelegramHelper.TelegramSearch
|
|||
navigationIcon = uiUtils.getThemedIcon(R.drawable.ic_arrow_back)
|
||||
setNavigationOnClickListener { dismiss() }
|
||||
}
|
||||
val window = dialog.window
|
||||
val window = dialog?.window
|
||||
if (window != null && Build.VERSION.SDK_INT >= 21) {
|
||||
window.statusBarColor = ContextCompat.getColor(app, R.color.card_bg_light)
|
||||
}
|
||||
|
|
|
@ -43,7 +43,7 @@ class SettingsDialogFragment : BaseDialogFragment() {
|
|||
navigationIcon = uiUtils.getThemedIcon(R.drawable.ic_arrow_back)
|
||||
setNavigationOnClickListener { dismiss() }
|
||||
}
|
||||
val window = dialog.window
|
||||
val window = dialog?.window
|
||||
if (window != null && Build.VERSION.SDK_INT >= 21) {
|
||||
window.statusBarColor = ContextCompat.getColor(app, R.color.card_bg_light)
|
||||
}
|
||||
|
|
1
OsmAnd/.gitignore
vendored
1
OsmAnd/.gitignore
vendored
|
@ -50,6 +50,7 @@ use/
|
|||
osmand.properties
|
||||
osmand.xml
|
||||
assets/style.css
|
||||
assets/poi_categories.json
|
||||
assets/help/*.html
|
||||
assets/help/images
|
||||
assets/help/screens
|
||||
|
|
25
OsmAnd/assets/poi_categories.json
Normal file
25
OsmAnd/assets/poi_categories.json
Normal 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"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -323,7 +323,6 @@ task cleanNoTranslate(type: Delete) {
|
|||
delete('res/values/no_translate.xml')
|
||||
}
|
||||
|
||||
|
||||
task collectFonts(type: Copy) {
|
||||
from "../../resources/fonts"
|
||||
from "../../resources/rendering_styles/fonts"
|
||||
|
@ -339,7 +338,6 @@ task collectHelpContentsStyle(type: Copy) {
|
|||
into "assets"
|
||||
}
|
||||
|
||||
|
||||
task collectHelpContentsAssets(type: Copy) {
|
||||
from("../../help/website/help") {
|
||||
include "about.html"
|
||||
|
@ -351,11 +349,15 @@ task collectHelpContentsAssets(type: Copy) {
|
|||
from("../../help/website/feature_articles") {
|
||||
include "*.html"
|
||||
}
|
||||
|
||||
into "assets/feature_articles"
|
||||
}
|
||||
|
||||
|
||||
task copyPoiCategiry(type: Copy) {
|
||||
from("../../resources/poi") {
|
||||
include "poi_categories.json"
|
||||
}
|
||||
into "assets"
|
||||
}
|
||||
|
||||
task copyStyleIcons(type: Copy) {
|
||||
from "../../resources/rendering_styles/style-icons/"
|
||||
|
@ -378,6 +380,7 @@ task collectExternalResources {
|
|||
updateNoTranslate,
|
||||
validateTranslate,
|
||||
copyWidgetIcons,
|
||||
copyPoiCategiry,
|
||||
downloadWorldMiniBasemap
|
||||
|
||||
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 |
7
OsmAnd/res/drawable/bg_point_circle_contour.xml
Normal file
7
OsmAnd/res/drawable/bg_point_circle_contour.xml
Normal 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>
|
|
@ -1,9 +1,9 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="34dp"
|
||||
android:height="34dp"
|
||||
android:viewportWidth="34"
|
||||
android:viewportHeight="34">
|
||||
android:width="36dp"
|
||||
android:height="36dp"
|
||||
android:viewportWidth="36"
|
||||
android:viewportHeight="36">
|
||||
<path
|
||||
android:pathData="M9,0H25L34,9V25L25,34H9L0,25V9L9,0Z"
|
||||
android:pathData="M10,1H26L35,10V26L26,35H10L1,26V10L10,1Z"
|
||||
android:fillColor="#727272"/>
|
||||
</vector>
|
||||
|
|
10
OsmAnd/res/drawable/bg_point_rhomb_contour.xml
Normal file
10
OsmAnd/res/drawable/bg_point_rhomb_contour.xml
Normal 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>
|
|
@ -1,9 +1,9 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="32dp"
|
||||
android:height="32dp"
|
||||
android:viewportWidth="32"
|
||||
android:viewportHeight="32">
|
||||
android:width="36dp"
|
||||
android:height="36dp"
|
||||
android:viewportWidth="36"
|
||||
android:viewportHeight="36">
|
||||
<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"/>
|
||||
</vector>
|
||||
|
|
10
OsmAnd/res/drawable/bg_point_square_contour.xml
Normal file
10
OsmAnd/res/drawable/bg_point_square_contour.xml
Normal 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>
|
9
OsmAnd/res/drawable/bg_select_group_button_outline.xml
Normal file
9
OsmAnd/res/drawable/bg_select_group_button_outline.xml
Normal 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>
|
9
OsmAnd/res/drawable/bg_select_icon_group_button.xml
Normal file
9
OsmAnd/res/drawable/bg_select_icon_group_button.xml
Normal 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>
|
|
@ -3,7 +3,7 @@
|
|||
<item>
|
||||
<shape android:shape="rectangle">
|
||||
<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" />
|
||||
</shape>
|
||||
</item>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
10
OsmAnd/res/drawable/ic_action_distance_16.xml
Normal file
10
OsmAnd/res/drawable/ic_action_distance_16.xml
Normal 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>
|
10
OsmAnd/res/drawable/ic_action_polygom_dark.xml
Normal file
10
OsmAnd/res/drawable/ic_action_polygom_dark.xml
Normal 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>
|
10
OsmAnd/res/drawable/ic_action_time_16.xml
Normal file
10
OsmAnd/res/drawable/ic_action_time_16.xml
Normal 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>
|
13
OsmAnd/res/drawable/ic_action_track_recordable.xml
Normal file
13
OsmAnd/res/drawable/ic_action_track_recordable.xml
Normal 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>
|
10
OsmAnd/res/drawable/ic_action_waypoint_16.xml
Normal file
10
OsmAnd/res/drawable/ic_action_waypoint_16.xml
Normal 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>
|
9
OsmAnd/res/drawable/ripple_solid_dark_6dp.xml
Normal file
9
OsmAnd/res/drawable/ripple_solid_dark_6dp.xml
Normal 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>
|
9
OsmAnd/res/drawable/ripple_solid_light_6dp.xml
Normal file
9
OsmAnd/res/drawable/ripple_solid_light_6dp.xml
Normal 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>
|
|
@ -22,15 +22,15 @@
|
|||
android:background="?attr/dashboard_divider"
|
||||
android:layout_marginLeft="54dp"
|
||||
android:visibility="gone"
|
||||
android:layout_marginStart="54dp" />
|
||||
android:layout_marginStart="54dp" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:orientation="horizontal"
|
||||
android:paddingLeft="@dimen/list_content_padding"
|
||||
android:paddingStart="@dimen/list_content_padding">
|
||||
android:paddingLeft="@dimen/list_header_padding"
|
||||
android:paddingStart="@dimen/list_header_padding">
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="wrap_content"
|
||||
|
@ -45,15 +45,15 @@
|
|||
android:focusable="false"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"
|
||||
android:layout_marginEnd="@dimen/list_content_padding" />
|
||||
android:layout_marginEnd="@dimen/list_content_padding" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/favourite_icon"
|
||||
android:layout_width="34dp"
|
||||
android:layout_height="34dp"
|
||||
android:layout_width="@dimen/favorites_icon_size"
|
||||
android:layout_height="@dimen/favorites_icon_size"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginRight="@dimen/guide_line_vertical_offset"
|
||||
android:layout_marginEnd="@dimen/guide_line_vertical_offset" />
|
||||
android:layout_marginRight="@dimen/list_header_padding"
|
||||
android:layout_marginEnd="@dimen/list_header_padding" />
|
||||
</FrameLayout>
|
||||
|
||||
<LinearLayout
|
||||
|
|
|
@ -127,14 +127,16 @@
|
|||
|
||||
</com.google.android.material.appbar.CollapsingToolbarLayout>
|
||||
|
||||
<ProgressBar
|
||||
<me.zhanghai.android.materialprogressbar.MaterialProgressBar
|
||||
android:id="@+id/progress_bar"
|
||||
style="?android:attr/progressBarStyleHorizontal"
|
||||
style="@style/Widget.MaterialProgressBar.ProgressBar.Horizontal"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:indeterminate="true"
|
||||
android:minHeight="0dp"
|
||||
android:layout_height="5dp"
|
||||
android:visibility="gone"
|
||||
android:indeterminate="true"
|
||||
osmand:mpb_progressStyle="horizontal"
|
||||
osmand:mpb_setBothDrawables="true"
|
||||
osmand:mpb_useIntrinsicPadding="false"
|
||||
tools:visibility="visible" />
|
||||
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
android:paddingTop="@dimen/list_header_settings_top_margin"
|
||||
android:paddingEnd="@dimen/content_padding"
|
||||
android:paddingBottom="@dimen/list_header_settings_top_margin"
|
||||
android:lineSpacingMultiplier="@dimen/line_spacing_multiplier_description"
|
||||
android:textColor="?android:textColorPrimary"
|
||||
android:textSize="@dimen/default_list_text_size"
|
||||
tools:text="@string/import_complete_description" />
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
android:paddingTop="@dimen/list_header_settings_top_margin"
|
||||
android:paddingEnd="@dimen/content_padding"
|
||||
android:paddingBottom="@dimen/list_header_settings_top_margin"
|
||||
android:lineSpacingMultiplier="@dimen/line_spacing_multiplier_description"
|
||||
android:text="@string/import_duplicates_description"
|
||||
android:textColor="?android:textColorPrimary"
|
||||
android:textSize="@dimen/default_list_text_size" />
|
||||
|
@ -135,14 +136,16 @@
|
|||
|
||||
</com.google.android.material.appbar.CollapsingToolbarLayout>
|
||||
|
||||
<ProgressBar
|
||||
<me.zhanghai.android.materialprogressbar.MaterialProgressBar
|
||||
android:id="@+id/progress_bar"
|
||||
style="?android:attr/progressBarStyleHorizontal"
|
||||
style="@style/Widget.MaterialProgressBar.ProgressBar.Horizontal"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:minHeight="0dp"
|
||||
android:indeterminate="true"
|
||||
android:layout_height="5dp"
|
||||
android:visibility="gone"
|
||||
android:indeterminate="true"
|
||||
osmand:mpb_progressStyle="horizontal"
|
||||
osmand:mpb_setBothDrawables="true"
|
||||
osmand:mpb_useIntrinsicPadding="false"
|
||||
tools:visibility="visible" />
|
||||
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
<?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:osmand="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:descendantFocusability="blocksDescendants"
|
||||
android:layout_height="match_parent"
|
||||
android:animateLayoutChanges="true"
|
||||
android:background="?attr/activity_background_basic"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
|
@ -13,458 +13,498 @@
|
|||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
<ImageView
|
||||
android:id="@+id/shadow_on_map"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?attr/bg_color"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal"
|
||||
android:paddingTop="@dimen/content_padding_half"
|
||||
android:paddingBottom="@dimen/content_padding_half">
|
||||
android:scaleType="fitXY"
|
||||
android:src="@drawable/bg_shadow_onmap" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/icon_iv"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="@dimen/content_padding"
|
||||
tools:src="@drawable/ic_action_hillshade_dark" />
|
||||
<LinearLayout
|
||||
android:background="?attr/activity_background_basic"
|
||||
android:layout_width="match_parent"
|
||||
android:orientation="vertical"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/setting_list_item_large_height"
|
||||
android:background="?attr/bg_color"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="vertical"
|
||||
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" />
|
||||
android:orientation="horizontal">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/icon_iv"
|
||||
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: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" />
|
||||
tools:src="@drawable/ic_action_hillshade_dark" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="horizontal">
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="vertical"
|
||||
android:paddingStart="@dimen/content_padding"
|
||||
android:paddingEnd="@dimen/content_padding">
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1">
|
||||
<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"
|
||||
osmand:typeface="@string/font_roboto_regular"
|
||||
tools:text="Terrain" />
|
||||
|
||||
<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>
|
||||
<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>
|
||||
|
||||
</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
|
||||
android:id="@+id/empty_state_description"
|
||||
</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:layout_marginStart="@dimen/content_padding"
|
||||
android:layout_marginEnd="@dimen/content_padding"
|
||||
android:layout_marginBottom="@dimen/content_padding"
|
||||
android:gravity="start"
|
||||
android:textColor="?android:textColorSecondary"
|
||||
android:textSize="@dimen/default_desc_text_size"
|
||||
tools:text="@string/terrain_empty_state_text" />
|
||||
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/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>
|
||||
|
||||
<View
|
||||
android:id="@+id/bottom_empty_space"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:focusable="false" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</ScrollView>
|
||||
</LinearLayout>
|
|
@ -13,6 +13,7 @@
|
|||
android:paddingStart="@dimen/content_padding"
|
||||
android:paddingTop="@dimen/list_header_settings_top_margin"
|
||||
android:paddingEnd="@dimen/content_padding"
|
||||
android:lineSpacingMultiplier="@dimen/line_spacing_multiplier_description"
|
||||
android:paddingBottom="@dimen/list_header_settings_top_margin"
|
||||
android:textColor="?android:textColorPrimary"
|
||||
android:textSize="@dimen/default_list_text_size"
|
||||
|
|
|
@ -1,19 +1,17 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
xmlns:osmand="http://schemas.android.com/apk/res-auto"
|
||||
android:background="?attr/bg_color"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:minHeight="@dimen/list_item_height"
|
||||
android:gravity="center_vertical"
|
||||
android:paddingLeft="@dimen/list_content_padding"
|
||||
android:paddingStart="@dimen/list_content_padding">
|
||||
android:minHeight="@dimen/setting_list_item_large_height"
|
||||
android:gravity="center_vertical">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/icon"
|
||||
|
@ -21,6 +19,8 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_marginRight="@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"/>
|
||||
|
||||
<LinearLayout
|
||||
|
@ -30,26 +30,30 @@
|
|||
android:layout_weight="1"
|
||||
android:paddingTop="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_marginEnd="@dimen/list_content_padding"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
<net.osmand.plus.widgets.TextViewEx
|
||||
android:id="@+id/title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="?android:textColorPrimary"
|
||||
android:textSize="@dimen/default_list_text_size"
|
||||
osmand:typeface="@string/font_roboto_regular"
|
||||
tools:text="Germany"/>
|
||||
|
||||
<TextView
|
||||
<net.osmand.plus.widgets.TextViewEx
|
||||
android:id="@+id/description"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical"
|
||||
android:maxLines="25"
|
||||
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"/>
|
||||
|
||||
<ProgressBar
|
||||
|
|
39
OsmAnd/res/layout/point_editor_button.xml
Normal file
39
OsmAnd/res/layout/point_editor_button.xml
Normal 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>
|
514
OsmAnd/res/layout/point_editor_fragment_new.xml
Normal file
514
OsmAnd/res/layout/point_editor_fragment_new.xml
Normal 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>
|
52
OsmAnd/res/layout/point_editor_group_select_item.xml
Normal file
52
OsmAnd/res/layout/point_editor_group_select_item.xml
Normal 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>
|
15
OsmAnd/res/layout/point_editor_icon_category_item.xml
Normal file
15
OsmAnd/res/layout/point_editor_icon_category_item.xml
Normal 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>
|
|
@ -6,13 +6,13 @@
|
|||
android:padding="7dp">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/outlineCircle"
|
||||
android:id="@+id/outline"
|
||||
android:layout_width="56dp"
|
||||
android:layout_height="56dp"
|
||||
app:srcCompat="@drawable/circle_contour_bg_light" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/backgroundCircle"
|
||||
android:id="@+id/background"
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="48dp"
|
||||
android:layout_margin="4dp"
|
||||
|
|
|
@ -3540,4 +3540,32 @@
|
|||
<string name="items_added">العناصر المضافة</string>
|
||||
<string name="shared_string_import_complete">اكتمل الاستيراد</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>
|
|
@ -1337,9 +1337,9 @@
|
|||
<string name="home_button">Начало</string>
|
||||
<string name="coordinates">Координати</string>
|
||||
<string name="anonymous_user_hint">Анонимен потребител не може да:
|
||||
\n- създава групи;
|
||||
\n- синхронизира групи и устройства със сървъра;
|
||||
\n- управлява групи и устройства в частен режим.</string>
|
||||
\n- Създава групи;
|
||||
\n- Синхронизира групи и устройства със сървъра;
|
||||
\n- Управлява групи и устройства в частен режим.</string>
|
||||
<string name="anonymous_user">Анонимен потребител</string>
|
||||
<string name="logged_as">Влезли сте като %1$s</string>
|
||||
<string name="print_route">Печат на маршрут</string>
|
||||
|
@ -1397,7 +1397,7 @@
|
|||
<string name="shared_string_import2osmand">Импортиране към OsmAnd</string>
|
||||
<string name="read_full_article">Прочетете пълната статия (онлайн)</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="shared_string_release">Издаден</string>
|
||||
<string name="keep_informing">Повтаряне на напътствията</string>
|
||||
|
@ -1972,7 +1972,7 @@
|
|||
<string name="live_monitoring_tracking_interval">Интервал на следене</string>
|
||||
<string name="live_monitoring_adress">Уеб адрес</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="reset_to_default_category_button_promo">Връщане към стойностите по подразбиране, ще върне реда на сортиране към състоянието при инсталация.</string>
|
||||
<string name="shared_string_available">Налично</string>
|
||||
|
|
|
@ -602,7 +602,7 @@
|
|||
<string name="arrived_at_destination">Heu arribat a la vostra destinació</string>
|
||||
<string name="invalid_locations">Coordenades no vàlides</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="additional_settings">Preferències addicionals</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="max_speed_none">cap</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">Usa l\\\'aplicació de la càmera</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="background_service_provider">Proveïdor de la ubicació</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_building">Cerca progressiva d\'edificis</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_car_name">Cotxe</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="download_additional_maps">Voleu baixar els mapes que us manquen %1$s (%2$d MB)?</string>
|
||||
<string name="shared_string_waypoints">Fites</string>
|
||||
|
@ -1316,10 +1316,10 @@
|
|||
<string name="distance">Distància</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_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="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="traffic_warning_speed_limit">Velocitat màxima</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_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_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_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_my_location">La meva posició</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="share_note">Comparteix la nota</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="roads_only">Només carreteres</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="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="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_th">Tailandès</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_purple_name">Porpra</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_defaultTranslucentCyan_name">Per defecte (cian translúcid)</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="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_on">Activa l\'escala automàtica del mapa</string>
|
||||
<string name="quick_action_auto_zoom_off">Desactiva 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</string>
|
||||
<string name="quick_action_add_destination">Establiu destinació</string>
|
||||
<string name="quick_action_replace_destination">Substitueix destinació</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.
|
||||
\n"</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="favorite_group_name">Nom del grup</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_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="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="hide_from_zoom_level">Amaga segons el nivell d\'escala</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="logcat_buffer_descr">Valida i comparteix enregistraments detallats de l\'aplicació</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="shared_string_available">Disponible</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="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="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>
|
|
@ -2004,7 +2004,7 @@
|
|||
<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_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_rental_yes">Verleih</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_motorhome_no">Zufahrt Wohnmobil: 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_designated">Reisebuszufahrt: ausgewiesen</string>
|
||||
<string name="poi_tourist_bus_no">Reisebuszufahrt: nein</string>
|
||||
<string name="poi_tourist_bus_yes">Zufahrt Reisebus: ja</string>
|
||||
<string name="poi_tourist_bus_designated">Zufahrt Reisebus: ausgewiesen</string>
|
||||
<string name="poi_tourist_bus_no">Zufahrt Reisebus: nein</string>
|
||||
<string name="poi_ski_yes">Zufahrt Ski: ja</string>
|
||||
<string name="poi_ski_no">Zufahrt Ski: nein</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_designated">Zufahrt öffentliche Verkehrsmittel: ausgewiesen</string>
|
||||
<string name="poi_psv_no">Zufahrt öffentliche Verkehrsmittel: nein</string>
|
||||
<string name="poi_coach_yes">Zufahrt Bus: ja</string>
|
||||
<string name="poi_coach_no">Zufahrt Bus: nein</string>
|
||||
<string name="poi_coach_yes">Zufahrt Fernbus: ja</string>
|
||||
<string name="poi_coach_no">Zufahrt Fernbus: 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_no">Zufahrt landwirtschaftliche Fahrzeuge: nein</string>
|
||||
|
@ -3736,7 +3736,7 @@
|
|||
<string name="poi_cash_withdrawal">Bargeldbezug</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_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_currency">Bargeldbezugswährung</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_tactile_paving_contrasted">Kontrastiert</string>
|
||||
<string name="poi_tactile_paving_incorrect">Falsch</string>
|
||||
<string name="poi_covered_booth">Stand</string>
|
||||
<string name="poi_booth">Standtyp</string>
|
||||
<string name="poi_covered_booth">Unterstand</string>
|
||||
<string name="poi_booth">Unterstand Typ</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_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_no">Trinkwassernachfüllung: nein</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>
|
|
@ -24,7 +24,7 @@
|
|||
<string name="traffic_warning_payment">Mautstelle</string>
|
||||
<string name="traffic_warning_stop">Stoppzeichen</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="speak_favorites">Favoriten in der Nähe</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_name">Straßenfarbschema</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">Kompass verwenden</string>
|
||||
<string name="avoid_motorway">Keine Autobahnen</string>
|
||||
|
@ -115,10 +115,10 @@
|
|||
\n- Direktes Herunterladen von Länder- oder Regionenkarten aus der App heraus
|
||||
\n- Darstellung mehrerer überlagerter Kartenschichten wie GPX oder Navigations-Tracks, POIs (Orte von Interesse), Favoriten, Höhenlinien, ÖPNV-Haltestellen, zusätzliche Karten mit wählbarer Transparenz
|
||||
\n- Offline Adress- und POI-Suche
|
||||
\n- Offlinenavigation für mittlere Entfernungen
|
||||
\n- Offlinenavigation für mittlere Entfernungen
|
||||
\n- Auto-, Fahrrad- und Fußgänger-Modus wahlweise mit:
|
||||
\n - automatischer Tag-Nacht-Umschaltung der Anzeige
|
||||
\n - geschwindigkeitsabhängigem Kartenmaßstab
|
||||
\n - geschwindigkeitsabhängiger Kartenmaßstab
|
||||
\n - Kartenausrichtung nach Kompass oder Bewegungsrichtung
|
||||
\n - Fahrspuranzeige, Geschwindigkeitswarnung, aufgenommenen oder TTS-Sprachansagen
|
||||
\n
|
||||
|
@ -1116,7 +1116,7 @@
|
|||
<string name="av_camera_focus_edof">Erweiterte Schärfentiefe (EDOF)</string>
|
||||
<string name="av_camera_focus_macro">Makrofokus-Modus (Nahaufnahme)</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="map_widget_fps_info">FPS-Debug-Info</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="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="shared_string_min_speed">Mindesttempo</string>
|
||||
<string name="shared_string_max_speed">Maximaltempo</string>
|
||||
<string name="default_speed_setting_title">Standardtempo</string>
|
||||
<string name="default_speed_setting_descr">Einstellungen des Standardtempos ändern</string>
|
||||
<string name="minmax_speed_dialog_title">Tempogrenzen einstellen</string>
|
||||
<string name="shared_string_min_speed">Min. Geschwindigkeit</string>
|
||||
<string name="shared_string_max_speed">Max. Geschwindigkeit</string>
|
||||
<string name="default_speed_setting_title">Std. Geschwindigkeit</string>
|
||||
<string name="default_speed_setting_descr">Standard-Einstellungen für Geschwindigkeiten</string>
|
||||
<string name="minmax_speed_dialog_title">Min./Max. Geschwindigkeit einstellen</string>
|
||||
<string name="new_profile">Neues Profil</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>
|
||||
|
@ -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_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_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_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>
|
||||
|
@ -3415,8 +3415,8 @@ Lon %2$s</string>
|
|||
<string name="shared_string_downloading_formatted">%s herunterladen</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="select_navigation_icon">Positionssymbol während der Bewegung</string>
|
||||
<string name="select_map_icon">Positionssymbol in Ruhe</string>
|
||||
<string name="select_navigation_icon">Positionssymbol in Bewegung</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="master_profile">Hauptprofil</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="multimedia_notes_view_descr">Ihre OSM-Notizen sind in %1$s.</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="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>
|
||||
|
@ -3462,7 +3462,7 @@ Lon %2$s</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="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_distance">Minimale Verschiebung</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="clear_recorded_data">Aufgezeichnete Daten löschen</string>
|
||||
<string name="copy_coordinates">Koordinaten kopieren</string>
|
||||
<string name="monitoring_min_speed_descr_remark">Bemerkung: Geschwindigkeit > 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 > 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 > 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 > 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_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>
|
||||
|
@ -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_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="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="shared_string_app_default_w_val">App-Standard (%s)</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_descr">Die Route wird neu berechnet, wenn der Abstand zur Route länger ist als der angegebene Parameter</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 größer ist als der festgelegte Wert</string>
|
||||
<string name="profile_type_custom_string">Benutzerdefiniertes Profil</string>
|
||||
<string name="shared_string_angle_param">Winkel: %s°</string>
|
||||
<string name="shared_string_angle">Winkel</string>
|
||||
|
@ -3567,7 +3567,7 @@ Lon %2$s</string>
|
|||
\n
|
||||
\nWählen Sie eine Aktion aus.</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="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>
|
||||
|
@ -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="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="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>
|
|
@ -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="route_points_category_name">Turniĝoj sur tiu ĉi kurso</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="relief_smoothness_factor_descr">Preferi terenon: ebenan aŭ malebenan.</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="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="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 teren‑formon</string>
|
||||
<string name="quick_action_terrain_hide">Kaŝi teren‑formon</string>
|
||||
<string name="quick_action_terrain_show">Montri teren‑formon</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>
|
|
@ -3578,4 +3578,33 @@ Lon %2$s</string>
|
|||
<string name="items_added">Elementos añadidos</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="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>
|
|
@ -3797,6 +3797,14 @@
|
|||
<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_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_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>
|
|
@ -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_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="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="reset_to_default_category_button_promo">Lehenetsitakoak berrezartzea ordenazio irizpidea instalazioaren unekora itzuliko du.</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="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="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>
|
|
@ -121,7 +121,7 @@
|
|||
<string name="poi_service_tyres">پنچرگیری</string>
|
||||
<string name="poi_vehicle_inspection">معاینه فنی خودرو</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_vehicle_ramp">سطح شیب دار خودرو</string>
|
||||
<string name="poi_compressed_air">هوای فشرده</string>
|
||||
|
|
|
@ -753,8 +753,8 @@
|
|||
<string name="indexing_poi">نمایهکردن POI…</string>
|
||||
<string name="indexing_transport">در حال نمایهکردن حملونقل…</string>
|
||||
<string name="shared_string_io_error">خطای ورودی/خروجی</string>
|
||||
<string name="km">km</string>
|
||||
<string name="m">m</string>
|
||||
<string name="km">کم</string>
|
||||
<string name="m">متر</string>
|
||||
<string name="map_tile_source">منبع کاشیهای نقشه</string>
|
||||
<string name="mark_point">هدف</string>
|
||||
<string name="speak_speed_limit">سرعت مجاز</string>
|
||||
|
@ -1599,7 +1599,7 @@
|
|||
<string name="versions_item">نسخهها</string>
|
||||
<string name="feedback">بازخورد</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="navigation_item_description">تنظیمات ناوبری را انجام دهید.</string>
|
||||
<string name="planning_trip_item">طرحریزی سفر</string>
|
||||
|
@ -1828,7 +1828,7 @@
|
|||
<string name="average_altitude">میانگین ارتفاع</string>
|
||||
<string name="total_distance">مسافت کل</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_name">منحنیهای میزان عمق دریا</string>
|
||||
<string name="rendering_attr_contourDensity_description">تراکم منحنی میزان</string>
|
||||
|
@ -3047,7 +3047,8 @@
|
|||
<string name="files_moved">%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_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="dont_move_maps">منتقل نکن</string>
|
||||
<string name="public_transport_ped_route_title">مسیر پیاده حدود %1$s است و احتمالاً از حملونقل عمومی سریعتر باشد</string>
|
||||
|
@ -3518,7 +3519,7 @@
|
|||
<string name="sunset_at">غروب خورشید در %1$s</string>
|
||||
<string name="sunrise_at">طلوع خورشید در %1$s</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 در پیشزمینه اجرا باشد صفحه خاموش نمیشود.
|
||||
\n
|
||||
\nاگر فعال باشد، OsmAnd از تنظیمات دستگاه برای زمان خاموششدن صفحه استفاده میکند.</string>
|
||||
|
@ -3561,9 +3562,9 @@
|
|||
<string name="shared_string_menu">منو</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_include_data">شامل دادهٔ بیشتر</string>
|
||||
<string name="import_profile_dialog_description">پروفایلِ درونبردی حاوی دادهٔ بیشتری است. «درونبرد» را بزنید تا فقط دادهٔ پروفایل درونبرد شود. «دادهٔ بیشتر» را انتخاب کنید تا آن را نیز درونبرد کنید.</string>
|
||||
<string name="export_profile_dialog_description">میتوانید دادهٔ بیشتری را انتخاب کنید تا همراه با پروفایل برونبرد کنید.</string>
|
||||
<string name="shared_string_include_data">شامل دادهٔ افزوده</string>
|
||||
<string name="import_profile_dialog_description">پروفایلِ درونبردی حاوی دادهٔ افزوده است. «درونبرد» را بزنید تا فقط دادهٔ پروفایل درونبرد شود. «دادهٔ افزوده» را انتخاب کنید تا آن را نیز درونبرد کنید.</string>
|
||||
<string name="export_profile_dialog_description">میتوانید همراه پروفایل، دادهٔ افزوده را نیز برونبرد کنید.</string>
|
||||
<string name="index_name_antarctica">جنوبگان</string>
|
||||
<string name="accessibility_announce">اعلام</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="shared_string_poi_types">انواع POI</string>
|
||||
<string name="listed_exist">%1$s که در زیر آمده، هماکنون در OsmAnd وجود دارد.</string>
|
||||
<string name="checking_for_duplicate_description">OsmAnd %1$s را برای چیزهای تکراری موجود در برنامه بررسی میکند.
|
||||
\n
|
||||
<string name="checking_for_duplicate_description">OsmAnd در حال بررسی %1$s برای چیزهای تکراری موجود در برنامه است.
|
||||
\n
|
||||
\nممکن است قدری زمان ببرد.</string>
|
||||
<string name="items_added">افزودهها</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="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>
|
|
@ -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="select_distance_route_will_recalc">Sélectionnez la distance au-delà de laquelle l’itinéraire sera recalculé.</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>
|
|
@ -117,7 +117,8 @@
|
|||
<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">הזיכרון המוקצה</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="starting_point_too_far">נקודת היציאה רחוקה מדי מהדרך הקרובה אליה ביותר.</string>
|
||||
<string name="shared_location">מיקום משותף</string>
|
||||
|
@ -262,8 +263,8 @@
|
|||
<string name="local_openstreetmap_upload">שליחת העריכה ל־OSM</string>
|
||||
<string name="local_openstreetmap_delete">מחיקת העריכה</string>
|
||||
<string name="local_openstreetmap_descr_title">עריכה בלתי מתואמת של OSM:</string>
|
||||
<string name="local_openstreetmap_settings">נ״ע/הערות של OSM נשמרו בהתקן</string>
|
||||
<string name="local_openstreetmap_settings_descr">הצגה וניהול של נ״ע/הערות שנשמרו במסד נתונים בהתקן.</string>
|
||||
<string name="local_openstreetmap_settings">נ״ע/הערות של OSM נשמרו במכשיר</string>
|
||||
<string name="local_openstreetmap_settings_descr">הצגה וניהול של נ״ע/הערות של OSM שנשמרו במסד הנתונים שבמכשיר שלך.</string>
|
||||
<string name="live_monitoring_interval_descr">נא לציין את ההפסקות בין דיווחי מעקב חי.</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>
|
||||
|
@ -307,7 +308,8 @@
|
|||
<string name="osmand_service">מצב רקע</string>
|
||||
<string name="osmand_service_descr">OsmAnd פועל ברקע בזמן שהמסך כבוי.</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="native_library_not_supported">אין תמיכה בספרייה טבעית בהתקן זה.</string>
|
||||
<string name="init_native_library">הספרייה הטבעית מופעלת…</string>
|
||||
|
@ -541,7 +543,7 @@
|
|||
<string name="phone">טלפון</string>
|
||||
<string name="download_type_to_filter">יש להקליד כדי לסנן</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="transport_searching_transport">תוצאות תחבורה (אין יעד):</string>
|
||||
<string name="transport_searching_route">תוצאות תחבורה ({0} ליעד):</string>
|
||||
|
@ -670,11 +672,11 @@
|
|||
<string name="search_offline_address">בלתי מקוון</string>
|
||||
<string name="search_online_address">אינטרנט</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="router_service_descr">שירות ניווט מקוון או בלתי מקוון.</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_exist">הנתונים הבלתי מקוונים עבור {0} כבר קיימים ({1}). לעדכן אותם ({2}) ?</string>
|
||||
<string name="address">כתובת</string>
|
||||
|
@ -719,7 +721,7 @@
|
|||
<string name="finished_task">בוצע</string>
|
||||
<string name="use_online_routing_descr">שימוש באינטרנט כדי לחשב מסלול.</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">נתונים</string>
|
||||
<string name="osm_settings">עריכה של OpenStreetMap</string>
|
||||
|
@ -748,7 +750,7 @@
|
|||
<string name="map_view_3d">הצגת המפה בתלת־ממד</string>
|
||||
<string name="show_poi_over_map_description">הצגת שכבת נקודות העניין האחרונות שהיו בשימוש.</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_source">מקור המפה</string>
|
||||
<string name="use_internet">להשתמש באינטרנט</string>
|
||||
|
@ -830,7 +832,7 @@
|
|||
<string name="email">דוא״ל</string>
|
||||
<string name="search_history_street">רחוב:\n {0}, {1}</string>
|
||||
<string name="osmand_plus_long_description_1000_chars">OsmAnd+ (OSM הכוונת ניווט אוטומטית)
|
||||
\n OsmAnd+ הנו יישום ניווט בקוד פתוח עם גישה למגוון רחב של נתונים מ־OpenStreetMap (OSM). ניתן לשמור את כל נתוני המפה על כרטיס הזיכרון של הטלפון לצורך שימוש ללא אינטרנט. OsmAnd מציעה גם תכונת טוויית מסלול הפועלת עם וללא אינטרנט וכוללת הנחייה קולית לכל פנייה ופנייה.
|
||||
\n OsmAnd+ הנו יישום ניווט בקוד פתוח עם גישה למגוון רחב של נתוני OSM. ניתן לשמור את כל נתוני המפה על כרטיס הזיכרון של הטלפון לצורך שימוש ללא אינטרנט. OsmAnd מציעה גם תכונת טוויית מסלול הפועלת עם וללא אינטרנט וכוללת הנחייה קולית לכל פנייה ופנייה.
|
||||
\n
|
||||
\n OsmAnd+ הנה הגרסה בתשלום של היישום, רכישת גרסה זו מהווה הבעת תמיכה במיזם, מימון פיתוח של תכונות חדשות ומבטיחה קבלת עדכונים במהירות.
|
||||
\n
|
||||
|
@ -851,7 +853,7 @@
|
|||
\n</string>
|
||||
<string name="osmand_long_description_1000_chars">OsmAnd (OSM הכוונת ניווט אוטומטית)
|
||||
\n
|
||||
\n OsmAnd הנו יישום ניווט בקוד פתוח עם גישה למגוון רחב של נתונים מ־OpenStreetMap (OSM). ניתן לשמור את כל נתוני המפה על כרטיס הזיכרון של הטלפון לצורך שימוש ללא אינטרנט. OsmAnd מציעה גם תכונת טוויית מסלול הפועלת עם וללא אינטרנט וכוללת הנחייה קולית לכל פנייה ופנייה.
|
||||
\n OsmAnd הנו יישום ניווט בקוד פתוח עם גישה למגוון רחב של נתוני OSM. ניתן לשמור את כל נתוני המפה על כרטיס הזיכרון של הטלפון לצורך שימוש ללא אינטרנט. OsmAnd מציעה גם תכונת טוויית מסלול הפועלת עם וללא אינטרנט וכוללת הנחייה קולית לכל פנייה ופנייה.
|
||||
\n
|
||||
\n חלק מתכונות הליבה: - אפשרות להפעלה ללא אינטרנט (איחסון וקטורים או אריחי מפות שהתקבלו לתיקייה נבחרת)
|
||||
\n - מפות וקטוריות דחוסות זמינות לכל חלקי העולם
|
||||
|
@ -927,12 +929,12 @@
|
|||
<string name="recording_error">הקלטה נכשלה</string>
|
||||
<string name="recording_camera_not_available">מצלמה אינה זמינה</string>
|
||||
<string name="osmand_srtm_long_description_1000_chars">תוסף זה מספק הן שכבת קווי מתאר והן שכבת הצללה אותן ניתן להציג על המפות הרגילות של OsmAnd. תכונה זו נחוצה ביותר לאתלטים, מטיילי שטח, תרמילאים וכל מי שמעוניין להבין את מבנה פני השטח.
|
||||
\n
|
||||
\n
|
||||
\nהנתונים הגלובליים (בין 70° צפון ל־70° דרום) מבוססים על מדידות שבוצעו על ידי ה־SRTM (משימת הטופוגרפיה של מעבורת המכ״ם) ו־ASTER (רדיומטר חלל מתקדם לגילוי פליטה תרמית והשתקפות), התקן דימות על סיפונה של Terra, לוויין הדגל של מערכת ההשקפה על כדור הארץ של NASA. ASTER הנו שיתוף פעולה בין NASA, משרד התמ״ת היפני (METI) ומערכות החלל היפניות (J-spacesystems).</string>
|
||||
<string name="srtm_paid_version_msg">נא לשקול לקנות את תוסף ‚קווי המתאר’ מהחנות כדי לתמוך בפיתוח עתידי.</string>
|
||||
<string name="srtm_paid_version_title">תוסף קווי מתאר</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="recording_context_menu_show">הצגה</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="distance_moving">המרחק תוקן</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_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="mapillary_image">תמונת Mapillary</string>
|
||||
<string name="open_mapillary">פתיחת Mapillary</string>
|
||||
|
@ -1131,10 +1133,10 @@
|
|||
<string name="increase_search_radius">הגדלת רדיוס החיפוש</string>
|
||||
<string name="nothing_found">לא נמצא כלום</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_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="search_favorites">חיפוש במועדפים</string>
|
||||
<string name="none_selected_gpx">יש לציין GPX בלחיצה ארוכה תחילה.</string>
|
||||
|
@ -1445,7 +1447,7 @@
|
|||
<string name="location_on_map">מיקום:
|
||||
\n רוחב %1$s
|
||||
\n אורך %2$s</string>
|
||||
<string name="notes">הערות</string>
|
||||
<string name="notes">הערות ק/ו</string>
|
||||
<string name="online_map">מפה מקוונת</string>
|
||||
<string name="roads_only">דרכים בלבד</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_poi_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="quick_action_showhide_favorites_descr">בורר להצגה או הסתרה של הנקודות המועדפות במפה.</string>
|
||||
<string name="quick_action_showhide_poi_descr">בורר להצגה או הסתרה של נקודות עניין במפה.</string>
|
||||
|
@ -1720,7 +1722,7 @@
|
|||
<string name="show_direction">חיווי מרחק</string>
|
||||
<string name="sort_by">סידור לפי</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="exit_without_saving">לצאת בלי לשמור?</string>
|
||||
<string name="line">קו</string>
|
||||
|
@ -1763,8 +1765,8 @@
|
|||
<string name="select_city">נא לבחור עיר</string>
|
||||
<string name="select_postcode">חיפוש מיקוד</string>
|
||||
<string name="quick_action_auto_zoom">הפעלה/כיבוי של תקריב מפה אוטומטי</string>
|
||||
<string name="quick_action_auto_zoom_on">הפעלת תקריב אוטומטי במפה</string>
|
||||
<string name="quick_action_auto_zoom_off">השבתת תקריב אוטומטי במפה</string>
|
||||
<string name="quick_action_auto_zoom_on">הפעלת תקריב אוטומטי</string>
|
||||
<string name="quick_action_auto_zoom_off">כיבוי תקריב אוטומטי</string>
|
||||
<string name="quick_action_add_destination">הגדרת יעד</string>
|
||||
<string name="quick_action_replace_destination">החלפת יעד</string>
|
||||
<string name="quick_action_add_first_intermediate">הוספת נקודת ביניים ראשונה</string>
|
||||
|
@ -1821,7 +1823,7 @@
|
|||
<string name="osn_close_dialog_title">סגירת הערה</string>
|
||||
<string name="osn_add_dialog_success">נוצרה הערה</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="all_markers_moved_to_history">כל סמני המפה הועברה להיסטוריה</string>
|
||||
<string name="marker_moved_to_history">סמן המפה הועבר להיסטוריה</string>
|
||||
|
@ -1833,8 +1835,8 @@
|
|||
<string name="today">היום</string>
|
||||
<string name="yesterday">אתמול</string>
|
||||
<string name="quick_action_auto_zoom_desc">בורר לכיבוי/הפעלה של התקריב האוטומטי במפה בהתאם למהירות שלך.</string>
|
||||
<string name="quick_action_add_destination_desc">כפתור למירכוז המפה סביב יעד המסלול, יעד כלשהו שנבחר קודם לכן יהפוך להיות נקודת הביניים האחרונה.</string>
|
||||
<string name="quick_action_replace_destination_desc">נגיעה בכפתור הפעולה מחליפה את מרכז המסך ליעד הנתיב החדש תוך החלפת כל יעד קודם (אם היה כזה).</string>
|
||||
<string name="quick_action_add_destination_desc">כפתור למירכוז המפה סביב יעד המסלול, יעד שנבחר קודם לכן יהפוך להיות נקודת הביניים האחרונה.</string>
|
||||
<string name="quick_action_replace_destination_desc">כפתור להפיכת מרכז המסך ליעד המסלול החדש תוך החלפת כל יעד קודם (אם היה כזה).</string>
|
||||
<string name="quick_action_add_first_intermediate_desc">כפתור זה מכוון את מרכז המסך ליעד הביניים הראשון.</string>
|
||||
<string name="no_overlay">אין שכבת על</string>
|
||||
<string name="no_underlay">אין שכבה תחתונה</string>
|
||||
|
@ -1844,7 +1846,7 @@
|
|||
<string name="shared_string_topbar">סרגל עליון</string>
|
||||
<string name="full_report">דוח מלא</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="number_of_recipients">מספר הנמענים</string>
|
||||
<string name="osm_editors_ranking">דירוג עורך ב־OSM</string>
|
||||
|
@ -2000,9 +2002,9 @@
|
|||
<string name="shared_string_edited">נערכה</string>
|
||||
<string name="shared_string_added">נוספה</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="notes_by_date">הערות לפי תאריך</string>
|
||||
<string name="notes_by_date">הערות OSM לפי תאריך</string>
|
||||
<string name="by_date">לפי תאריך</string>
|
||||
<string name="by_type">לפי סוג</string>
|
||||
<string name="subscribe_email_desc">ניתן להירשם לרשימת הדיוור שלנו כדי לקבל הנחות על היישומון ולקבל עוד 3 הורדות של מפות בחינם!</string>
|
||||
|
@ -2141,8 +2143,8 @@
|
|||
<string name="plugin_nautical_name">תצוגת מפה ימית</string>
|
||||
<string name="plugin_ski_name">תצוגת מפת סקי</string>
|
||||
<string name="share_note">שיתוף פתק</string>
|
||||
<string name="world_ski_missing">כדי להציג מפות סקי יש להוריד מפה מיוחדת בלתי מקוונת</string>
|
||||
<string name="nautical_maps_missing">כדי להציג מפות ימיות, יש להוריד מפות מיוחדות בלתי מקוונות</string>
|
||||
<string name="world_ski_missing">הורדת המפה הבלתי מקוונת המיוחדת כדי להציג תכונות סקי.</string>
|
||||
<string name="nautical_maps_missing">הורדת המפה הבלתי מקוונת המיוחדת כדי להציג פרטים ימיים.</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_description">לא להשתמש בכללי הניתוב שנוספו ב־1.9.</string>
|
||||
|
@ -2279,7 +2281,7 @@
|
|||
<string name="local_index_tile_data_name">נתוני אריח: %1$s</string>
|
||||
<string name="edit_tilesource_successfully">מקור האריחים %1$s נשמר</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="shared_string_in_name">ב־%1$s</string>
|
||||
<string name="one_tap_active_descr">ניתן לגעת בסמן על המפה כדי להעביר אותו לראש הסמנים הפעילים מבלי לפתוח את תפריט ההקשר.</string>
|
||||
|
@ -2332,8 +2334,8 @@
|
|||
<string name="custom_search">חיפוש בהתאמה אישית</string>
|
||||
<string name="new_filter_desc">נא להקליד שם למסנן החדש, שם זה יצטרף ללשוניות ה‚קטגוריות’ שלך.</string>
|
||||
<string name="osm_live_payment_desc">עמלת המינוי תיגבה כל חודש. ניתן לבטל את המינוי ב־Google Play בכל עת.</string>
|
||||
<string name="donation_to_osm">תרומה לקהילת OpenStreetMap</string>
|
||||
<string name="donation_to_osm_desc">חלק מהתרומה שלך נשלחת למשתמשי OSM שמגישים שינויים ל־OpenStreetMap. עלות המינוי נותרת בעינה.</string>
|
||||
<string name="donation_to_osm">תרומה לקהילת OSM</string>
|
||||
<string name="donation_to_osm_desc">חלק מהתרומה שלך נשלחת למתנדבי OSM. עלות המינוי נותרת בעינה.</string>
|
||||
<string name="osm_live_subscription_desc">מינוי מאפשר עדכונים שעתיים, יומיים או שבועיים ואפשרות להורדת כל המפות בכל העולם ללא הגבלה.</string>
|
||||
<string name="get_it">הרשמה</string>
|
||||
<string name="get_for">הרשמה למשך %1$s</string>
|
||||
|
@ -2445,11 +2447,11 @@
|
|||
<string name="nothing_found_in_radius">לא נמצא שום דבר:</string>
|
||||
<string name="switch_osm_notes_visibility_desc">הצגה/הסתרה של הערות 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="osc_file">קובץ OSC</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="osm_notes">הערות OSM</string>
|
||||
<string name="parked_at">מיקום החנייה</string>
|
||||
|
@ -2472,7 +2474,7 @@
|
|||
<string name="access_direction_haptic_feedback">חיווי כיוון ברטט</string>
|
||||
<string name="access_direction_haptic_feedback_descr">ציון כיוון נקודת היעד באמצעות רטט.</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="upload_osm_note">שליחת הערת OSM</string>
|
||||
<string name="map_marker_1st">סמן המפה הראשון</string>
|
||||
|
@ -2495,7 +2497,9 @@
|
|||
<string name="shared_string_explore">סיור</string>
|
||||
<string name="access_disable_offroute_recalc">אין אפשרות לחישוב מסלול מחדש לאחר עזיבת המסלול</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="shared_string_read">נקרא</string>
|
||||
<string name="shared_string_contents">תכנים</string>
|
||||
|
@ -2598,7 +2602,8 @@
|
|||
<string name="purchase_dialog_travel_description">עליך לרכוש את אחד מהפריטים הבאים כדי לקבל את תכונת הדרכות התיירות:</string>
|
||||
<string name="purchase_dialog_subtitle">נא לבחור את הפריט המתאים</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="hillshade_layer_disabled">מפת ההצללה מושבתת</string>
|
||||
<string name="app_mode_hiking">טיול רגלי</string>
|
||||
|
@ -2611,11 +2616,11 @@
|
|||
<string name="unlimited_downloads">הורדות ללא הגבלה</string>
|
||||
<string name="wikipedia_offline">ויקיפדיה בלתי מקוונת</string>
|
||||
<string name="unlock_all_features">שחרור כל התכונות של OsmAnd</string>
|
||||
<string name="android_19_location_disabled">בגרסה 4.4 של Android (KitKat) ואילך תיקיית האחסון הישנה (%s) אינה תקפה עוד. להעתיק את כל הקבצים של OsmAnd למיקום האחסון החדש\?
|
||||
\n הערה 1: הקבצים הקודמים שלך יישארו כמו שהם (ניתן יהיה למחוק אותם ידנית).
|
||||
<string name="android_19_location_disabled">בגרסה 4.4 של Android (KitKat) ואילך תיקיית האחסון הישנה (%s) אינה תקפה עוד. להעתיק את כל הקבצים של OsmAnd למיקום האחסון החדש\?
|
||||
\n הערה 1: הקבצים הקודמים שלך יישארו כמו שהם (ניתן יהיה למחוק אותם ידנית).
|
||||
\n הערה 2: במיקום האחסון החדש לא תהיה אפשרות לשתף קבצים בין OsmAnd לבין OsmAnd+.</string>
|
||||
<string name="osmand_extended_description_part1">OsmAnd (OSM Automated Navigation Directions - ניווט והכוונה אוטומטיים) הוא יישומון מפה וניווט עם גישה לנתוני OpenStreetMap (OSM) החופשיים, הבינלאומיים באיכות גבוהה.
|
||||
\n
|
||||
<string name="osmand_extended_description_part1">OsmAnd (OSM Automated Navigation Directions - ניווט והכוונה אוטומטיים) הוא יישומון מפה וניווט עם גישה לנתוני OSM החופשיים, הבינלאומיים באיכות גבוהה.
|
||||
\n
|
||||
\n ניתן ליהנות מניווט קולי וחזותי, צפייה בנקודות עניין וניהול מסלולי GPX, שימוש בתחזית קווי מתאר ופרטי גובה (בעזרת תוסף), בחירה בין מצבי נהיגה, רכיבה והליכה, עריכת OSM ועוד פינוקים רבים וטובים.</string>
|
||||
<string name="paid_app">יישומון בתשלום</string>
|
||||
<string name="paid_plugin">תוסף בתשלום</string>
|
||||
|
@ -2633,8 +2638,10 @@
|
|||
<string name="wikivoyage_travel_guide_descr">מדריכים למקומות המעניינים ביותר בעולם, בתוך OsmAnd, ללא חיבור לאינטרנט.</string>
|
||||
<string name="contour_lines_hillshade_maps">קווי מתאר ומפות הצללה</string>
|
||||
<string name="popular_destinations">יעדים נפוצים</string>
|
||||
<string name="osm_live_header">מינוי זה מאפשר לך לקבל עדכונים שעתיים של כל המפות ברחבי העולם. חלק מההכנסה חוזר אל קהילת OSM והוא מוענק לכל תורם OSM. אם OsmAnd ו־OSM נושאים חן בעיניך וברצונך לתמוך ולהיתמך על ידיהם, זו הדרך המושלמת לעשות זאת.</string>
|
||||
<string name="record_plugin_description">תוסף זה מפעיל את התכונה להקלטת ולשמירת המסלולים שלך על ידי נגיעה באופן ידני בווידג׳ט רישום ה־GPX במפה, או גם לערוך רישום של כל נתיבי הניווט שלך לקובץ GPX.
|
||||
<string name="osm_live_header">מינוי זה מאפשר לך לקבל עדכונים שעתיים של כל המפות ברחבי העולם.
|
||||
\n חלק מההכנסה חוזר אל קהילת OSM והוא מוענק לכל תורם OSM.
|
||||
\n אם OsmAnd ו־OSM נושאים חן בעיניך וברצונך לתמוך ולהיתמך על ידיהם, זו הדרך המושלמת לעשות זאת.</string>
|
||||
<string name="record_plugin_description">תוסף זה מפעיל את התכונה להקלטת ולשמירת המסלולים שלך על ידי נגיעה באופן ידני בווידג׳ט רישום ה־GPX במפה, או גם לערוך רישום של כל נתיבי הניווט שלך לקובץ GPX.
|
||||
\n
|
||||
\nניתן לשתף נתיבים מוקלטים עם חבריך או להשתמש בהם כתרומה ל־OSM. אתלטים יכולים להשתמש במסלולים מוקלטים כדי לעקוב אחר האימונים שלהם. ניתן לבצע ניתוח מסלול בסיסי ישירות ב־OsmAnd, כמו זמני הקפה, מהירות ממוצעת וכו׳, כמו כן, ניתן לנתח את המסלולים בשלב מאוחר יותר על ידי כלי ניתוח מיוחדים מגורמי צד־שלישי.</string>
|
||||
<string name="watch">צפייה</string>
|
||||
|
@ -2657,11 +2664,11 @@
|
|||
\n • תמיכה בנקודות ביניים לאורך תכנית המסלול שלך
|
||||
\n • הקלטת או העלאת מסלול GPX משלך ולעקוב אחריו
|
||||
\n</string>
|
||||
<string name="osmand_plus_extended_description_part1">OsmAnd+ (OSM הכוונת ניווט אוטומטית - Automated Navigation Directions) הוא יישומון מפה וניווט עם גישה לנתוני OpenStreetMap (OSM) האיכותיים והגלובליים.
|
||||
\n ניתן ליהנות מניווט קולי וחזותי, לצפות בנ״ע (נקודות עניין), ליצור ולנהל מסלולי GPX, להשתמש בהכוונה חזותית של קווי מתאר ופרטי גובה, בחירה בין מצבי נהיגה, רכיבה והליכה ברגל, עריכת OSM ועוד.
|
||||
\n
|
||||
\n OsmAnd+ הנה הגרסה בתשלום של היישומון. רכישת המוצר, מביעה את תמיכתך במיזם, ניתן גם לממן פיתוח של תכונות חדשות ולקבל את העדכונים החדשים ביותר.
|
||||
\n
|
||||
<string name="osmand_plus_extended_description_part1">OsmAnd+ (OSM הכוונת ניווט אוטומטית - Automated Navigation Directions) הוא יישומון מפה וניווט עם גישה לנתוני OSM האיכותיים והגלובליים.
|
||||
\n ניתן ליהנות מניווט קולי וחזותי, לצפות בנ״ע (נקודות עניין), ליצור ולנהל מסלולי GPX, להשתמש בהכוונה חזותית של קווי מתאר ופרטי גובה, בחירה בין מצבי נהיגה, רכיבה והליכה ברגל, עריכת OSM ועוד.
|
||||
\n
|
||||
\n OsmAnd+ הנה הגרסה בתשלום של היישומון. רכישת המוצר, מביעה את תמיכתך במיזם, ניתן גם לממן פיתוח של תכונות חדשות ולקבל את העדכונים החדשים ביותר.
|
||||
\n
|
||||
\n חלק מהתכונות העיקריות:</string>
|
||||
<string name="osmand_plus_extended_description_part2">ניווט
|
||||
\n • עובד מול הרשת (מהיר) או ללא רשת (אין עלויות נדידה בעת שהיה בחו״ל)
|
||||
|
@ -2849,7 +2856,7 @@
|
|||
<string name="osm_live_payment_renews_annually">מתחדש שנתית</string>
|
||||
<string name="default_price_currency_format">%1$.2f %2$s</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="osm_live_subscriptions">מינויים</string>
|
||||
<string name="mapillary_menu_title_pano">הצגת תמונות 360° בלבד</string>
|
||||
|
@ -2874,7 +2881,7 @@
|
|||
<string name="voice_announcements">הנחיות קוליות</string>
|
||||
<string name="intermediate_destinations">יעדי ביניים</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_night_mode">מצב לילה</string>
|
||||
<string name="quick_action_day_night_switch_mode">החלפה בין מצבי יום/לילה</string>
|
||||
|
@ -2901,7 +2908,7 @@
|
|||
<string name="routeInfo_road_types_name">סוגי כבישים</string>
|
||||
<string name="exit_at">לצאת ב־</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_show">הצגת מסלולי GPX</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_hide">הסתרת הצללה</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="export_profile">ייצוא פרופיל</string>
|
||||
<string name="exported_osmand_profile">פרופיל OsmAnd: %1$s</string>
|
||||
|
@ -3435,7 +3442,7 @@
|
|||
<string name="select_nav_icon_descr">הסמל יופיע רק בזמן הניווט או בזמן תזוזה.</string>
|
||||
<string name="select_map_icon_descr">סמל המפה מופיע במפה בלבד והוא מתחלף בעת הניווט לסמל הניווט.</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="rearrange_categories">סידור הקטגוריות מחדש</string>
|
||||
<string name="create_custom_categories_list_promo">ניתן להוסיף קטגוריות מותאמות אישית, להסתיר קטגוריות שאינן נחוצות לך ולשנות את סדר הרשימה. ניתן לייבא את הרשימה ולייצא אותה עם פרופילים.</string>
|
||||
|
@ -3543,4 +3550,29 @@
|
|||
<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_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>
|
|
@ -1200,7 +1200,7 @@
|
|||
<string name="poi_dyke">Frangiflutti</string>
|
||||
<string name="poi_vending_type">Tipo di vendita</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_scuba_diving_shop">Negozio immersioni subacquee</string>
|
||||
<string name="poi_health_specialty">Specialità di salute</string>
|
||||
|
|
|
@ -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="saving_new_profile">Salvataggio del nuovo 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>
|
|
@ -3778,4 +3778,6 @@
|
|||
<string name="poi_piste_ref">ゲレンデの参照番号</string>
|
||||
<string name="poi_resort_hunting">狩猟拠点</string>
|
||||
<string name="poi_dive_centre">スキューバダイビングセンター</string>
|
||||
<string name="poi_sms">SMS</string>
|
||||
<string name="poi_water_place_access">水場へのアクセス方法</string>
|
||||
</resources>
|
|
@ -3479,7 +3479,7 @@ POIの更新は利用できません</string>
|
|||
<string name="multimedia_photo_play_sound">カメラシャッター音</string>
|
||||
<string name="osm_authorization_success">認証に成功しました</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="shared_string_available">利用可</string>
|
||||
<string name="add_custom_category">カスタムカテゴリーを追加</string>
|
||||
|
@ -3554,4 +3554,57 @@ POIの更新は利用できません</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_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>
|
2
OsmAnd/res/values-nap/phrases.xml
Normal file
2
OsmAnd/res/values-nap/phrases.xml
Normal file
|
@ -0,0 +1,2 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources></resources>
|
|
@ -3474,4 +3474,5 @@
|
|||
<string name="profile_backup_failed">Kunne ikke sikkerhetskopiere profil.</string>
|
||||
<string name="importing_from">Importerer data fra %1$s</string>
|
||||
<string name="shared_string_importing">Importerer</string>
|
||||
<string name="select_shape">Velg form</string>
|
||||
</resources>
|
|
@ -132,8 +132,8 @@
|
|||
<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="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\?
|
||||
\n{1} MB (van {2} MB) zal gebruikt worden."</string>
|
||||
<string name="download_files_question_space">{0} bestand(en) downloaden\?
|
||||
\n{1} MB (van {2} MB) zal gebruikt worden.</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="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="upload_anonymously">Anoniem uploaden</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\?
|
||||
\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>
|
||||
|
@ -2646,7 +2648,7 @@ voor Gebied: %1$s x %2$s</string>
|
|||
<string name="shared_string_total">Totaal</string>
|
||||
<string name="hide_full_description">Volledige beschrijving verbergen</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="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>
|
||||
|
@ -3067,7 +3069,7 @@ voor Gebied: %1$s x %2$s</string>
|
|||
<string name="shared_string_select_folder">Map…</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="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="exported_osmand_profile">OsmAnd profiel: %1$s</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="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_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="button_rate">Beoordeel</string>
|
||||
<string name="ltr_or_rtl_combine_via_space">%1$s %2$s</string>
|
||||
|
|
|
@ -3805,9 +3805,17 @@
|
|||
<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_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_booth">Typ stoiska</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_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>
|
|
@ -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="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="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.
|
||||
\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
|
||||
\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>
|
||||
<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 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 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_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>
|
||||
|
@ -1112,9 +1112,9 @@
|
|||
<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_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_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_weight_name">Ograniczenie wagi</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_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_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_description">Używa danych wysokościowych (dane z SRTM, ASTER i EU-DEM).</string>
|
||||
<string name="route_altitude">Wysokość trasy</string>
|
||||
|
@ -3009,7 +3009,7 @@ Reprezentuje obszar: %1$s x %2$s</string>
|
|||
\n</string>
|
||||
<string name="angular_measeurement">Jednostka kąta</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="shared_string_walk">Pieszo</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_msg">Najpierw zapisz zmiany w profilu</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_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>
|
||||
|
@ -3407,11 +3407,11 @@ Reprezentuje obszar: %1$s x %2$s</string>
|
|||
<string name="personal_category_name">Osobiste</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="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="select_navigation_icon">Ikona położenia podczas ruchu</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="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>
|
||||
|
@ -3459,7 +3459,7 @@ Reprezentuje obszar: %1$s x %2$s</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="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="shared_string_available">Dostępne</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">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_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="multimedia_rec_split_title">Dzielenie nagrań</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">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_title">Minimalny kąt między moją lokalizacją a trasą</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="importing_from">Importowanie danych z %1$s</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>
|
|
@ -3432,7 +3432,7 @@
|
|||
<string name="choose_icon_color_name">Escolha o ícone, cor e nome</string>
|
||||
<string name="reorder_profiles">Editar lista de perfis</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">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>
|
||||
|
|
|
@ -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="osm_authorization_success">Prihlásenie je úspešné</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="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>
|
||||
|
@ -3566,4 +3566,33 @@ Zodpovedá oblasti: %1$s x %2$s</string>
|
|||
<string name="items_added">Položky pridané</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="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>
|
|
@ -2729,4 +2729,6 @@
|
|||
<string name="poi_cash_withdrawal_bank_card">Подизање новца</string>
|
||||
<string name="poi_bath_type">Тип</string>
|
||||
<string name="poi_bath_open_air">На отвореном</string>
|
||||
<string name="poi_agrarian">Пољопривредна радња</string>
|
||||
<string name="poi_meadow_agricultural">Тип: пољопривредно</string>
|
||||
</resources>
|
|
@ -3571,4 +3571,30 @@
|
|||
<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_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>
|
|
@ -178,7 +178,7 @@
|
|||
<color name="row_selection_color">#CC33BBE0</color>
|
||||
|
||||
<!-- 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_altitude_desc">#32CD32</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_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="switch_button_active">#1A237BFF</color>
|
||||
|
|
|
@ -14,4 +14,7 @@
|
|||
<dimen name="context_img_card_width">280dp</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>
|
|
@ -70,6 +70,7 @@
|
|||
<dimen name="list_header_bottom_margin">8dp</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="favorites_icon_top_margin">13dp</dimen>
|
||||
<dimen name="dialog_elements_vertical_margin">16dp</dimen>
|
||||
|
|
|
@ -18,11 +18,20 @@
|
|||
<string name="shared_string_drawer">Drawer</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="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_show">Show terrain</string>
|
||||
<string name="quick_action_terrain_hide">Hide terrain</string>
|
||||
<string name="quick_action_show_hide_terrain">Show/hide terrain</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="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>
|
||||
|
|
|
@ -100,6 +100,16 @@
|
|||
<item name="android:textColor">@color/active_color_primary_dark</item>
|
||||
</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 -->
|
||||
<style name="OsmandLightTheme" parent="Theme.AppCompat.Light">
|
||||
<item name="android:textDirection">locale</item>
|
||||
|
|
|
@ -31,6 +31,7 @@ public class FavouritePoint implements Serializable, LocationPoint {
|
|||
private int color;
|
||||
private boolean visible = true;
|
||||
private SpecialPointType specialPointType = null;
|
||||
private BackgroundType backgroundType = null;
|
||||
|
||||
public FavouritePoint() {
|
||||
}
|
||||
|
@ -57,6 +58,7 @@ public class FavouritePoint implements Serializable, LocationPoint {
|
|||
this.originObjectName = favouritePoint.originObjectName;
|
||||
this.address = favouritePoint.address;
|
||||
this.iconId = favouritePoint.iconId;
|
||||
this.backgroundType = favouritePoint.backgroundType;
|
||||
initPersonalType();
|
||||
}
|
||||
|
||||
|
@ -91,7 +93,7 @@ public class FavouritePoint implements Serializable, LocationPoint {
|
|||
}
|
||||
|
||||
public int getIconId() {
|
||||
return iconId;
|
||||
return iconId == 0 ? R.drawable.mx_special_star : iconId;
|
||||
}
|
||||
|
||||
public String getIconEntryName(Context ctx) {
|
||||
|
@ -114,15 +116,15 @@ public class FavouritePoint implements Serializable, LocationPoint {
|
|||
public PointDescription getPointDescription(@NonNull Context ctx) {
|
||||
return new PointDescription(PointDescription.POINT_TYPE_FAVORITE, getDisplayName(ctx));
|
||||
}
|
||||
|
||||
|
||||
public void setColor(int color) {
|
||||
this.color = color;
|
||||
}
|
||||
|
||||
|
||||
public boolean isVisible() {
|
||||
return visible;
|
||||
}
|
||||
|
||||
|
||||
public void setVisible(boolean visible) {
|
||||
this.visible = visible;
|
||||
}
|
||||
|
@ -138,10 +140,8 @@ public class FavouritePoint implements Serializable, LocationPoint {
|
|||
public int getOverlayIconId() {
|
||||
if (isSpecialPoint()) {
|
||||
return specialPointType.getIconId();
|
||||
} else if (iconId == 0) {
|
||||
return R.drawable.mx_special_star;
|
||||
}
|
||||
return iconId;
|
||||
return getIconId();
|
||||
}
|
||||
|
||||
public double getLatitude() {
|
||||
|
@ -159,7 +159,7 @@ public class FavouritePoint implements Serializable, LocationPoint {
|
|||
public void setLongitude(double longitude) {
|
||||
this.longitude = longitude;
|
||||
}
|
||||
|
||||
|
||||
public String getCategory() {
|
||||
return category;
|
||||
}
|
||||
|
@ -167,7 +167,7 @@ public class FavouritePoint implements Serializable, LocationPoint {
|
|||
public String getCategoryDisplayName(@NonNull Context ctx) {
|
||||
return FavouritesDbHelper.FavoriteGroup.getDisplayName(ctx, category);
|
||||
}
|
||||
|
||||
|
||||
public void setCategory(String category) {
|
||||
this.category = category;
|
||||
initPersonalType();
|
||||
|
@ -179,7 +179,7 @@ public class FavouritePoint implements Serializable, LocationPoint {
|
|||
}
|
||||
return name;
|
||||
}
|
||||
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
@ -197,6 +197,14 @@ public class FavouritePoint implements Serializable, LocationPoint {
|
|||
this.description = description;
|
||||
}
|
||||
|
||||
public BackgroundType getBackgroundType() {
|
||||
return backgroundType == null ? BackgroundType.CIRCLE : backgroundType;
|
||||
}
|
||||
|
||||
public void setBackgroundType(BackgroundType backgroundType) {
|
||||
this.backgroundType = backgroundType;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
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) {
|
||||
String name = pt.name;
|
||||
String categoryName = pt.category != null ? pt.category : "";
|
||||
|
@ -304,6 +351,8 @@ public class FavouritePoint implements Serializable, LocationPoint {
|
|||
if (iconName != null) {
|
||||
fp.setIconIdFromName(ctx, iconName);
|
||||
}
|
||||
BackgroundType backgroundType = BackgroundType.getByTypeName(pt.getBackgroundType(), BackgroundType.CIRCLE);
|
||||
fp.setBackgroundType(backgroundType);
|
||||
return fp;
|
||||
}
|
||||
|
||||
|
@ -320,6 +369,9 @@ public class FavouritePoint implements Serializable, LocationPoint {
|
|||
if (iconId != 0) {
|
||||
pt.setIconName(getIconEntryName(ctx).substring(3));
|
||||
}
|
||||
if(backgroundType != null) {
|
||||
pt.setBackgroundType(backgroundType.typeName);
|
||||
}
|
||||
if (getColor() != 0) {
|
||||
pt.setColor(getColor());
|
||||
}
|
||||
|
|
|
@ -302,7 +302,9 @@ public class FavouritesDbHelper {
|
|||
if (FavouritePoint.SpecialPointType.PARKING.equals(p.getSpecialPointType())) {
|
||||
p.setColor(ContextCompat.getColor(context, R.color.map_widget_blue));
|
||||
} else {
|
||||
p.setColor(group.color);
|
||||
if (p.getColor() == 0) {
|
||||
p.setColor(group.color);
|
||||
}
|
||||
}
|
||||
group.points.add(p);
|
||||
cachedFavoritePoints.add(p);
|
||||
|
@ -440,7 +442,9 @@ public class FavouritesDbHelper {
|
|||
if (FavouritePoint.SpecialPointType.PARKING.equals(p.getSpecialPointType())) {
|
||||
p.setColor(ContextCompat.getColor(context, R.color.map_widget_blue));
|
||||
} else {
|
||||
p.setColor(pg.color);
|
||||
if (p.getColor() == 0) {
|
||||
p.setColor(pg.color);
|
||||
}
|
||||
}
|
||||
pg.points.add(p);
|
||||
}
|
||||
|
|
|
@ -379,6 +379,7 @@ public class OsmandApplication extends MultiDexApplication {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
public void checkPreferredLocale() {
|
||||
Configuration config = getBaseContext().getResources().getConfiguration();
|
||||
|
||||
|
@ -408,6 +409,8 @@ public class OsmandApplication extends MultiDexApplication {
|
|||
if (selectedLocale != null) {
|
||||
Locale.setDefault(selectedLocale);
|
||||
config.locale = selectedLocale;
|
||||
config.setLayoutDirection(selectedLocale);
|
||||
|
||||
getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
|
||||
if (android.os.Build.VERSION.SDK_INT >= 17) {
|
||||
Configuration conf = new Configuration(config);
|
||||
|
|
|
@ -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();
|
||||
|
||||
// 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
|
||||
protected boolean setValue(Object prefs, Integer stream) {
|
||||
boolean valueSaved = super.setValue(prefs, stream);
|
||||
|
@ -3401,6 +3401,7 @@ public class OsmandSettings {
|
|||
// this value could localized
|
||||
public final OsmandPreference<String> VOICE_PROVIDER = new StringPreference("voice_provider", null) {
|
||||
protected String getDefaultValue() {
|
||||
|
||||
Configuration config = ctx.getResources().getConfiguration();
|
||||
for (String lang : TTS_AVAILABLE_VOICES) {
|
||||
if (lang.equals(config.locale.getLanguage())) {
|
||||
|
|
|
@ -535,18 +535,35 @@ public class SettingsHelper {
|
|||
}
|
||||
|
||||
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;
|
||||
while (true) {
|
||||
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.userProfileName = modeBean.userProfileName + "_" + number;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isNameUnique(List<ApplicationMode> values, String name) {
|
||||
for (ApplicationMode mode : values) {
|
||||
if (mode.getUserProfileName().equals(name)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void apply() {
|
||||
if (!appMode.isCustomProfile() && !shouldReplace) {
|
||||
|
|
|
@ -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) {
|
||||
return LayoutInflater.from(getThemedContext(ctx, nightMode));
|
||||
}
|
||||
|
|
|
@ -804,8 +804,8 @@ public class MapActivity extends OsmandActionBarActivity implements DownloadEven
|
|||
|
||||
// for voice navigation
|
||||
ApplicationMode routingAppMode = getRoutingHelper().getAppMode();
|
||||
if (routingAppMode != null && settings.AUDIO_STREAM_GUIDANCE.getModeValue(routingAppMode) != null) {
|
||||
setVolumeControlStream(settings.AUDIO_STREAM_GUIDANCE.getModeValue(routingAppMode));
|
||||
if (routingAppMode != null && settings.AUDIO_MANAGER_STREAM.getModeValue(routingAppMode) != null) {
|
||||
setVolumeControlStream(settings.AUDIO_MANAGER_STREAM.getModeValue(routingAppMode));
|
||||
} else {
|
||||
setVolumeControlStream(AudioManager.STREAM_MUSIC);
|
||||
}
|
||||
|
|
|
@ -508,8 +508,14 @@ public class SavingTrackHelper extends SQLiteOpenHelper {
|
|||
}
|
||||
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);
|
||||
pt.name = name;
|
||||
pt.category = category;
|
||||
|
@ -517,6 +523,8 @@ public class SavingTrackHelper extends SQLiteOpenHelper {
|
|||
if (color != 0) {
|
||||
pt.setColor(color);
|
||||
}
|
||||
pt.setIconName(iconName);
|
||||
pt.setBackgroundType(backgroundName);
|
||||
ctx.getSelectedGpxHelper().addPoint(pt, currentTrack.getModifiableGpxFile());
|
||||
currentTrack.getModifiableGpxFile().modifiedTime = time;
|
||||
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) {
|
||||
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;
|
||||
|
||||
List<Object> params = new ArrayList<>();
|
||||
|
@ -586,6 +599,12 @@ public class SavingTrackHelper extends SQLiteOpenHelper {
|
|||
if (color != 0) {
|
||||
pt.setColor(color);
|
||||
}
|
||||
if (iconName != null) {
|
||||
pt.setIconName(iconName);
|
||||
}
|
||||
if (iconBackground != null) {
|
||||
pt.setBackgroundType(iconBackground);
|
||||
}
|
||||
}
|
||||
|
||||
public void deletePointData(WptPt pt) {
|
||||
|
|
|
@ -264,7 +264,7 @@ public class SettingsNavigationActivity extends SettingsBaseActivity {
|
|||
AudioManager.STREAM_NOTIFICATION, AudioManager.STREAM_VOICE_CALL};
|
||||
//AudioManager.USE_DEFAULT_STREAM_TYPE};
|
||||
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);
|
||||
final Preference.OnPreferenceChangeListener prev = lp.getOnPreferenceChangeListener();
|
||||
lp.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
|
||||
|
@ -274,11 +274,11 @@ public class SettingsNavigationActivity extends SettingsBaseActivity {
|
|||
prev.onPreferenceChange(preference, newValue);
|
||||
CommandPlayer player = getMyApplication().getPlayer();
|
||||
if (player != null) {
|
||||
player.updateAudioStream(settings.AUDIO_STREAM_GUIDANCE.get());
|
||||
player.updateAudioStream(settings.AUDIO_MANAGER_STREAM.get());
|
||||
}
|
||||
// Sync corresponding AUDIO_USAGE value
|
||||
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) {
|
||||
settings.AUDIO_USAGE.setModeValue(mode, AudioAttributes.USAGE_ASSISTANCE_NAVIGATION_GUIDANCE);
|
||||
} 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
|
||||
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));
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -1223,7 +1223,7 @@ public class AudioVideoNotesPlugin extends OsmandPlugin {
|
|||
|
||||
private void muteStreamMusicAndOutputGuidance() {
|
||||
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){
|
||||
am.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_MUTE, 0);
|
||||
if (voiceGuidanceOutput != AudioManager.STREAM_MUSIC)
|
||||
|
@ -1237,7 +1237,7 @@ public class AudioVideoNotesPlugin extends OsmandPlugin {
|
|||
|
||||
private void unmuteStreamMusicAndOutputGuidance() {
|
||||
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){
|
||||
am.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_UNMUTE, 0);
|
||||
if (voiceGuidanceOutput != AudioManager.STREAM_MUSIC)
|
||||
|
|
|
@ -8,7 +8,7 @@ import android.graphics.Canvas;
|
|||
import android.graphics.Color;
|
||||
import android.graphics.ColorFilter;
|
||||
import android.graphics.Paint;
|
||||
import android.graphics.Paint.Style;
|
||||
import android.graphics.PixelFormat;
|
||||
import android.graphics.PorterDuff;
|
||||
import android.graphics.PorterDuffColorFilter;
|
||||
import android.graphics.Rect;
|
||||
|
@ -18,8 +18,10 @@ import androidx.annotation.NonNull;
|
|||
|
||||
import net.osmand.GPXUtilities;
|
||||
import net.osmand.data.FavouritePoint;
|
||||
import net.osmand.data.FavouritePoint.BackgroundType;
|
||||
import net.osmand.plus.OsmandApplication;
|
||||
import net.osmand.plus.R;
|
||||
import net.osmand.plus.UiUtilities;
|
||||
|
||||
import java.util.TreeMap;
|
||||
|
||||
|
@ -29,16 +31,17 @@ public class FavoriteImageDrawable extends Drawable {
|
|||
private boolean synced;
|
||||
private boolean history;
|
||||
private Drawable favIcon;
|
||||
private Bitmap favBackground;
|
||||
private Bitmap favBackgroundTop;
|
||||
private Bitmap favBackgroundCenter;
|
||||
private Bitmap favBackgroundBottom;
|
||||
private Bitmap syncedStroke;
|
||||
private Bitmap syncedColor;
|
||||
private Bitmap syncedShadow;
|
||||
private Bitmap syncedIcon;
|
||||
private Drawable listDrawable;
|
||||
private Drawable uiListIcon;
|
||||
private Drawable uiBackgroundIcon;
|
||||
private Paint paintIcon = new Paint();
|
||||
private Paint paintBackground = new Paint();
|
||||
private Paint paintOuter = new Paint();
|
||||
private Paint paintInnerCircle = new Paint();
|
||||
private ColorFilter colorFilter;
|
||||
private ColorFilter grayFilter;
|
||||
|
||||
|
@ -46,27 +49,31 @@ public class FavoriteImageDrawable extends Drawable {
|
|||
this.withShadow = withShadow;
|
||||
this.synced = synced;
|
||||
Resources res = ctx.getResources();
|
||||
UiUtilities uiUtilities = ((OsmandApplication) ctx.getApplicationContext()).getUIUtilities();
|
||||
int overlayIconId = point != null ? point.getOverlayIconId() : 0;
|
||||
int uiIconId;
|
||||
if (overlayIconId != 0) {
|
||||
favIcon = ((OsmandApplication) ctx.getApplicationContext()).getUIUtilities()
|
||||
.getIcon(getMapIconId(ctx, overlayIconId), R.color.color_white);
|
||||
favIcon = uiUtilities.getIcon(getMapIconId(ctx, overlayIconId), R.color.color_white);
|
||||
uiIconId = overlayIconId;
|
||||
} else {
|
||||
favIcon = res.getDrawable(R.drawable.mm_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;
|
||||
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);
|
||||
syncedColor = BitmapFactory.decodeResource(res, R.drawable.map_shield_marker_point_color);
|
||||
syncedShadow = BitmapFactory.decodeResource(res, R.drawable.map_shield_marker_point_shadow);
|
||||
syncedIcon = BitmapFactory.decodeResource(res, R.drawable.map_marker_point_14dp);
|
||||
initSimplePaint(paintOuter, color == 0 || color == Color.BLACK ? 0x88555555 : color);
|
||||
initSimplePaint(paintInnerCircle, col);
|
||||
colorFilter = new PorterDuffColorFilter(col, PorterDuff.Mode.MULTIPLY);
|
||||
colorFilter = new PorterDuffColorFilter(col, PorterDuff.Mode.SRC_IN);
|
||||
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());
|
||||
}
|
||||
|
||||
private void initSimplePaint(Paint paint, int color) {
|
||||
paint.setAntiAlias(true);
|
||||
paint.setStyle(Style.FILL_AND_STROKE);
|
||||
paint.setColor(color);
|
||||
private int getMapBackgroundIconId(Context ctx, FavouritePoint point, String layer) {
|
||||
if (point != null) {
|
||||
int iconId = point.getBackgroundType().getIconId();
|
||||
String iconName = ctx.getResources().getResourceEntryName(iconId);
|
||||
return ctx.getResources().getIdentifier("map_" + iconName + "_" + layer
|
||||
, "drawable", ctx.getPackageName());
|
||||
}
|
||||
return R.drawable.map_white_favorite_shield;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onBoundsChange(Rect bounds) {
|
||||
super.onBoundsChange(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) {
|
||||
listDrawable.setBounds(bs);
|
||||
uiBackgroundIcon.setBounds(bounds);
|
||||
bs.inset(bs.width() / 5, bs.height() / 5);
|
||||
uiListIcon.setBounds(bs);
|
||||
} else if (withShadow) {
|
||||
bs.inset(bs.width() / 3, bs.height() / 3);
|
||||
favIcon.setBounds(bs);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getIntrinsicHeight() {
|
||||
return synced ? syncedShadow.getHeight() : favBackground.getHeight();
|
||||
return synced ? syncedShadow.getHeight() : favBackgroundCenter.getHeight();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getIntrinsicWidth() {
|
||||
return synced ? syncedShadow.getWidth() : favBackground.getWidth();
|
||||
return synced ? syncedShadow.getWidth() : favBackgroundCenter.getWidth();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -110,23 +122,26 @@ public class FavoriteImageDrawable extends Drawable {
|
|||
paintBackground.setColorFilter(history ? grayFilter : colorFilter);
|
||||
Rect bs = getBounds();
|
||||
if (synced) {
|
||||
canvas.drawBitmap(syncedShadow, bs.exactCenterX() - syncedShadow.getWidth() / 2f, bs.exactCenterY() - syncedShadow.getHeight() / 2f, paintBackground);
|
||||
canvas.drawBitmap(syncedColor, bs.exactCenterX() - syncedColor.getWidth() / 2f, bs.exactCenterY() - syncedColor.getHeight() / 2f, paintBackground);
|
||||
canvas.drawBitmap(syncedStroke, bs.exactCenterX() - syncedStroke.getWidth() / 2f, bs.exactCenterY() - syncedStroke.getHeight() / 2f, paintBackground);
|
||||
canvas.drawBitmap(syncedIcon, bs.exactCenterX() - syncedIcon.getWidth() / 2f, bs.exactCenterY() - syncedIcon.getHeight() / 2f, paintIcon);
|
||||
drawBitmap(canvas, bs, syncedShadow, paintBackground);
|
||||
drawBitmap(canvas, bs, syncedColor, paintBackground);
|
||||
drawBitmap(canvas, bs, syncedStroke, paintBackground);
|
||||
drawBitmap(canvas, bs, syncedIcon, paintIcon);
|
||||
} 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);
|
||||
} else {
|
||||
int min = Math.min(bs.width(), bs.height());
|
||||
int r = (min * 4 / 10);
|
||||
int rs = (r - 1);
|
||||
canvas.drawCircle(min / 2, min / 2, r, paintOuter);
|
||||
canvas.drawCircle(min / 2, min / 2, rs, paintInnerCircle);
|
||||
listDrawable.draw(canvas);
|
||||
uiBackgroundIcon.draw(canvas);
|
||||
uiListIcon.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) {
|
||||
this.history = history;
|
||||
float dx = x - getIntrinsicWidth() / 2f;
|
||||
|
@ -154,13 +169,14 @@ public class FavoriteImageDrawable extends Drawable {
|
|||
private static TreeMap<String, FavoriteImageDrawable> cache = new TreeMap<>();
|
||||
|
||||
private static FavoriteImageDrawable getOrCreate(Context ctx, int color, boolean withShadow, boolean synced, FavouritePoint point) {
|
||||
String iconName = "";
|
||||
String uniqueId = "";
|
||||
if (point != null) {
|
||||
iconName = point.getIconEntryName(ctx);
|
||||
uniqueId = point.getIconEntryName(ctx);
|
||||
uniqueId += point.getBackgroundType().name();
|
||||
}
|
||||
color = color | 0xff000000;
|
||||
int hash = (color << 4) + ((withShadow ? 1 : 0) << 2) + ((synced ? 3 : 0) << 2);
|
||||
String uniqueId = hash + iconName;
|
||||
uniqueId = hash + uniqueId;
|
||||
FavoriteImageDrawable drawable = cache.get(uniqueId);
|
||||
if (drawable == null) {
|
||||
drawable = new FavoriteImageDrawable(ctx, color, withShadow, synced, point);
|
||||
|
@ -191,6 +207,7 @@ public class FavoriteImageDrawable extends Drawable {
|
|||
if (pt != null) {
|
||||
point = new FavouritePoint(pt.getLatitude(), pt.getLongitude(), pt.name, pt.category);
|
||||
point.setIconIdFromName(a, pt.getIconName());
|
||||
point.setBackgroundType(BackgroundType.getByTypeName(pt.getBackgroundType(), BackgroundType.CIRCLE));
|
||||
}
|
||||
return point;
|
||||
}
|
||||
|
|
|
@ -406,23 +406,23 @@ public class MapViewTrackingUtilities implements OsmAndLocationListener, IMapLoc
|
|||
}
|
||||
|
||||
public void switchRotateMapMode(){
|
||||
String rotMode = app.getString(R.string.rotate_map_none_opt);
|
||||
if (settings.ROTATE_MAP.get() == OsmandSettings.ROTATE_MAP_NONE && mapView.getRotate() != 0) {
|
||||
// reset manual rotation
|
||||
} else {
|
||||
int vl = (settings.ROTATE_MAP.get() + 1) % 3;
|
||||
settings.ROTATE_MAP.set(vl);
|
||||
if (mapView != null) {
|
||||
String rotMode = app.getString(R.string.rotate_map_none_opt);
|
||||
if (settings.ROTATE_MAP.get() == OsmandSettings.ROTATE_MAP_NONE && mapView.getRotate() != 0) {
|
||||
// reset manual rotation
|
||||
} else {
|
||||
int vl = (settings.ROTATE_MAP.get() + 1) % 3;
|
||||
settings.ROTATE_MAP.set(vl);
|
||||
|
||||
if (settings.ROTATE_MAP.get() == OsmandSettings.ROTATE_MAP_BEARING) {
|
||||
rotMode = app.getString(R.string.rotate_map_bearing_opt);
|
||||
} else if (settings.ROTATE_MAP.get() == OsmandSettings.ROTATE_MAP_COMPASS) {
|
||||
rotMode = app.getString(R.string.rotate_map_compass_opt);
|
||||
if (settings.ROTATE_MAP.get() == OsmandSettings.ROTATE_MAP_BEARING) {
|
||||
rotMode = app.getString(R.string.rotate_map_bearing_opt);
|
||||
} 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_to_bearing) + ":\n" + rotMode;
|
||||
app.showShortToastMessage(rotMode);
|
||||
updateSettings();
|
||||
if(mapView != null) {
|
||||
rotMode = app.getString(R.string.rotate_map_to_bearing) + ":\n" + rotMode;
|
||||
app.showShortToastMessage(rotMode);
|
||||
updateSettings();
|
||||
mapView.refreshMap();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -125,14 +125,14 @@ public class TestVoiceActivity extends OsmandActionBarActivity {
|
|||
String v ="";
|
||||
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";
|
||||
} 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";
|
||||
} 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";
|
||||
} 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;
|
||||
|
@ -141,7 +141,7 @@ public class TestVoiceActivity extends OsmandActionBarActivity {
|
|||
v += "\n \u25CF TTS voice language availability: " + TTSCommandPlayerImpl.getTtsVoiceStatus();
|
||||
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;
|
||||
} else {
|
||||
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();
|
||||
}
|
||||
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) {
|
||||
((OsmandApplication) getApplication()).getSettings().BT_SCO_DELAY.set(1500);
|
||||
} else if (((OsmandApplication) getApplication()).getSettings().BT_SCO_DELAY.get() == 1500) {
|
||||
|
|
|
@ -15,6 +15,8 @@ import android.widget.ArrayAdapter;
|
|||
import android.widget.Spinner;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.ColorRes;
|
||||
|
||||
import net.osmand.plus.OsmandApplication;
|
||||
import net.osmand.plus.R;
|
||||
|
||||
|
@ -243,6 +245,17 @@ public class ColorDialogs {
|
|||
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) {
|
||||
Resources r = activity.getResources();
|
||||
return (int) TypedValue.applyDimension(
|
||||
|
|
|
@ -1287,7 +1287,7 @@ public class MapContextMenuFragment extends BaseOsmAndFragment implements Downlo
|
|||
int iconId = menu.getRightIconId();
|
||||
int sizeId = menu.isBigRightIcon() ? R.dimen.context_menu_big_icon_size : R.dimen.map_widget_icon;
|
||||
if (menu.getPointDescription().isFavorite() || menu.getPointDescription().isWpt()) {
|
||||
sizeId = R.dimen.dialog_button_height;
|
||||
sizeId = R.dimen.favorites_icon_size;
|
||||
}
|
||||
int iconViewSize = getResources().getDimensionPixelSize(sizeId);
|
||||
ViewGroup.LayoutParams params = iconView.getLayoutParams();
|
||||
|
|
|
@ -19,6 +19,7 @@ import net.osmand.plus.mapcontextmenu.MenuController;
|
|||
import net.osmand.plus.mapcontextmenu.builders.FavouritePointMenuBuilder;
|
||||
import net.osmand.plus.mapcontextmenu.editors.FavoritePointEditor;
|
||||
import net.osmand.plus.mapcontextmenu.editors.FavoritePointEditorFragment;
|
||||
import net.osmand.plus.mapcontextmenu.editors.FavoritePointEditorFragmentNew;
|
||||
import net.osmand.plus.transport.TransportStopRoute;
|
||||
import net.osmand.util.OpeningHoursParser;
|
||||
|
||||
|
@ -92,7 +93,13 @@ public class FavouritePointMenuController extends MenuController {
|
|||
if (mapActivity != null) {
|
||||
Fragment fragment = mapActivity.getSupportFragmentManager().findFragmentByTag(FavoritePointEditor.TAG);
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -40,7 +40,7 @@ public class FavoritePointEditor extends PointEditor {
|
|||
favorite = new FavouritePoint(latLon.getLatitude(), latLon.getLongitude(), title, lastCategory);
|
||||
favorite.setDescription("");
|
||||
favorite.setOriginObjectName(originObjectName);
|
||||
FavoritePointEditorFragment.showInstance(mapActivity);
|
||||
FavoritePointEditorFragmentNew.showInstance(mapActivity);
|
||||
}
|
||||
|
||||
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.setOriginObjectName(originObjectName);
|
||||
|
||||
FavoritePointEditorFragment.showAutoFillInstance(mapActivity, autoFill);
|
||||
FavoritePointEditorFragmentNew.showAutoFillInstance(mapActivity, autoFill);
|
||||
}
|
||||
|
||||
public void edit(FavouritePoint favorite) {
|
||||
|
@ -73,6 +73,6 @@ public class FavoritePointEditor extends PointEditor {
|
|||
}
|
||||
isNew = false;
|
||||
this.favorite = favorite;
|
||||
FavoritePointEditorFragment.showInstance(mapActivity);
|
||||
FavoritePointEditorFragmentNew.showInstance(mapActivity);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -93,16 +93,7 @@ public class FavoritePointEditorFragment extends PointEditorFragment {
|
|||
@Override
|
||||
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
|
@ -90,8 +90,13 @@ public abstract class PointEditor {
|
|||
if (mapActivity != null) {
|
||||
Fragment fragment = mapActivity.getSupportFragmentManager().findFragmentByTag(getFragmentTag());
|
||||
if (fragment != null) {
|
||||
PointEditorFragment editorFragment = (PointEditorFragment) fragment;
|
||||
editorFragment.setCategory(name, color);
|
||||
if (fragment instanceof PointEditorFragment) {
|
||||
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
Loading…
Reference in a new issue