diff --git a/OsmAnd-java/src/test/resources/search/double_parking.json b/OsmAnd-java/src/test/resources/search/double_parking.json
index 0c23cebe3d..46abccb8d1 100644
--- a/OsmAnd-java/src/test/resources/search/double_parking.json
+++ b/OsmAnd-java/src/test/resources/search/double_parking.json
@@ -17,6 +17,7 @@
"Parking fee: no (Charging station / Transportation)",
"Parking fee: yes (Charging station / Transportation)",
"Parking lot (Fire hydrant / Emergency infrastructure)",
+ "Parking space (Personal transport)",
"Parking tickets (Vending machine / Store)",
"Parking tickets (Vending machine / Store)",
"Parking time limit (Parking / Personal transport)",
diff --git a/OsmAnd-telegram/res/values-be/strings.xml b/OsmAnd-telegram/res/values-be/strings.xml
index aee4fa36e6..50a258549d 100644
--- a/OsmAnd-telegram/res/values-be/strings.xml
+++ b/OsmAnd-telegram/res/values-be/strings.xml
@@ -260,4 +260,7 @@
Адзінка вымярэння хуткасці
Максімальны час захоўвання пунктаў у буферы
Час дзеяння буферу
+ Прапанавана
+ Статус OsmAnd Tracker
+ Вярнуцца ў OsmAnd
\ No newline at end of file
diff --git a/OsmAnd-telegram/res/values-da/strings.xml b/OsmAnd-telegram/res/values-da/strings.xml
index 5c94226b92..91d5d8b8f3 100644
--- a/OsmAnd-telegram/res/values-da/strings.xml
+++ b/OsmAnd-telegram/res/values-da/strings.xml
@@ -259,4 +259,8 @@
Hastighed
Maksimal tid til lagring af punkter i bufferen
Buffer udløbstid
+ Ændr enhed for afstand.
+ Foreslået
+ OsmAnd Tracker-status
+ Tilbage til OsmAnd
\ No newline at end of file
diff --git a/OsmAnd-telegram/res/values-nb/strings.xml b/OsmAnd-telegram/res/values-nb/strings.xml
index 349645f23f..fa16894ecb 100644
--- a/OsmAnd-telegram/res/values-nb/strings.xml
+++ b/OsmAnd-telegram/res/values-nb/strings.xml
@@ -237,7 +237,7 @@
Personvern
Velg
Minste loggingsavstand
- Filter: Minimumsdistanse til neste loggingspunkt
+ Filter: Minimumsavstand for logging av nytt punkt
Minimumsnøyaktighet for logging
Filter: Ingen logging med mindre nøyaktigheten nås
Minimumshastighet ved logging
@@ -262,4 +262,5 @@
Utløpstid for mellomlager
Foreslått
OsmAnd-sporerstatus
+ Tilbake til OsmAnd
\ No newline at end of file
diff --git a/OsmAnd-telegram/res/values-pl/strings.xml b/OsmAnd-telegram/res/values-pl/strings.xml
index 520712150f..04784f2bdf 100644
--- a/OsmAnd-telegram/res/values-pl/strings.xml
+++ b/OsmAnd-telegram/res/values-pl/strings.xml
@@ -260,4 +260,7 @@
Maksymalny czas przechowywania punktów w buforze
Czas ważności bufora
Wybierz strefę czasową, która ma być wyświetlana w wiadomościach o Twojej lokalizacji.
+ Proponowane
+ Stan modułu śledzącego OsmAnd
+ Wróć do OsmAnd
\ No newline at end of file
diff --git a/OsmAnd-telegram/res/values-pt/strings.xml b/OsmAnd-telegram/res/values-pt/strings.xml
index 767f63be9c..71f9006403 100644
--- a/OsmAnd-telegram/res/values-pt/strings.xml
+++ b/OsmAnd-telegram/res/values-pt/strings.xml
@@ -259,4 +259,7 @@
Unidade de velocidade
Tempo máximo para armazenar pontos no buffer
Tempo de expiração do buffer
+ Sugerido
+ Estado do Rastreador de OsmAnd
+ Voltar para OsmAnd
\ No newline at end of file
diff --git a/OsmAnd-telegram/res/values-sc/strings.xml b/OsmAnd-telegram/res/values-sc/strings.xml
index d81aecb0bc..5198a5c437 100644
--- a/OsmAnd-telegram/res/values-sc/strings.xml
+++ b/OsmAnd-telegram/res/values-sc/strings.xml
@@ -261,4 +261,5 @@
Tempus de iscadidura de sa memòria tampone
Cunsigiadu
Istadu de s\'arrastadore de OsmAnd
+ Torra a OsmAnd
\ No newline at end of file
diff --git a/OsmAnd-telegram/src/net/osmand/telegram/TelegramService.kt b/OsmAnd-telegram/src/net/osmand/telegram/TelegramService.kt
index 4915133e42..4b76c21fda 100644
--- a/OsmAnd-telegram/src/net/osmand/telegram/TelegramService.kt
+++ b/OsmAnd-telegram/src/net/osmand/telegram/TelegramService.kt
@@ -245,6 +245,8 @@ class TelegramService : Service(), LocationListener, TelegramIncomingMessagesLis
oldestTime = -1
}
app().showLocationHelper.addOrUpdateStatusWidget(oldestTime, isSending)
+ } else {
+ app().showLocationHelper.addOrUpdateStatusWidget(-1, false)
}
startWidgetUpdates()
}, UPDATE_WIDGET_INTERVAL_MS)
diff --git a/OsmAnd-telegram/src/net/osmand/telegram/TelegramSettings.kt b/OsmAnd-telegram/src/net/osmand/telegram/TelegramSettings.kt
index 227215c03c..5ed8aea183 100644
--- a/OsmAnd-telegram/src/net/osmand/telegram/TelegramSettings.kt
+++ b/OsmAnd-telegram/src/net/osmand/telegram/TelegramSettings.kt
@@ -851,22 +851,7 @@ class TelegramSettings(private val app: TelegramApplication) {
lastChatsInfo.forEach { lastInfo ->
val obj = JSONObject()
obj.put(LastChatInfo.CHAT_ID_KEY, lastInfo.chatId)
- obj.put(LastChatInfo.PERIODS_KEY, convertPeriodsToJson(lastInfo.periods))
- jArray.put(obj)
- }
- jArray
- } catch (e: JSONException) {
- log.error(e)
- null
- }
- }
-
- private fun convertPeriodsToJson(periods: LinkedList): JSONArray? {
- return try {
- val jArray = JSONArray()
- for (i in 0 until periods.count()) {
- val obj = JSONObject()
- obj.put(i.toString(), periods[i])
+ obj.put(LastChatInfo.PERIOD_KEY, lastInfo.period)
jArray.put(obj)
}
jArray
@@ -947,12 +932,7 @@ class TelegramSettings(private val app: TelegramApplication) {
val obj = json.getJSONObject(i)
val lastInfo = LastChatInfo().apply {
chatId = obj.optLong(LastChatInfo.CHAT_ID_KEY)
- periods = LinkedList()
- val jsonArray = obj.getJSONArray(LastChatInfo.PERIODS_KEY)
- for (j in 0 until jsonArray.length()) {
- val o = jsonArray.get(j) as JSONObject
- periods.addLast(o.optLong(j.toString()))
- }
+ period = obj.optLong(LastChatInfo.PERIOD_KEY)
}
lastChatsInfo.addLast(lastInfo)
}
@@ -964,16 +944,14 @@ class TelegramSettings(private val app: TelegramApplication) {
addItemToSuggested(id, time)
} else {
val index = lastChatsInfo.indexOf(lastInfo)
- lastChatsInfo[index].periods = addTimeToPeriods(lastChatsInfo[index].periods, time)
+ lastChatsInfo[index].period = time
}
}
private fun addItemToSuggested(id: Long, time: Long) {
val newLastInfo = LastChatInfo().apply {
chatId = id
- periods = LinkedList().apply {
- addFirst(time)
- }
+ period = time
}
if (lastChatsInfo.size < 5) {
lastChatsInfo.addFirst(newLastInfo)
@@ -983,30 +961,6 @@ class TelegramSettings(private val app: TelegramApplication) {
}
}
- private fun addTimeToPeriods(periods: LinkedList?, time: Long): LinkedList {
- if (periods?.isNotEmpty() != null) {
- return if (periods.size < 5) {
- periods.addFirst(time)
- periods
- } else {
- periods.removeLast()
- periods.addFirst(time)
- periods
- }
- }
- return LinkedList().apply { addFirst(time) }
- }
-
- fun calcLivePeriod(periods: LinkedList): Long {
- val sortedPeriods = periods.toLongArray()
- sortedPeriods.sort()
- return if (sortedPeriods.size % 2 == 0) {
- (sortedPeriods[sortedPeriods.size / 2] + sortedPeriods[sortedPeriods.size / 2 - 1]) / 2
- } else {
- sortedPeriods[sortedPeriods.size / 2]
- }
- }
-
private fun getLiveNowChats() = app.telegramHelper.getMessagesByChatIds(locHistoryTime).keys
private fun updatePrefs() {
@@ -1512,11 +1466,11 @@ class TelegramSettings(private val app: TelegramApplication) {
class LastChatInfo {
var chatId = -1L
- var periods = LinkedList()
+ var period = -1L
companion object {
internal const val CHAT_ID_KEY = "chatId"
- internal const val PERIODS_KEY = "periods"
+ internal const val PERIOD_KEY = "period"
}
}
}
diff --git a/OsmAnd-telegram/src/net/osmand/telegram/ui/MyLocationTabFragment.kt b/OsmAnd-telegram/src/net/osmand/telegram/ui/MyLocationTabFragment.kt
index 154116af0b..fab7f1db77 100644
--- a/OsmAnd-telegram/src/net/osmand/telegram/ui/MyLocationTabFragment.kt
+++ b/OsmAnd-telegram/src/net/osmand/telegram/ui/MyLocationTabFragment.kt
@@ -580,7 +580,7 @@ class MyLocationTabFragment : Fragment(), TelegramListener {
val lastInfo = lastChatsInfo.find { it.chatId == chatId }
if (chat != null && lastInfo != null) {
val index = lastChatsInfo.indexOf(lastInfo)
- lastItems.add(LastChat(chat, settings.calcLivePeriod(lastChatsInfo[index].periods)))
+ lastItems.add(LastChat(chat, lastChatsInfo[index].period))
}
}
return lastItems
diff --git a/OsmAnd/res/drawable-hdpi/map_action_openstreetmap_logo.png b/OsmAnd/res/drawable-hdpi/map_action_openstreetmap_logo.png
new file mode 100644
index 0000000000..a1a2c1b061
Binary files /dev/null and b/OsmAnd/res/drawable-hdpi/map_action_openstreetmap_logo.png differ
diff --git a/OsmAnd/res/drawable-hdpi/map_action_world_globe.png b/OsmAnd/res/drawable-hdpi/map_action_world_globe.png
new file mode 100644
index 0000000000..6ad36c2b3a
Binary files /dev/null and b/OsmAnd/res/drawable-hdpi/map_action_world_globe.png differ
diff --git a/OsmAnd/res/drawable-hdpi/map_bicycle_location_center.png b/OsmAnd/res/drawable-hdpi/map_bicycle_location_center.png
index 189087522d..fa9db76c80 100644
Binary files a/OsmAnd/res/drawable-hdpi/map_bicycle_location_center.png and b/OsmAnd/res/drawable-hdpi/map_bicycle_location_center.png differ
diff --git a/OsmAnd/res/drawable-hdpi/map_car_bearing_center.png b/OsmAnd/res/drawable-hdpi/map_car_bearing_center.png
index a64378bdf4..eee499e1f4 100644
Binary files a/OsmAnd/res/drawable-hdpi/map_car_bearing_center.png and b/OsmAnd/res/drawable-hdpi/map_car_bearing_center.png differ
diff --git a/OsmAnd/res/drawable-hdpi/map_car_location_center.png b/OsmAnd/res/drawable-hdpi/map_car_location_center.png
index 6bcc605ba3..3fe4224e0c 100644
Binary files a/OsmAnd/res/drawable-hdpi/map_car_location_center.png and b/OsmAnd/res/drawable-hdpi/map_car_location_center.png differ
diff --git a/OsmAnd/res/drawable-hdpi/map_default_location_center.png b/OsmAnd/res/drawable-hdpi/map_default_location_center.png
index e0d6878129..d982b5ba2a 100644
Binary files a/OsmAnd/res/drawable-hdpi/map_default_location_center.png and b/OsmAnd/res/drawable-hdpi/map_default_location_center.png differ
diff --git a/OsmAnd/res/drawable-hdpi/map_nautical_bearing_center.png b/OsmAnd/res/drawable-hdpi/map_nautical_bearing_center.png
index 9e9d79e0c2..3b3ed315cd 100644
Binary files a/OsmAnd/res/drawable-hdpi/map_nautical_bearing_center.png and b/OsmAnd/res/drawable-hdpi/map_nautical_bearing_center.png differ
diff --git a/OsmAnd/res/drawable-mdpi/map_action_openstreetmap_logo.png b/OsmAnd/res/drawable-mdpi/map_action_openstreetmap_logo.png
new file mode 100644
index 0000000000..8283adb943
Binary files /dev/null and b/OsmAnd/res/drawable-mdpi/map_action_openstreetmap_logo.png differ
diff --git a/OsmAnd/res/drawable-mdpi/map_action_world_globe.png b/OsmAnd/res/drawable-mdpi/map_action_world_globe.png
new file mode 100644
index 0000000000..f12948b7a8
Binary files /dev/null and b/OsmAnd/res/drawable-mdpi/map_action_world_globe.png differ
diff --git a/OsmAnd/res/drawable-mdpi/map_bicycle_location_center.png b/OsmAnd/res/drawable-mdpi/map_bicycle_location_center.png
index ef8f08ae14..57816a9e49 100644
Binary files a/OsmAnd/res/drawable-mdpi/map_bicycle_location_center.png and b/OsmAnd/res/drawable-mdpi/map_bicycle_location_center.png differ
diff --git a/OsmAnd/res/drawable-mdpi/map_car_bearing_center.png b/OsmAnd/res/drawable-mdpi/map_car_bearing_center.png
index 26eaaa57db..3c3b8dc658 100644
Binary files a/OsmAnd/res/drawable-mdpi/map_car_bearing_center.png and b/OsmAnd/res/drawable-mdpi/map_car_bearing_center.png differ
diff --git a/OsmAnd/res/drawable-mdpi/map_car_location_center.png b/OsmAnd/res/drawable-mdpi/map_car_location_center.png
index 7dea360749..ca9151546b 100644
Binary files a/OsmAnd/res/drawable-mdpi/map_car_location_center.png and b/OsmAnd/res/drawable-mdpi/map_car_location_center.png differ
diff --git a/OsmAnd/res/drawable-mdpi/map_default_location_center.png b/OsmAnd/res/drawable-mdpi/map_default_location_center.png
index 63066b1c98..54dbb300ad 100644
Binary files a/OsmAnd/res/drawable-mdpi/map_default_location_center.png and b/OsmAnd/res/drawable-mdpi/map_default_location_center.png differ
diff --git a/OsmAnd/res/drawable-mdpi/map_nautical_bearing_center.png b/OsmAnd/res/drawable-mdpi/map_nautical_bearing_center.png
index 6e31e68016..7153af9cc4 100644
Binary files a/OsmAnd/res/drawable-mdpi/map_nautical_bearing_center.png and b/OsmAnd/res/drawable-mdpi/map_nautical_bearing_center.png differ
diff --git a/OsmAnd/res/drawable-xhdpi/map_action_openstreetmap_logo.png b/OsmAnd/res/drawable-xhdpi/map_action_openstreetmap_logo.png
new file mode 100644
index 0000000000..5556cf200f
Binary files /dev/null and b/OsmAnd/res/drawable-xhdpi/map_action_openstreetmap_logo.png differ
diff --git a/OsmAnd/res/drawable-xhdpi/map_action_world_globe.png b/OsmAnd/res/drawable-xhdpi/map_action_world_globe.png
new file mode 100644
index 0000000000..5b2b24f48a
Binary files /dev/null and b/OsmAnd/res/drawable-xhdpi/map_action_world_globe.png differ
diff --git a/OsmAnd/res/drawable-xhdpi/map_bicycle_location_center.png b/OsmAnd/res/drawable-xhdpi/map_bicycle_location_center.png
index 09eceefe2a..bfc3321bbd 100644
Binary files a/OsmAnd/res/drawable-xhdpi/map_bicycle_location_center.png and b/OsmAnd/res/drawable-xhdpi/map_bicycle_location_center.png differ
diff --git a/OsmAnd/res/drawable-xhdpi/map_car_bearing_center.png b/OsmAnd/res/drawable-xhdpi/map_car_bearing_center.png
index 906ec0426d..87b2d06397 100644
Binary files a/OsmAnd/res/drawable-xhdpi/map_car_bearing_center.png and b/OsmAnd/res/drawable-xhdpi/map_car_bearing_center.png differ
diff --git a/OsmAnd/res/drawable-xhdpi/map_car_location_center.png b/OsmAnd/res/drawable-xhdpi/map_car_location_center.png
index a6e3ea1a9f..4202db3ab5 100644
Binary files a/OsmAnd/res/drawable-xhdpi/map_car_location_center.png and b/OsmAnd/res/drawable-xhdpi/map_car_location_center.png differ
diff --git a/OsmAnd/res/drawable-xhdpi/map_default_location_center.png b/OsmAnd/res/drawable-xhdpi/map_default_location_center.png
index 4367f4c64f..ea47d0986d 100644
Binary files a/OsmAnd/res/drawable-xhdpi/map_default_location_center.png and b/OsmAnd/res/drawable-xhdpi/map_default_location_center.png differ
diff --git a/OsmAnd/res/drawable-xhdpi/map_nautical_bearing_center.png b/OsmAnd/res/drawable-xhdpi/map_nautical_bearing_center.png
index ebcfa3dcec..b87c219533 100644
Binary files a/OsmAnd/res/drawable-xhdpi/map_nautical_bearing_center.png and b/OsmAnd/res/drawable-xhdpi/map_nautical_bearing_center.png differ
diff --git a/OsmAnd/res/drawable-xxhdpi/map_action_openstreetmap_logo.png b/OsmAnd/res/drawable-xxhdpi/map_action_openstreetmap_logo.png
new file mode 100644
index 0000000000..11213d2703
Binary files /dev/null and b/OsmAnd/res/drawable-xxhdpi/map_action_openstreetmap_logo.png differ
diff --git a/OsmAnd/res/drawable-xxhdpi/map_action_world_globe.png b/OsmAnd/res/drawable-xxhdpi/map_action_world_globe.png
new file mode 100644
index 0000000000..3a8107e477
Binary files /dev/null and b/OsmAnd/res/drawable-xxhdpi/map_action_world_globe.png differ
diff --git a/OsmAnd/res/drawable-xxhdpi/map_bicycle_location_center.png b/OsmAnd/res/drawable-xxhdpi/map_bicycle_location_center.png
index 2f34bb4cf4..0713820cb4 100644
Binary files a/OsmAnd/res/drawable-xxhdpi/map_bicycle_location_center.png and b/OsmAnd/res/drawable-xxhdpi/map_bicycle_location_center.png differ
diff --git a/OsmAnd/res/drawable-xxhdpi/map_car_bearing_center.png b/OsmAnd/res/drawable-xxhdpi/map_car_bearing_center.png
index 2e4bd781b7..00a5038623 100644
Binary files a/OsmAnd/res/drawable-xxhdpi/map_car_bearing_center.png and b/OsmAnd/res/drawable-xxhdpi/map_car_bearing_center.png differ
diff --git a/OsmAnd/res/drawable-xxhdpi/map_car_location_center.png b/OsmAnd/res/drawable-xxhdpi/map_car_location_center.png
index 5c51d05a34..6f30e3a987 100644
Binary files a/OsmAnd/res/drawable-xxhdpi/map_car_location_center.png and b/OsmAnd/res/drawable-xxhdpi/map_car_location_center.png differ
diff --git a/OsmAnd/res/drawable-xxhdpi/map_default_location_center.png b/OsmAnd/res/drawable-xxhdpi/map_default_location_center.png
index bb91309b8e..248c07554d 100644
Binary files a/OsmAnd/res/drawable-xxhdpi/map_default_location_center.png and b/OsmAnd/res/drawable-xxhdpi/map_default_location_center.png differ
diff --git a/OsmAnd/res/drawable-xxhdpi/map_nautical_bearing_center.png b/OsmAnd/res/drawable-xxhdpi/map_nautical_bearing_center.png
index 44c5ce44d8..5a1ecfd8ab 100644
Binary files a/OsmAnd/res/drawable-xxhdpi/map_nautical_bearing_center.png and b/OsmAnd/res/drawable-xxhdpi/map_nautical_bearing_center.png differ
diff --git a/OsmAnd/res/drawable-xxxhdpi/map_action_openstreetmap_logo.png b/OsmAnd/res/drawable-xxxhdpi/map_action_openstreetmap_logo.png
new file mode 100644
index 0000000000..a839fa92e6
Binary files /dev/null and b/OsmAnd/res/drawable-xxxhdpi/map_action_openstreetmap_logo.png differ
diff --git a/OsmAnd/res/drawable-xxxhdpi/map_action_world_globe.png b/OsmAnd/res/drawable-xxxhdpi/map_action_world_globe.png
new file mode 100644
index 0000000000..1f121a8240
Binary files /dev/null and b/OsmAnd/res/drawable-xxxhdpi/map_action_world_globe.png differ
diff --git a/OsmAnd/res/drawable-xxxhdpi/map_bicycle_location_center.png b/OsmAnd/res/drawable-xxxhdpi/map_bicycle_location_center.png
index 18cf1d50bd..e7677b9c69 100644
Binary files a/OsmAnd/res/drawable-xxxhdpi/map_bicycle_location_center.png and b/OsmAnd/res/drawable-xxxhdpi/map_bicycle_location_center.png differ
diff --git a/OsmAnd/res/drawable-xxxhdpi/map_car_bearing_center.png b/OsmAnd/res/drawable-xxxhdpi/map_car_bearing_center.png
index be0332383f..abd9a13037 100644
Binary files a/OsmAnd/res/drawable-xxxhdpi/map_car_bearing_center.png and b/OsmAnd/res/drawable-xxxhdpi/map_car_bearing_center.png differ
diff --git a/OsmAnd/res/drawable-xxxhdpi/map_car_location_center.png b/OsmAnd/res/drawable-xxxhdpi/map_car_location_center.png
index 70fe9f45a0..d723f1b709 100644
Binary files a/OsmAnd/res/drawable-xxxhdpi/map_car_location_center.png and b/OsmAnd/res/drawable-xxxhdpi/map_car_location_center.png differ
diff --git a/OsmAnd/res/drawable-xxxhdpi/map_default_location_center.png b/OsmAnd/res/drawable-xxxhdpi/map_default_location_center.png
index 5f247463bc..29f37937df 100644
Binary files a/OsmAnd/res/drawable-xxxhdpi/map_default_location_center.png and b/OsmAnd/res/drawable-xxxhdpi/map_default_location_center.png differ
diff --git a/OsmAnd/res/drawable-xxxhdpi/map_nautical_bearing_center.png b/OsmAnd/res/drawable-xxxhdpi/map_nautical_bearing_center.png
index 54fd3a255c..9e059e7a15 100644
Binary files a/OsmAnd/res/drawable-xxxhdpi/map_nautical_bearing_center.png and b/OsmAnd/res/drawable-xxxhdpi/map_nautical_bearing_center.png differ
diff --git a/OsmAnd/res/layout/close_measurement_tool_dialog.xml b/OsmAnd/res/layout/close_measurement_tool_dialog.xml
index 66d2b6fa42..a115022164 100644
--- a/OsmAnd/res/layout/close_measurement_tool_dialog.xml
+++ b/OsmAnd/res/layout/close_measurement_tool_dialog.xml
@@ -10,6 +10,9 @@
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
+ android:textColor="?android:textColorPrimary"
+ android:layout_marginLeft="@dimen/content_padding_small"
+ android:layout_marginStart="@dimen/content_padding_small"
android:text="@string/keep_showing_on_map"/>
diff --git a/OsmAnd/res/layout/show_dashboard_on_start_dialog_item.xml b/OsmAnd/res/layout/show_dashboard_on_start_dialog_item.xml
index fdc43a96db..0c5a467c10 100644
--- a/OsmAnd/res/layout/show_dashboard_on_start_dialog_item.xml
+++ b/OsmAnd/res/layout/show_dashboard_on_start_dialog_item.xml
@@ -2,6 +2,7 @@
diff --git a/OsmAnd/res/layout/waypoint_reached.xml b/OsmAnd/res/layout/waypoint_reached.xml
index 873a1441a8..f9519ca4be 100644
--- a/OsmAnd/res/layout/waypoint_reached.xml
+++ b/OsmAnd/res/layout/waypoint_reached.xml
@@ -48,7 +48,7 @@
android:layout_gravity="center_vertical"
android:ellipsize="end"
android:maxLines="2"
- android:textColor="?android:textColorSecondary"
+ android:textColor="?android:textColorPrimary"
android:textSize="@dimen/default_list_text_size"
tools:text="Some waypoint text"/>
diff --git a/OsmAnd/res/values-ar/strings.xml b/OsmAnd/res/values-ar/strings.xml
index d7802ba7ce..a55120758a 100644
--- a/OsmAnd/res/values-ar/strings.xml
+++ b/OsmAnd/res/values-ar/strings.xml
@@ -1965,7 +1965,7 @@
\n
\nهذه الرؤية يمكن التراجع عنها إما عن طريق تعطيلها هنا، أو تغيير \'نمط الخريطة\' في \'ضبط الخريطة\' حسب الرغبة.
- على الانترنت OSM تصنيف الخريطة مع الصور.
+ Online OSM تصنيف الخريطة مع الصور.
تعيين الحد الأقصى لوقت الانتظار لكل إصلاح موقع في الخلفية.
الانتظار الأقصى للإصلاح
إصدار غير معتمد من البيانات الصوتية
@@ -3335,4 +3335,9 @@
اختر الايقونة واللون والاسم
تحرير قائمة ملفات التعريف
الملف الشخصي المحدد
+ بالضغط على %1$s، ستفقد كل تغييراتك.
+ سيتم إعادة ضبط جميع إعدادات البروفايل إلى الحالة بعد التثبيت.
+ إعادة تعيين جميع إعدادات البروفايل إلى الوضع الافتراضي؟
+ %2$s %1$s
+ %2$s :%1$s
\ No newline at end of file
diff --git a/OsmAnd/res/values-be/strings.xml b/OsmAnd/res/values-be/strings.xml
index 7dae5c956e..b19bce1b0c 100644
--- a/OsmAnd/res/values-be/strings.xml
+++ b/OsmAnd/res/values-be/strings.xml
@@ -68,7 +68,7 @@
Пункт
Назва файла GPX
GPX-файл захаваны ў {0}
- Убудова дадае на экран мапы віджэт, які дазваляе ствараць маршруты, націснуйшы на мапу, а таксама выкарыстоўваць ці змяняць наяўныя файлы GPX, планаваць паездку і вымяраць адлегласць паміж пунктамі. Вынікі могуць быць захаваныя ў выглядзе файла GPX, які пасля можа быць выкарыстаны для навігацыі.
+ Убудова дадае на мапу віджэт, які дазваляе ствараць маршруты, націснуйшы на мапу, а таксама выкарыстоўваць ці змяняць наяўныя файлы GPX, планаваць паездку і вымяраць адлегласць паміж пунктамі. Вынікі могуць быць захаваныя ў выглядзе файла GPX, які пасля можа быць выкарыстаны для навігацыі.
Прылада для разліку адлегласцяў і плянавання
* Націсніце, каб адзначыць пункт.
\n * Доўга ўтрымлівайце на мапе, каб выдаліць папярэдні пункт.
@@ -97,14 +97,14 @@
Вэб-сайт
Тэлефон
Запіс падарожжа
- Налады запісу вашых падарожжаў.
+ Наладзьце запіс вашых паездак.
Паказвае налады ўключэння фонавага адсочвання і навігацыі праз перыядычнае абуджэнне GPS прылады (з выключаным экранам).
Усталёўка версіі
Абраць выгляд дадатку.
Выгляд
Налады адмысловых магчымасцяў
Абраць адрас
- Абярыце ўлюбёнае
+ Абярыце ўлюбёную мясціну
Мадыфікацыі OSM
Слой рэльефу мясцовасці
Інфармацыя GPS
@@ -117,7 +117,7 @@
няма
OpenMaps Еўропа
Пласт з рэльефам мясцовасці
- Ізалініі вышынь
+ Контурныя лініі
Аўдыё/відэа даныя
Сапраўды спыніць навігацыю?
Сапраўды выдаліць пункт прызначэння (і прамежкавыя пункты)\?
@@ -131,7 +131,7 @@
Убудова Dropbox
Змяніць парадак
Калі ласка, падумайце пра набыццё ўбудовы «Contour lines» для падтрымкі далейшай распрацоўкі.
- Убудова Ізалініі вышынь
+ Убудова контурных ліній
Выбар па запыце
Запіс відэа
Запіс аўдыё
@@ -165,14 +165,14 @@
Вымярэнне адлегласці
Месцазнаходжанне для прывязкі нататкі пакуль яшчэ не вызначылася. «Выкарыстаць месцазнаходжанне…» для запісу нататкі ў абраным месцы.
Аўдыянататкі
- Убудова для стварэння аўдыё/відэа нататак падчас падарожжаў, з дапамогай кнопкі на экране мапы альбо праз кантэкстнае меню на любым месцы на мапе.
+ Убудова для стварэння аўдыё/відэа нататак падчас падарожжаў, з дапамогай кнопкі на мапе альбо праз кантэкстнае меню на любым месцы на мапе.
Аўдыё/відэа нататкі
частак
- Ізалініі вышынь
- Ізалініі вышынь
+ Контурныя лініі
+ Контурныя лініі
Іншыя мапы
Толькі дарогі
- Ізалініі вышынь
+ Контурныя лініі
Стандартныя мапы
Мапа толькі дарог
Межы
@@ -238,85 +238,85 @@
OsmAnd Мапы і навігацыя
Глабальная мабільная мапа і навігатар для аўтаномных і сеціўных мапаў OSM
OsmAnd (OSM Automated Navigation Directions)
-\n
-\n
+\n
+\n
\nOsmAnd — навігацыйны дадатак з адкрытым кодам з доступам да разнастайных даных ад OpenStreetMap (OSM). Усе даныя (вектарныя і растравыя) можна захаваць на картцы памяці для аўтаномнага выкарыстання. Таксама падтрымліваецца аўтаномная і сеціўная маршрутызацыя, уключаючы пакрокавае галасавое суправаджэнне.
-\n
-\n
-\n
+\n
+\n
+\n
\nНекалькі асноўных магчымасцяў:
-\n
+\n
\n - паўнавартасная праца без інтэрнэт-злучэння (захоўвае вектарныя або растравыя даныя ў памяці прылады);
-\n
+\n
\n - кампактная вектарная мапа ўсяго свету;
-\n
+\n
\n - спампоўванне мапаў краін або рэгіёну непасрэдна ў дадатку;
-\n
-\n - магчымасць адлюстравання звестак на мапе, напрыклад пласт для пракладкі маршруту або пласт з запісам GPX-следу, з POI, улюбёнымі, ізалініямі вышынь, грамадскім транспартам, дадатковымі мапамі з магчымасцю налады ўзроўню празрыстасці;
-\n
+\n
+\n - магчымасць адлюстравання звестак на мапе, напрыклад пласт для пракладкі маршруту або пласт з запісам GPX-следу, з POI, улюбёнымі мясцінамі, ізалініямі вышынь, грамадскім транспартам, дадатковымі мапамі з магчымасцю налады ўзроўню празрыстасці;
+\n
\n - аўтаномны пошук адрасоў і POI;
-\n
+\n
\n - пракладка маршрутаў па-за сецівам на кароткія адлегласці (эксперыментальная функцыя);
-\n
+\n
\n - рэжымы для пешаходнай, аўтамабільнай і роваравай навігацыі з:
-\n
+\n
\n - магчымасцю аўтаматычнага пераключэння дзённага/начнога адлюстравання;
-\n
+\n
\n - аўтамаштабаваннем мапы ў адпаведнасці з хуткасцю руху;
-\n
+\n
\n - магчымасцю арыентацыі мапы па компасе або кірунку руху,
-\n
+\n
\n - паказам руху па палосах і абмежаванняў хуткасці, запісанае і сінтэзуемае галасавое суправаджэнне.
-\n
-\n
+\n
+\n
\nАбмежаванні бясплатнай версіі:
-\n
+\n
\n - колькасць спамповак мапаў абмежаваная;
-\n
+\n
\n - адсутнічае пазасеціўны доступ да інфармацыі з Вікіпедыі для POI.
-\n
-\n
+\n
+\n
\nOsmAnd актыўна развіваецца, яго далейшае развіццё забяспечваецца фінансавымі паступленнямі ад яго карыстальнікаў, за кошт якіх адбываецца далейшая распрацоўка і тэставанне новых функцый. Калі ласка, разгледзьце магчымасць набыцця OsmAnd+ або падтрымайце распрацоўку пэўных функцый, або зрабіце дабрачынны ўнёсак на https://osmand.net.
OsmAnd+ Мапы і навігацыя
Глабальная мабільная мапа і навігатар для аўтаномных і сеціўных мапаў OSM
OsmAnd+ (OSM Automated Navigation Directions)
-\n
-\n
-\n
+\n
+\n
+\n
\n OsmAnd+ — навігацыйны дадатак з адкрытым кодам з доступам да разнастайных даных ад OpenStreetMap (OSM). Усе даныя (вектарныя і растравыя) можна захаваць на картцы памяці для далейшага аўтаномнага выкарыстання. Таксама падтрымліваецца аўтаномная і сеціўная маршрутызацыя, уключаючы пакрокавае галасавое суправаджэнне.
-\n
-\n
-\n
+\n
+\n
+\n
\n OsmAnd+ — гэта платная версія, купляючы якую вы падтрымліваеце праект, фінансуеце распрацоўку новых функцый, і атрымліваеце апошнія абнаўленні.
-\n
-\n
-\n
+\n
+\n
+\n
\n Некалькі асноўных магчымасцяў:
-\n
+\n
\n - поўнасцю аўтаномная праца (захаванне вектарных або растравых мапаў у памяці прылады);
-\n
+\n
\n - кампактная вектарная мапа для ўсяго cвету;
-\n
+\n
\n - неабмежаваная колькасць спампоўванняў мапаў асобнай краіны або рэгіёну непасрэдна ў дадатку;
-\n
+\n
\n - магчымасць аўтаномнай працы з данымі Вікіпедыі (спампоўванне POI з Вікіпедыі) з\'яўляецца цудоўным інструментам для падарожнікаў;
-\n
+\n
\n - магчымасць адлюстравання звестак на мапе, напрыклад пласт для пракладкі маршруту або пласт з запісам GPX-следу, з POI, улюбёнымі, ізалініямі вышынь, грамадскім транспартам, дадатковымі мапамі з магчымасцю налады ўзроўню празрыстасці;
-\n
-\n
-\n
+\n
+\n
+\n
\n - аўтаномны пошук адрасоў і POI;
-\n
+\n
\n - аўтаномная пракладка маршрутаў для сярэдніх адлегласцяў;
-\n
+\n
\n - рэжымы для пешаходнай, аўтамабільнай і роварнай навігацыі з:
-\n
+\n
\n - пераключэннем паміж дзённым і начным рэжымамі;
-\n
+\n
\n - маштабаваннем мапы ў адпаведнасці з хуткасцю руху;
-\n
+\n
\n - арыентацыяй мапы па компасе або кірунку руху;
-\n
+\n
\n - паказ палос руху і абмежаванняў хуткасці, галасавое суправаджэнне
\n
Стварыць фільтр POI
@@ -392,7 +392,7 @@
PM
AM
Месца стаянкі
- Убудова месца паркоўкі дазваляе запісаць дзе быў прыпаркаваны ваш аўтамабіль і колькі часу засталося ў выпадку абмежаванай па часе стаянкі. Месца паркоўкі і час відаць на панэлі кіравання OsmAnd і на віджэце на экране з мапай. У каляндар Android можна дадаць напамін.
+ Убудова месца паркоўкі дазваляе запісаць дзе быў прыпаркаваны ваш аўтамабіль і колькі часу засталося ў выпадку абмежаванай па часе стаянкі. Месца паркоўкі і час даступныя на панэлі кіравання OsmAnd і на віджэце на мапе. У каляндар Android можна дадаць напамін.
Месца паркоўкі
Пазначыць месца стаянкі
Выдаліць адзнаку месца стаянкі
@@ -409,7 +409,7 @@
Рэжым візуалізацыі
Аптымізаваць мапу для
Мінімальны ўзровень маштабу з адлюстраваннем ізаліній вышынь:
- Паказваць ізалініі вышынь
+ Паказваць контурныя лініі
Адлюстроўваць больш дэталяў на мапе.
Паказаць больш дэталяў мапы
Даныя маршрутызацыі
@@ -418,7 +418,7 @@
Пошук па адрасе
Каардынаты
Пошук грамадскага транспарту
- Спосаб пошуку ўлюбёных
+ Спосаб пошуку ва ўлюбёных мясцінах
Аўтаномная навігацыя OsmAnd часова недаступная.
Левабаковы рух
Для краін, дзе людзі ездзяць па леваму боку дарогі.
@@ -437,13 +437,13 @@
Выкарвстоўваць сеціўныя мапы (cпампаваць і захоўваць фрагменты на картцы памяці).
Сеціўныя мапы
Наладзіць крыніцы сеціўных або кэшаваных растравых мапаў.
- З дапамогай гэтай убудовы вы можаце атрымаць доступ да мноства тыпаў сеціўных мапаў (тайлавых альбо растравых), ад папярэдне створаных фрагментаў OpenStreetMap (Mapnik) да спадарожнікавых здымкаў і пластоў адмысловага прызначэння, такіх як мапы надвор\'я, кліматычныя мапы, геалагічныя мапы, пласты зацямнення вышынь і г.д.
+ Пры дапамозе гэтай убудовы вы можаце атрымаць доступ да мноства тыпаў сеціўных мапаў (тайлавых альбо растравых), ад папярэдне вызначаных фрагментаў OpenStreetMap (Mapnik) да спадарожнікавых здымкаў і пластоў адмысловага прызначэння, такіх як мапы надвор\'я, кліматычныя мапы, геалагічныя мапы, пласты зацямнення вышынь і г.д.
\n
-\nЛюбая з гэтых мапаў можа быць выкарыстана ў якасці асноўнай (базавай) мапы для адлюстравання на экране OsmAnd або ў выглядзе накладкі / падкладкі да іншай базавай мапы (стандартнай аўтаномнай мапы OsmAnd). Для таго каб зрабіць любую падкладку больш бачнай, некаторыя элементы вектарнай мапы OsmAnd могуць быць па жаданні лёгка схаваныя праз меню «Налады мапы».
+\nЛюбую з гэтых мапаў можна выкарыстаць у якасці асноўнай (базавай) мапы для адлюстравання на экране OsmAnd або ў выглядзе накладкі / падкладкі да іншай базавай мапы (стандартнай аўтаномнай мапы OsmAnd). Для таго, каб зрабіць любую падкладку больш бачнай, некаторыя элементы вектарнай мапы OsmAnd можна лёгка схаваць праз меню \"Наладзіць мапу\".
\n
-\nТайлавыя мапы могуць быць атрыманыя непасрэдна з дапамогай сеціўных крыніц або могуць быць падрыхтаваныя для выкарыстання ў аўтаномным рэжыме (і ўласнаручна скапіяваныя ў каталог даных OsmAnd) як база даных SQLite, якую можна атрымаць з дапамогай розных інструментаў падрыхтоўкі мапаў іншых вытворцаў.
- Убудова дадае падтрымку дадатковых магчымасцяў непасрэдна ў OsmAnd. Гэта палягчае, напрыклад, рэгуляванне хуткасці вымаўлення для голасу TTS, наладу накіраванасці экрана навігацыі, кіраванне маштабам пры дапамозе трэкбола або выкарыстанне галасавых загадаў зваротнай сувязі для аўтаматычнага агалошвання вашага месцазнаходжання.
- Убудова адлюстроўвае параметры для распрацоўкі і адладкі функцый, такіх як, праверка або мадэляванне маршруту, адлюстраванне прадукцыйнасці адмалёўкі, праверка галасавых падказак. Гэтыя налады прызначаныя для распрацоўшчыкаў і не патрэбныя звычайнаму карыстальніку.
+\nТайлавыя мапы можна атрымаць непасрэдна з сеціўных крыніц або можна падрыхтаваць для выкарыстання ў аўтаномным рэжыме (і ўласнаручна скапіяваць у каталог даных OsmAnd) як базу даных SQLite, якую можна атрымаць пры дапамозе розных інструментаў падрыхтоўкі мапаў іншых вытворцаў.
+ Убудова дадае падтрымку дадатковых магчымасцяў непасрэдна ў OsmAnd. Гэта палягчае, напрыклад, рэгуляванне хуткасці вымаўлення для голасу TTS, наладку накіраванасці экрана навігацыі, кіраванне маштабам пры дапамозе трэкбола або выкарыстанне галасавых загадаў зваротнай сувязі для аўтаматычнага агалошвання вашага месцазнаходжання.
+ Убудова адлюстроўвае параметры для распрацоўкі і адладкі функцый, такіх як, праверка або мадэляванне маршруту, адлюстраванне прадукцыйнасці адмалёўкі, праверка галасавых падказак. Гэта налады для распрацоўшчыкаў і не патрэбныя звычайнаму карыстальніку.
Убудовы
Убудовы актывуюць дадатковыя налады і магчымасці.
Убудовы
@@ -552,7 +552,7 @@
Галасавыя падказкі (TTS, пажадана)
Вікіпедыя (пазасеціўная)
Вызначанае карыстальнікам
- Файл з экспартаванымі ўлюбёнымі ўжо існуе. Замяніць яго\?
+ Файл з экспартаванымі ўлюбёнымі мясцінамі ўжо існуе. Замяніць яго\?
Налады профілю
Навігацыя
Вызначыць параметры навігацыі.
@@ -567,7 +567,7 @@
Фонавы рэжым
OsmAnd працуе ў фоне з адключаным экранам.
Не стае вольнага месца для спампоўвання %1$s МБ (вольна: %2$s).
- Спампаваць {0} файл(аў)\? Выкарыстоўваецца {1} МБ. (Зараз ё {2} МБ вольнага месца.)
+ Спампаваць {0} файл(аў)\? Будзе выкарыстана {1} МБ з {2} МБ.
Празрыстая тэма
Уласныя бібліятэкі не падтрымліваюцца гэтай прыладай.
Ініцыалізацыя ўласных бібліятэк…
@@ -602,7 +602,7 @@
Вызначэнне становішча…
Маё становішча (знойдзена)
Адрас…
- Улюбёныя…
+ Улюбёныя мясціны…
Нявызначана
Цяперашні цэнтр мапы
Пачатак:
@@ -615,7 +615,7 @@
Адправіць у OSM
Паказаць больш дэталяў мапы
Паказаць некаторыя дэталі вектарнай мапы (дарогі і іншыя) на меншым маштабе.
- Улюбёныя пункты выдаленыя.
+ Улюбёныя мясціны выдаленыя.
Вы збіраецеся выдаліць %1$d улюбёных і %2$d груп улюбёных. Вы ўпэўненыя\?
Дом
Сябры
@@ -684,7 +684,7 @@
Абярыце (растравыя) мапы для ўсталёўкі або абнаўлення.
Немагчыма выканаць аперацыю без падлучэнне да Інтэрнэту.
Усталяваць яшчэ…
- Выкарыстоўваць агульныя растравыя мапы да гэтага ўзроўня.
+ Выкарыстоўваць агульныя растравыя мапы да гэтага ўзроўню.
Мінімальны ўзровень набліжэння для вектарных мапаў
Не атрымалася выканаць пошук у аўтаномным рэжыме.
Пошук па геаграфічнаму становішчу
@@ -750,7 +750,7 @@
\nНавігацыя часова пераключаецца на сэрвіс CloudMade.
Вызначаны каталог не знойдзены.
Каталог захоўвання даных
- Усе аўтаномныя даныя ў старой усталяванай праграме будуць падтрымлівацца новай, але ўлюбёныя пункты патрэбна экспартаваць са старой версіі і імпартаваць у новую.
+ Усе аўтаномныя даныя ў старым усталяваным дадатку будуць падтрымлівацца новым, але ўлюбёныя мясціны патрэбна экспартаваць са старой версіі і імпартаваць у новую.
Зборка {0} ўсталяваная ({1}).
Спампоўваецца зборка…
Усталяваць OsmAnd - {0} з {1} {2} МБ?
@@ -807,10 +807,10 @@
Абраць выроўніванне мапы.
Арыентацыя мапы
Падрабязнасці маршруту
- Улюбёныя імпартаваныя
- GPX-файл з улюбёнымі не знойдзены ў {0}
- Улюбёныя захаваныя ў {0}
- Улюбёныя месцы для захавання адсутнічаюць
+ Улюбёныя мясціны паспяхова імпартаваныя
+ GPX-файл з улюбёнымі мясцінамі не знойдзены ў {0}
+ Улюбёныя мясціны захаваныя ў {0}
+ Улюбёныя мясціны для захавання адсутнічаюць
Не атрымалася загрузіць GPX
Даслаць справаздачу
На картцы памяці не атрымалася знайсці спампаваных мапаў.
@@ -925,10 +925,10 @@
Спампоўваецца спіс даступных рэгіёнаў…
Не ўдалося атрымаць спіс рэгіёнаў з https://osmand.net.
Улюбёны пункт быў зменены
- Улюбёныя месцы адсутнічаюць
+ Улюбёныя мясціны адсутнічаюць
Замяніць
Паказаць маршрут
- Пачаць кіраванне
+ Запуск суправаджэння
Спачатку абярыце пункт прызначэння
Навігацыя
Гадзіны працы
@@ -959,7 +959,7 @@
Скончана
Выкарыстоўваць Інтэрнэт для разліку маршруту.
Выкарыстоўваць сеціўную навігацыю
- Задаць налады для OpenStreetMap.org (OSM), неабходныя для ўнёска.
+ Вызначыць налады для OpenStreetMap.org (OSM), неабходныя для ўнёска.
Выбар мовы, абнаўленне даных.
Даныя
Рэдагаванне OSM
@@ -967,7 +967,7 @@
Захаваць дзейны след зараз жа як GPX-файл.
Захаваць дзейны след
Інтэрвал захавання падчас навігацыі
- Абраць інтэрвал захоўвання пунктаў следу падчас навігацыі.
+ Вызгачце інтэрвал захоўвання пунктаў следу падчас навігацыі
GPX-след аўтаматычна захаваны ў каталог слядоў падчас навігацыі.
Аўтаматычна запісваць след падчас навігацыі
Абнавіць мапу
@@ -1003,7 +1003,7 @@
Абраць рэгіён са спіса
Абраць скрыжаванне
Бліжэйшыя паслугі
- Кіраванне
+ Аўтамабіль
Язда на ровары
Хада
У цэнтры
@@ -1023,18 +1023,18 @@
Скрыжаванне
Абнавіць мапу
Стварыць POI
- Увядзіце назву ўлюбёнага
+ Увядзіце назву ўлюбёнай мясціны
Улюбёнае
- Улюбёны пункт «{0}» дададзены.
- Рэдагаваць улюбёнае
- Выдаліць улюбёнае
- Выдаліць улюбёны пункт «%s»\?
- Улюбёны пункт {0} выдалены.
+ Улюбёная мясціна \"{0}\" паспяхова дададзеная.
+ Рэдагаваць мясціну
+ Выдаліць мясціну
+ Выдаліць улюбёную мясціну \"%s\"\?
+ Улюбёная мясціна {0} выдаленая.
Пароль OSM (неабавязковы)
Паведамленне
Імя аўтара
Каментар дададзены
- Не атрымалася дадаць каментар
+ Не атрымалася дадаць каментар.
Рэдагаваць POI
Стварыць POI
Вузел не знойдзены або зручнасць (amenity) складаецца з некалькіх вузлоў, што не падтрымліваецца.
@@ -1118,13 +1118,13 @@
Выкарыстаць паказаны след для навігацыі?
Маршрутная інфармацыя
Аддаваць перавагу аўтамагістралям
- Пазбягаць платных дарог
+ Без платных дарог
Пазбягаць платных дарог
- Пазбягаць грунтовых дарог
- Пазбягаць грунтовых дарог.
- Пазбягаць паромных перапраў
- Пазбягаць перапраў
- Пазбягаць аўтамагістраляў
+ Без грунтавых дарог
+ Пазбягаць грунтавых дарог
+ Без паромных перапраў
+ Пазбягаць паромных перапраў
+ Без аўтамагістраляў
Пазбягаць аўтамагістраляў
Абмежаванне вагі
Пазначыць дазволеную вагу аўтамабіля на маршрутах.
@@ -1132,7 +1132,7 @@
Капіяванне даных OsmAnd у новае месца (%s)…
Капіяванне даных OsmAnd…
Грузавік
- Задайце хуткасць вымаўлення для TTS.
+ Задайце хуткасць вымаўлення для text-to-speech.
Хуткасць вымаўлення
Адключыць складаную маршрутызацыю
Адмалёўка мапы
@@ -1150,7 +1150,7 @@
Навігацыйныя знакі ўсяго свету
Плацяжы Bitcoin ўсяго свету
Дадаць наступным пунктам прызначэння
- Абраць месца прызначэння
+ Вызначыць пункт прызначэння
Налады маршруту
Пазасеціўны разлік маршруту ў OsmAnd
Налады навігацыі
@@ -1182,18 +1182,20 @@
Паўтараць навігацыйныя інструкцыі праз рэгулярныя прамежкі часу.
Паўтараць навігацыйныя інструкцыі
Абвяшчэнне прыбыцця
- Гэтая ўбудова паказвае як ізалініі вышынь, так і рэльеф на стандартных мапах OsmAnd. Гэтыя магчымасці спатрэбяцца спартоўцам, турыстам, падарожнікам і ўсім, хто цікавіцца структурай рэльефу мясцовасці.
+ Гэтая ўбудова паказвае як контурныя лініі, так і рэльеф на стандартных мапах OsmAnd. Гэтыя магчымасці спатрэбяцца спартоўцам, турыстам, падарожнікам і ўсім, хто цікавіцца структурай рэльефу мясцовасці.
\n
\nГлабальныя даныя (паміж 70 ° на поўначы і 70 ° на поўдні) грунтуюцца на вымярэннях SRTM (Shuttle Radar Topography Mission) і ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer), даных інструменту візуалізацыі Terra, флагманскага спадарожніка сістэмы назірання Зямлі ад NASA. ASTER — гэта вынік сумеснай працы NASA, міністэрства эканомікі Японіі, міністэрства гандлю і прамысловасці Японіі (METI), агенцтва касмічных сістэм Японіі (J-spacesystems).
- "Гэтая ўбудова паказвае як ізалініі вышынь, так і рэльеф на стандартных мапах OsmAnd. Гэта, магчыма, спатрэбіцца спартоўцам, турыстам, падарожнікам і ўсім, хто цікавіцца структурай рэльефу мясцовасці. (Звярніце ўвагу, што даныя вышынь і рэльефу асобныя, дадаткова даступныя да спампоўвання, пасля актывацыі ўбудовы.)
+ Гэтая ўбудова паказвае як контурныя лініі, так і рэльеф на стандартных мапах OsmAnd. Гэта, магчыма, спатрэбіцца спартоўцам, турыстам, падарожнікам і ўсім, хто цікавіцца структурай рэльефу мясцовасці. (Звярніце ўвагу, што даныя вышынь і рэльефу асобныя, дадаткова даступныя да спампоўвання, пасля актывацыі ўбудовы.)
+\n
\n
-\nГлабальныя даныя (паміж 70 ° на поўначы і 70 ° на поўдні) грунтуюцца на вымярэннях SRTM (Shuttle Radar Topography Mission) і ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer), даных інструмента візуалізацыі Terra, флагманскага спадарожніка сістэмы назірання Зямлі ад NASA. ASTER — гэта вынік сумеснай працы NASA, міністэрства эканомікі Японіі, міністэрства гандлю і прамысловасці Японіі (METI), агенцтва касмічных сістэм Японіі (J-spacesystems)."
+\n
+\nГлабальныя даныя (паміж 70 ° на поўначы і 70 ° на поўдні) грунтуюцца на вымярэннях SRTM (Shuttle Radar Topography Mission) і ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer), даных інструмента візуалізацыі Terra, флагманскага спадарожніка сістэмы назірання Зямлі ад NASA. ASTER — гэта вынік сумеснай працы NASA, міністэрства эканомікі Японіі, міністэрства гандлю і прамысловасці Японіі (METI), агенцтва касмічных сістэм Японіі (J-spacesystems).
Як хутка вы хочаце чуць паведамленне аб прыбыцці?
Улюбёныя мясціны, якімі падзяліліся праз OsmAnd
Разлічыць маршрут паміж пунктамі
дзён
Злучэнне
- Захаваць даныя як GPX-файл альбо імпартаваць пункты ва ўлюбёныя\?
+ Захаваць даныя як GPX-файл альбо імпартаваць пункты ва ўлюбёныя мясціны\?
Ружовы
Карычневы
Выбар колеру
@@ -1226,15 +1228,15 @@
\nДоўга ўтрымлівайце, каб убачыць на мапе"
Аўтаматычна пачаць навігацыю
Перапад вышынь: %1$s
- Захаваць як групу ўлюбёных
- Абярыце прызначэнне
+ Захаваць як групу ўлюбёных мясцін
+ Вызначыць пункты прызначэння
Назвы POI-накладкі
Паказваць кнопкі маштабавання
Паказваць кнопкі маштабавання падчас навігацыі.
Сартаваць паводле адлегласці
Сартаваць паводле назвы
- GPX-файлаў не абрана. Абраць працяжным націскам.
- Абраць для паказу
+ Абярыце GPX-файл працяжным націскам.
+ Абярыце след
Спамповак не знойдзена. Калі ласка, праверце вашае злучэнне з Інтэрнэтам.
Будынкі
Не аўтамабільныя дарогі
@@ -1291,15 +1293,15 @@
Прагляд мапы
Аўтамабіль
Ровар
- Пешаход
+ Пешшу
Спампаваць мапы, што адсутнічаюць, %1$s (%2$d МБ)\?
Пункты шляху
Дарожныя папярэджанні
- Улюбёныя паблізу
+ Улюбёныя мясціны паблізу
Навакольныя POI
Усе
Паездкі
- Убудова актывуе функцыі для запісу і захоўвання вашых слядоў уласнаручна націскам на віджэт запісу GPX на экране мапы, або таксама аўтаматычна запісвае ўсе вашыя маршруты навігацыі ў файл GPX.
+ Убудова актывуе функцыі для запісу і захоўвання вашых слядоў уласнаручна націскам на віджэт запісу GPX на мапе, або таксама аўтаматычна запісвае ўсе вашыя маршруты навігацыі ў файл GPX.
\n
\nЗапісанымі слядамі можна падзяліцца з вашымі сябрамі або выкарыстоўваць іх для адсылкі ў OSM. Спартоўцы могуць выкарыстоўваць запісаныя сляды для кантролю за трэніроўкамі. Некаторы базавы аналіз слядоў можна правесці непасрэдна ў OsmAnd, напрыклад, час праходжання кругу, сярэдняя хуткасць і г.д., сляды, вядома, пазней таксама можна прааналізаваць пры дапамозе адмысловых інструментахў аналізу іншых вытворцаў.
Запіс падарожжа
@@ -1309,9 +1311,9 @@
Маршруты аўтобусаў, тралейбусаў і таксі
Пісаць след у GPX-файл
Інтэрвал запісу
- Агульны запіс месцазнаходжання ў GPX-файл можа быць уключаны або выключаны з дапамогай кнопкі запісу GPX на экране з мапай.
+ Запіс месцазнаходжання ў GPX-файл можа быць уключаны або выключаны з дапамогай кнопкі запісу GPX мапе.
Пытацца заўсёды
- Абярыце інтэрвал запісу следу (уключаецца віджэтам запісу GPX на мапе).
+ Вызначце інтэрвал запісу следу (уключаецца праз віджэт запісу GPX на мапе).
Агульны інтэрвал запісу
Абмежаванне хуткасці
Памежны кантроль
@@ -1323,15 +1325,15 @@
Змяніць памер тэксту на мапе.
Памер тэксту
Дапушчальнае значэнне перавышэння хуткасці
- Задаць дапушчалнае значэнне перавышэння хуткасці, пры якім вы атрымаеце галасавое паведамленне.
- Назва ўлюбёнага была змененая на %1$s для магчымасці захавання радка з эматыконам ў файл.
+ Абярыце дапушчальнае значэнне перавышэння хуткасці, пры якім вы атрымаеце галасавое паведамленне.
+ Назва ўлюбёнай мясціны была змененая на \"%1$s\" для магчымасці захавання радка з эматыконам ў файл.
Паказаць маршрут
- Дубляванне назвы ўлюбёнага пункту
- Улюбёнае з такой назвай ўжо існуе, таму будзе выкарыстана %1$s для прадухілення дублявання назваў.
+ Дубляванне назвы ўлюбёнай мясціны
+ Назва ўлюбёнай мясціны была змененая на \"%1$s\", каб пазбегнуць паўтарэння.
Націсніце на любы элемент спіса для прагляду больш падрабязнай інфармацыі, доўга ўтрымлівайце, каб змясціць у архіў ці выдаліць. Дзейныя даныя прылады (%1$s вольна):
Ананімны карыстальнік
Вы ўвайшлі як %1$s
- Ананімнаму карыстальніку недаступныя:
+ Ананімным карыстальнікам недаступна:
\n- Стварэнне групаў;
\n- Сінхранізацыя групаў і прылад з серверам;
\n- Кіраванне групамі і прыладамі ў асабістым кабінеце.
@@ -1397,7 +1399,7 @@
Уключыць HTTP-проксі
Наладзіць HTTP-проксі для ўсіх сеткавых запытаў.
Хост проксі
- Задайце назву хаста вашага проксі (напрыклад 127.0.0.1).
+ Вызначце назву хоста вашага проксі (напрыклад 127.0.0.1).
Порт проксі
Задайце нумар парта вашага проксі (напрыклад 8118).
Вызначыць проксі-сервер.
@@ -1479,7 +1481,7 @@
Запомніць выбар
Абнавіць
Спампаваць
- Спампоўваецца
+ Спампоўванне…
Спампаваная
Памылка ўводу/вываду
Нечаканая памылка
@@ -1490,9 +1492,9 @@
Паказаць усе
Паказаць на мапе
Мапа
- Улюбёнае
- Улюбёныя
- Дадаць ва «Улюбёныя»
+ Улюбёныя мясціны
+ Улюбёныя мясціны
+ Дадаць ва ўлюбёныя мясціны
Мае мясціны
Аўдыё
Відэа
@@ -1525,11 +1527,11 @@
Турыстычная мапа
Змяніць назву не атрымалася.
д. таму абнаўлялі
- Выдадзена
- Улюбёныя
+ Дата выпуску
+ Улюбёныя мясціны
Ачысціць гісторыю\?
Задайце час затрымкі на экране планавання маршруту.
- Пачаць пакрокавае кіраванне праз…
+ Пачаць пакрокавае суправаджэнне праз…
Рушым
Сапраўды адправіць %1$d змен у OSM\?
Убудова для OsmAnd дае вам доступ да даных аб гарналыжных трасах, маршрутах для бегавых лыж, альпійскіх спусках, фунікулёрах і гарналыжных пад\'ёмніках. Маршруты і спускі пазначаюцца рознымі колерамі ў залежнасці ад іх складанасці і намаляваныя з выкарыстаннем адмысловага «зімовага» стылю мапы, адметнага тым, што выкарыстоўваюцца «снежныя» колеры зімовага пейзажу.
@@ -1555,7 +1557,7 @@
\nГэты выгляд можа быць дэактываваны тут, або шляхам змены «Стылю мапы» у раздзеле «Налады мапы».
У многіх краінах (Германія, Францыя, Італія ды іншыя) выкарыстанне дэтэктараў камер кантролю хуткасці незаконнае. OsmAnd не нясе ніякай адказнасці, калі вы парушыце закон. Калі ласка, націсніце кнопку «Так», толькі калі вы маеце права выкарыстоўваць гэтую функцыю.
Інфармацыя пра A-GPS
- Апошнія спампаваныя даныя A-GPS: %1$s
+ Даныя A-GPS спампаваныя: %1$s
Паведамленне
Не выкарыстоўваць
Адрас
@@ -1596,13 +1598,13 @@
Вікіпедыя
Паказаць падрабязнасці
Вікіпедыя
- Вы збіраецеся выдаліць %1$d нататкі. Вы ўпэўнены\?
+ Сапраўды хочаце выдаліць %1$d нататак\?
Імпартаваць у OsmAnd
Прадухіліць аўтаномны запіс
Запіс GPX прыпыніцца, калі дадатак будзе забіты (праз надаўнія праграмы). (Апавяшчэнне ў вобласці падказак Android пра фонавы рэжым OsmAnd знікне.)
- Служба вызначэння месцазнаходжання не ўключаная. Уключыць яе\?
+ Служба вызначэння месцазнаходжання выключаная. Уключыць яе\?
Даныя Вікіпедыі састарэлі і больш непрыдатныя. Заархіваваць іх\?
- Спампаваць дадатковыя даныя Вікіпедыі (%1$s МБ) \?
+ Спампаваць дадатковыя даныя Вікіпедыі (%1$s МБ)\?
Тайская
Тэлугу
Нарвежская (Нюнашк)
@@ -1635,7 +1637,7 @@
Бішнупрыя
Наваха
Неварская / Непал-бхаса
- Каб усе змены ўжыліся, патрэбна ўласнаручна перезапусціць дадатак.
+ Каб усе змены ўжыліся, патрэбна перезапусціць дадатак.
Колер GPX
Шырыня GPX
Чырвоны
@@ -1679,7 +1681,7 @@
Прамінуць
Убудовы
Пацвердзіць POI
- Пазбягаць прыгарадных цягнікоў
+ Без прыгарадных цягнікоў
Пазбягаць выкарыстання прыгарадных цягнікоў
Асноўнае
Нумар будынка
@@ -1710,8 +1712,8 @@
%1$s спамповак засталося
Вікіпедыя
Дарогі
- Звесткі пра ўлюбёнае
- Дадаць улюбёнае
+ Звесткі пра ўлюбёную мясціну
+ Дадаць ва улюбёныя
Запіс падарожжа
Навігацыя
Працуе ў фоне
@@ -1731,7 +1733,7 @@
хв/м
хв/км
м/с
- Ізалініі вышынь выключаныя
+ Контурныя лініі выключаныя
Спампоўваецца - %1$d файл
Паказваць банер бясплатнай версіі нават у платнай версіі.
Паказваць банэр бясплатнай версіі
@@ -1758,7 +1760,7 @@
Абярыце, дзе вы хочаце захоўваць мапы і іншыя файлы даных.
Падзяліцца месцазнаходжаннем
геа:
- «Выключана» непасрэдна запускае экран мапы.
+ \"Выключана\" наўпрост запускае мапу.
Імітаваць першы запуск дадатку
QR-код
Мапа спампаваная
@@ -1782,7 +1784,7 @@
Першыя крокі з OsmAnd
Дапамажыце палепшыць OsmAnd
Першы запуск
- Як спампаваць мапы, задаць асноўныя налады.
+ Як спампаваць мапы, вызначыць асноўныя налады.
Налады навігацыі.
Планаванне паездкі
Частыя пытанні
@@ -1815,9 +1817,9 @@
Паўторна адкрыць нататку
Закрыць нататку
Нататка створаная
- Не атрымалася стварыць нататку
+ Не атрымалася стварыць нататку.
Нататка закрытая
- Не атрымалася закрыць нататку
+ Не атрымалася закрыць нататку.
Адправіць
Стыль адлюстравання дарог
Рэдагаваць POI
@@ -1829,9 +1831,9 @@
Доступ з мапы
Выдаліць пункт шляху GPX\?
Рэдагаваць пункт шляху GPX
- Пазбягаць лесвіц
+ Без лесвіц
Пазбягаць лесвіц
- Пазбягаць перасячэння меж
+ Без перасячэння меж
Выкарыстоўваць панэль кіравання
Панэль кіравання ці меню
Калі ласка, ўвядзіце правільны тып POI або мініце яго.
@@ -1856,9 +1858,9 @@
Аўтаабнаўленне
Абнавіць зараз
OsmAnd не мае дазволу на выкарыстанне карткі памяці
- Дадатаа не мае дазволу на выкарыстанне GPS.
- Дадатак не мае дазволу на выкарыстанне камеры.
- Дадатак не мае дазволу на выкарыстанне мікрафону.
+ Даць дазвол на доступ да даных GPS.
+ Даць дазвол на доступ да камеры.
+ Даць дазвол на доступ да мікрафону.
Даступныя мапы
Гук
Апошняе абнаўленне: %s
@@ -1905,8 +1907,8 @@
Дадаць часавы прамежак
Элемент выдалены
Элементы выдаленыя
- Паведаміць
- Адлюстроўваць MTB-маршруты
+ Справаздача па
+ Паказваць маршруты горных ровараў
Ахвяраванні
Агульная памяць
Пералічыць маршрут
@@ -1922,10 +1924,8 @@
Абярыце адзнаку
Іншыя адзнакі
Адправіць ананімна
- Недастаткова памяці!
- Патрабуецца {3} МБ часовай і {1} МБ сталай памяці.
- Даступна толькі {2} МБ.
- Спампаваць {0} файл(аў)? Выкарыстоўваецца {3} МБ часовай і {1} МБ сталай памяці. (Свабодна {2} МБ прасторы.)
+ Недастаткова памяці! Патрабуецца {3} МБ часовай і {1} МБ сталай памяці. Даступна толькі {2} МБ
+ Спампаваць {0} файл(аў)\? Выкарыстоўваецца {3} МБ часовай і {1} МБ сталай памяці. (З {2} МБ.)
Першая адзнака
Другая адзнака
Панэль прылад
@@ -1970,8 +1970,8 @@
Дадаць усе пункты як адзнакі мапы\?
Дадаць да адзнак мапы
Калі ласка, дадайце адзнакі праз экран мапы
- Пераключана на ўнутраную памяць, бо абраны каталог для захоўвання даных даступны толькі для чытання. Калі ласка, абярыце перазапісвальны каталог.
- Неабходна, каб даць вам інфармацыю аб удзеле.
+ Пераключана на ўнутраную памяць, бо абраны каталог для захоўвання даных даступны толькі для чытання. Калі ласка, абярыце каталог, даступны для запісу.
+ Неабходна, каб даць вам інфармацыю аб вашым удзеле.
Актывуе функцыю адзнак мапы.
Пунктаў шляху не знойдзена
Прадвызначаны колер
@@ -2043,13 +2043,13 @@
Пачаць
Паліўна-ашчадны маршрут
Разлічвае паліва-ашчадны маршрут (звычайна найкарацейшы).
- Вы сапраўды хочаце замяніць улюбёнае %1$s\?
+ Вы сапраўды хочаце замяніць улюбёную мясціну %1$s\?
Абнавіць усе мапы зараз?
Ачысціць кэш сеціўных мапаў
Не правяраць новыя версій і зніжкі ад OsmAnd.
Не паказваць новыя версіі
Прамінуць спампоўванне мапаў
- У вас адсутнічаюць мапы. Вы можаце абраць мапу са спіса альбо спампаваць яе пазней праз «Меню - %1$s».
+ У вас адсутнічаюць мапы. Вы можаце абраць мапу са спіса альбо спампаваць яе пазней праз \"Меню - %1$s\".
Абраць іншы рэгіён
Пошук мапаў…
OsmAnd вызначыць вашае месцазнаходжанне і прапануе спампаваць мапы для гэтага рэгіёна.
@@ -2065,7 +2065,7 @@
Знайсці маю пазіцыю
Атрымаць за %1$s
Атрымаць
- Атрымайце неабмежаваную колькасць спампоўванняў мапаў і абнаўленні больш за адзін раз на месяц: штотыдзень, штодзень ці штогадзіну.
+ Атрымайце неабмежаваную колькасць спампоўванняў мапаў у дадатак да штотыднёвых, штодзённых і нават штогадзінных абнаўленняў.
Неабмежаваная колькасць спамоўванняў мапаў, абнаўленняў і ўбудова Wikipedia.
Мілі/метры
Плата за падпіску спаганяецца штомесяц. Скасаваць яе на Google Play можна у любы момант.
@@ -2086,7 +2086,7 @@
Стварыць адвольны фільтр
Адвольны пошук
Транслітарацыя назваў
- Уключыць хуткі запуск запісу
+ Уключыць хуткі запіс
Апавяшчэнні
Працягнуць
Прыпыніць
@@ -2096,9 +2096,9 @@
Даныя адсутнічаюць
Дадаць яшчэ…
Выгляд
- Паказваць апавяшчэнне, якое дазволіць пачаць запіс падарожжа.
+ Паказваць апавяшчэнне, якое дазволіць запіс падарожжа.
Калядныя POI
- Паказаць калядныя POI?
+ Паказваць калядныя POI\?
Светла-карычневы
Цёмна-карычневы
Якасць дарожнага пакрыцця
@@ -2109,15 +2109,15 @@
Вы таксама можаце дадаць GPX-файлы ў каталог
Збочце на %1$d з’ездзе
Запампаваць POI
- Пошук горада ці краіны
+ Горад ці краіна
Блізкія артыкулы ў Вікіпедыі
Вельмі тонкі
Каляровая схема гарызанталяў
Мінімальная хуткасць для запісу
- Напярэданні калядных і навагодніх святаў, вы можаце абраць для адлюстравання POI, звязаныя з Калядамі: елкі, кірмашы і да т.п.
+ Напярэданні калядных і навагодніх святаў, вы можаце абраць адлюстраванне POI, звязаныя з Калядамі: елкі, кірмашы і да т.п.
Каляровая схема гарызанталяў
- Дазволіць аўтамагістралі
- Дазволіць аўтамагістралі.
+ Выкарыстоўваць аўтамагістралі
+ Дазваляе выкарыстоўваць аўтамагістралі.
Сербская (лацінка)
Кітайская (Ганконг)
Састарэлы пошук
@@ -2153,14 +2153,14 @@
Дадаць пункт да следу
Дадаць дзеянне
Рэдагаваць дзеянне
- Дадаць улюбёнае
+ Дадаць ва ўлюбёныя
Дадаць дзеянне
Выдаліць дзеянне
Сапраўды выдаліць дзеянне \"%s\"\?
Месца
- Паказаць/схаваць улюбёныя
- Паказаць улюбёныя\'
- Схаваць улюбёныя
+ Паказаць/схаваць улюбёныя мясціны
+ Паказаць улюбёныя мясціны
+ Схаваць улюбёныя мясціны
Паказаць/схаваць POI
Паказаць %1$s
Схаваць %1$s
@@ -2191,7 +2191,7 @@
Ухіл
Дадаць новы каталог
Пункт(ы) выдалены.
- Вы збіраецеся выдаліць %1$d пунктаў. Вы ўпэўнены\?
+ Сапраўды хочаце выдаліць %1$d пункт(аў)\?
Пункты маршруту, цікавыя пункты, названыя функцыі
След
Максімальная хуткасць
@@ -2203,7 +2203,7 @@
Час закачэння
Колер
Абраць каталог GPX-файлаў
- Файл не можа быць перамешчаны.
+ Не атрымалася перамясціць файл.
Перамясціць
Сляды
Стыль язды
@@ -2274,8 +2274,8 @@
Аўтамаштаб мапы ўкл/выкл
Бліжэйшыя гарады
Абраць горад
- Абраць паштовы індэкс
- Дадаць месца прызначэння
+ Пошук паштовага індэкса
+ Вызначыць пункт прызначэння
Замяніць пункт прызначэння
Дадаць прамежкавы пункт
Памылка
@@ -2284,9 +2284,9 @@
Абярыце вуліцу
у %1$s
Увядзіце адрас
- Увядзіце горад
+ Увядзіце горад/населены пункт/мясціну
Увядзіце паштовы індэкс
- Націск на гэтую кнопку ўключыць/выключыць аўтамаштабаванне мапы ў залежнасці ад хуткасці.
+ Пераключальнік для ўключэння/выключэння аўтамаштабавання мапы ў залежнасці ад хуткасці.
Гэтай кнопкай можна зрабіць пункт у цэнтры экрана пунктам прызначэння, а папярэдні пункт прызначэння стане апошнім прамежкавым пунктам.
Націск на гэтую кнопку зробіць цэнтр экрана пунктам прызначэння, замяняючы папярэдні пункт прызначэння, калі ён ёсць.
Гэтай кнопкай можна зрабіць пункт у цэнтры экрана першым прамежкавым пунктам.
@@ -2321,32 +2321,32 @@
\n Большасць краін па ўсім свеце даступныя для спампоўкі!
\n Ад Аўганістана да Зімбабвэ, ад Аўстраліі да ЗША. Аргенціна, Бразілія, Канада, Францыя, Германія, Мексіка, Вялікабрытанія, Гіспанія, …
\n
- Анімаваць маю пазіцыю
- Уключае анімацыю маёй пазіцыі на мапе падчас навігацыі.
+ Анімацыя сваёй пазіцыі
+ Уключыць анімацыю сваёй пазіцыі на мапе падчас навігацыі.
Назва групы
Змяніць колер
Рэдагаваць назву
- Ваш пункт прызначэння знаходзіцца на прыватнай тэрыторыі. Дазволіць доступ да прыватных дарог для гэтай паездкі?
+ Ваш пункт прызначэння знаходзіцца на прыватнай тэрыторыі. Дазволіць выкарыстанне прыватных дарог для гэтай паездкі\?
Перазапусціць пошук
Павялічыць радыус пошуку
Нічога не знойдзена
- Змяніце пошукавы запыт альбо павялічце радыус пошуку.
+ Змяніць пошукавы запыт альбо павялічыць радыус пошуку.
Паказаць/схаваць OSM-нататкі
Паказаць OSM-нататкі
Схаваць OSM-нататкі
- Націск на гэтую кнопку пакажа ці схавае OSM-нататкі на мапе.
+ Пераключальнік адлюстравання OSM-нататак на мапе.
Адсартавана па адлегласці
- Пошук улюбёных
+ Пошук ва ўлюбёных мясцінах
Убудова
- Для прагляду контурных ліній на мапе, вам неабходна набыць і ўсталяваць убудову «Contour Lines»
+ Набудзьце і ўсталюйце ўбудову \"Контурныя лініі\" для адлюстравання градыентаў вертыкальных абласцей.
Каляровая схема
Дазволіць прыватны доступ
Дазволіць доступ на прыватную тэрыторыю.
- Каб убачыць зацяненне рэльефу, спампуйце мапу «Hillshade Overlay» гэтага рэгіёна.
- Каб убачыць зацяненне рэльефу, вам неабходна набыць і ўсталяваць убудову «Contour Lines»
- Схаваць ад узроўня маштабавання
- Спампаваць мапу «Contour Line» для выкарыстання ў гэтым рэгіёне.
- Паказваць ад узроўня маштабавання
+ Спампуйце мапу \"Покрыва зацянення рэльефу\" для адлюстравання вертыкальнага зацянення гэтага рэгіёна.
+ Усталюйце убудову \"Контурныя лініі\" для адлюстравання градыентаў вертыкальных абласцей.
+ Схаваць ад узроўню маштабавання
+ Спампуйце мапу \"Контурныя лініі\" для выкарыстання ў гэтым рэгіёне.
+ Паказваць ад узроўню маштабавання
Узровень маштабавання паказу: %1$s
Для вялікіх адлегласцяў: калі ласка, дадайце прамежкавыя пункты, калі разлік не завяршыўся цягам 10 хвілін.
Лыжня
@@ -2357,9 +2357,10 @@
\n• Адаптуе мапу ў напрамку вашага руху (ці компаса)
\n• Паказвае, дзе вы знаходзіцеся і куды вы глядзіце
\n• Дзяліцеся сваім месцазнаходжаннем, каб сябры змаглі знайсці вас
-\n• Захоўвае вашы самыя важныя месцы ва «Ўлюбёных»
+\n• Захоўвае вашы самыя важныя месцы ва ўлюбёных мясцінах
\n• Дазваляе вам абраць як адлюстроўваць назвы на мапе: на англійскай мове, мясцовай мове, ці фанетычным напісаннем
-\n• Адлюстроўвае адмысловыя сеціўныя тайлы, спадарожнікавыя здымкі (з Bing), розныя адзнакі, як турыстычныя/навігацыйныя GPX-сляды і дадатковыя пласты з наладжваемай празрыстасцю
+\n• Адлюстроўвае адмысловыя сеціўныя тайлы, спадарожнікавыя здымкі (з Bing), розныя адзнакі, як турыстычныя/навігацыйныя GPX-сляды і дадатковыя пласты з наладжваемай празрыстасцю
+\n
Язда на ровары
\n • Вы можаце знайсці роварныя шляхі на мапе
\n • GPS-навігацыя ў роварным рэжыме будуе маршрут выкарыстоўваючы роварныя шляхі
@@ -2371,7 +2372,7 @@
Дазваляе хутка дадаць фотаздымкі ў Mapillary.
Вулічныя фота праз сеціва для кожнага. Адкрывайце для сябе месцы, дапамагайце, здымайце свет.
Дадаць фотаздымкі
- Падзяліцца сваімі вулічнымі краявідамі гэтай мясцовасці праз Mapillary.
+ Падзяліцца краявідамі гэтай мясцовасці праз Mapillary.
Шпацыры, паходы, экскурсіі
\n • Мапа паказвае пешаходныя сцежкі
\n • Вікіпедыя абранай мовай распавядзе вам шмат чаго цікавага падчас экскурсіі
@@ -2392,7 +2393,7 @@
\n • Пошук месцаў па адрасе, тыпу (напрыклад, рэстарацыя, гатэль, запраўка, музей) ці геаграфічных каардынатах
\n
Сеціўныя фотаздымкі
- Фотаздымкі для гэтага месца адсутнічаюць.
+ Тут няма фотаздымкаў.
Вулічныя фотаздымкі для ўсіх. Адкрывайце для сябе месцы, дапамагайце, здымайце свет.
GPS-навігацыя
\n • Выбар паміж аўтаномным рэжымам (без платы за роўмінг) і сеціўным (хутчэй)
@@ -2471,12 +2472,12 @@
Выява Mapillary
Дыстанцыя выпраўленая
Дазволы
- OsmAnd не можа імпартаваць файл. Калі ласка, праверце, ці мае OsmAnd дазвол на чытанне файлаў з гэтага каталога.
+ Не атрымалася імпартаваць файл. Калі ласка, праверце, ці мае OsmAnd дазвол на чытанне файлаў з гэтага каталога.
Радыусная лінейка
Няправільнае імя карыстальніка
Да
Ад
- Паглядзець толькі дададзеныя выявы
+ Паказваць толькі дададзеныя выявы
Дата
Увядзіце імя карыстальніка
"Паглядзець толькі выявы, дададзеныя"
@@ -2529,7 +2530,7 @@
Дадаць лінію
Дадаць GPX-файлы
Імпартаваць GPX-файлы ці запісаныя сляды.
- Дадаць улюбёныя
+ Дадаць улюбёныя мясціны
Імпартаваць улюбёныя ці дадаць з адзнак на мапе.
Імпартаваць GPX-файл
Файл %1$s не змяшчае пункты шляху, імпартаваць як след\?
@@ -2557,16 +2558,16 @@
Апошнія 7 дзён
Сёлета
Выдаліць з адзнак мапы
- па ўбыванні
- па ўзрастанні
- Дата дадання
+ Я-А
+ А-Я
+ Дададзена
Парадкаваць па:
Паказаць лініі накірунку
Паказаць стрэлкі на мапе
Паказаць пройдзеныя
Схаваць пройдзеныя
Выкарыстоўваць становішча
- Дадаць ваша становішча як пачатковы пункт пры планаванні маршруту.
+ Дадаць ваша становішча як пункт адпраўлення пры планаванні маршруту.
Маё становішча
Фініш
Планаваць маршрут
@@ -2600,7 +2601,7 @@
Назад
Праглядзець
Пункты шляху дададзеныя ў адзнакі мапы
- могуць быць імпартаваныя як «Улюбёныя» ці як GPX-файл.
+ могуць быць імпартаваныя як улюбёныя мясціны ці як GPX-файл.
Імпартаваць як GPX-файл
Імпартаваць як улюбёныя
Імпартаваць файл
@@ -2614,21 +2615,21 @@
Змяніць назву адзнакі
Два
Адзін
- Абярыце катэгорыю ўлюбёных, каб дадаць у адзнакі.
+ Абярыце катэгорыю ўлюбёных мясцін, каб дадаць у адзнакі.
Пункты следу
- Катэгорыя ўлюбёных
+ Катэгорыя ўлюбёных мясцін
Дадаць групу
- Імпартаваць групы з улюбёных ці GPX-пунктаў.
+ Імпартаваць групы з улюбёных мясцін ці GPX-пунктаў.
Стварыце адзнакі на мапе!
- Дакраніцеся месца і потым націсніце кнопку адзнакі.
+ Дакраніцеся да патрэбнага месца, а потым націсніце кнопку адзнакі.
Імпартаваць групы
- Імпартаваць групы ўлюбёных ці пункты шляху як адзнакі.
+ Імпартаваць групы ўлюбёных мясцін ці пункты шляху як адзнакі.
Адзнакі, пазначаныя як пройдзенныя, з\'явяцца на гэтым экране.
Паказвае лініі накірунку ад вашага становішча да актыўнай адзнакі.
Паказвае адну ці дзьве стрэлкі, якія паказваюць накірунак да актыўных адзнак.
Абярыце, як адлюстроўваць адлегласць да актыўных адзнак.
Вызначце колькасць указальнікаў кірунку:
- Вонкавы выгляд на мапе
+ Выгляд на мапе
Абраць след, каб дадаць яго пункты ў адзнакі.
Направа
Налева
@@ -2661,7 +2662,7 @@
Дзеянні
Адзнака
Змен %1$s, сума %2$s mBTC
- OSM-атрымальнікі
+ Ахвяраванні атрымалі
Агулам ахвяраванняў
Адчынена з
Адчынена да
@@ -2796,9 +2797,9 @@
Для марской навігацыі. Асноўныя магчымасці: буі, маякі, рачныя і марскія маршруты і адзнакі, гавані, марскія паслугі, контуры глыбіні.
Для катання на лыжах. Асноўныя магчымасці: адмалёўка трас, пад\'ёмнікаў і іншых лыжных аб\'ектаў зручным спосабам. Менш другасных аб\'ектаў.
Просты стыль для аўтамабільнай навігацыі. Мяккі начны рэжым, контурныя лініі, кантрастныя дарогі ў аранжавым стылі, зацененыя другасныя аб\'екты мапы.
- "Кантрастны стыль, прызначаны ў першую чаргу для шпацыру, паходу і катання на ровары. Добрая чытальнасць пры складаным асвятленні. Асноўныя магчамасці: кантрастныя дарогі і прыродныя аб\'екты, розныя тыпы маршрутаў, контурныя лініі з пашыранымі наладамі, больш падрабязная інфармацыя на адпаведных узроўнях маштабавання, чым у прадвызначаным стылі. Параметр цэласнасці паверхні дазваляе адрозніваць дарогі з рознай якасцю паверхні. Без начнога рэжыму."
+ Для шпацыру, паходу і катання на ровары. Добрая чытальнасць пры слабым асвятленні. Кантрастныя дарогі і прыродныя аб\'екты, розныя тыпы маршрутаў, контурныя лініі з дадатковымі наладамі, больш падрабязная інфармацыя. Параметр якасці дарожнага пакрыцця дае магчымасць адрозніваць дарогі з розным пакрыццём. Без начнога рэжыму.
Стары прадвызначаны стыль Mapnik. Колеры падобныя на Mapnik.
- Стыль агульнага прызначэння. Спрошчаная чыстая адмалёўка ў шчыльнанаселеных гарадах. Асноўныя магчымасці: контурныя лініі, якасць паверхні, абмежаванні доступу, дарожныя шчыты, адмалёўка шляхоў па шкале SAC, аб\'екты водных сплаваў.
+ Стыль агульнага прызначэння. Спрошчанае адлюстраванне шчыльнанаселеных гарадоў. Пазначаюцца контурныя лініі, якасць паверхні, абмежаванні доступу, дарожныя шчыты, візуалізацыя маршрутаў па шкале SAC, аб\'екты спартовых сплаваў.
Адкрыць спасылку на Вікіпедыю анлайн
Спасылка адкрыецца ў вэб-браўзеры.
Атрымайце падпіску на OsmAnd Live, каб чытаць артыкулы Вікіпедыі і Wikivoyage па-за сецівам.
@@ -2807,7 +2808,7 @@
Спампаваць усё
Закладка
Для кіравання па бездарожжы на аснове стылю \"Topo\" з выкарыстаннем зялёных спадарожнікавых здымкаў як падкладкі. Паменшаная таўшчыня асноўных дарог, павялічаная таўшчыня слядоў, сцежак, роварных і іншых трас.
- Высокадэталізаваны стыль для турыстычнах мэтаў. Уключае ў сябе ўсе параметры канфігурацыі прадвызначанага стылю і, акрамя таго: паказвае, як мага больш дэталяў, наколькі гэта магчыма, у прыватнасці, усе дарогі, шляхі і іншыя спосабы перамяшчэння. Зразумелае візуальнае адрозненне паміж рознымі тыпамі дарог, якое нагадвае многія турыстычныя атласы. Высокакантрастная каляровая схема для вулічнага выкарыстання з дзённым і начным рэжымам.
+ Турыстычны стыль з высокімі кантрастам і дэталізацыяй. Уключае ў сябе ўсе параметры канфігурацыі прадвызначанага стылю і, акрамя таго, як мага падрабязней адлюстроўваюцца дарогі, сцежкі і іншыя шляхі перамяшчэння. Зразумелае візуальнае адрозненне паміж рознымі тыпамі дарог, якое нагадвае многія турыстычныя атласы. Пасуе для выкарыстання знадворку ў дзённым і начным рэжымах.
Прамежкавы час прыбыцця
Прамежкавы час
Мадыфікацыя прадвызначанага стылю для павялічэння кантрастнасці пешаходных і роварных дарог. Выкарыстоўвае старыя Mapnik-колеры.
@@ -3321,4 +3322,144 @@
%1$s • %2$s
Вольна %1$s Гб (з %2$s Гб)
Выкарыстоўваецца для разліку прыблізнага часу прыбыцця для невядомага тыпу дарог і абмежавання хуткасці для ўсіх дарог (можа змяніцца маршрут)
+ Белы
+ След захаваны
+ Назва файла пустая
+ Вярнуцца
+ Адлюстроўваць сеткі вузлоў роварных маршрутаў
+ Ачысціць %1$s\?
+ Дыялог спампоўвання мапы
+ Дыялогі і апавяшчэнні
+ Кіраванне выплыўнымі вокнамі, дыялогамі і апавяшчэннямі OsmAnd.
+ Сеткі вузлоў
+ Прапанаваныя мапы
+ Гэтыя мапы неабходна выкарыстоўваць з убудовай
+ Дададзеныя профілі
+ Убудова дадае новы профіль у OsmAnd
+ Выключыць
+ Дададзена новая ўбудова
+ Аб’яднаць сегменты
+ Дадаць новы профіль \"%1$s\"\?
+ Захоўваць кірунак
+ Падчас запісу захоўваць кірунак для кожнага пункта маршруту.
+ %1$s • %2$s
+ %1$s, %2$s
+ Асабісты
+ Спампоўванне %s
+ Тоўста
+ Для пустэльняў і іншых малазаселеных абласцей. Паказваецца больш звестак на шкале прагляду.
+ Абярыце значок навігацыі
+ Абярыце значок мапы
+ Пасля націскання кнопкі \"Ужыць\" выдаленыя профілі назаўсёды страцяцца.
+ Базавы профіль
+ Абярыце колер
+ Вы не можаце выдаліць прадвызначаныя профілі OsmAnd, але можаце выключыць іх на папярэднім экране, альбо перамясціць уніз.
+ Рэдагаваць профілі
+ Тып навігацыі ўплывае на правілы разліку маршруту.
+ Выгляд профілю
+ Абярыце значок, колер і назву
+ Рэдагаваць спіс профіляў
+ Абраны профіль
+ Калі націснеце %1$s, то ўсе змены страцяцца.
+ Усе налады профілю скінуцца да прадвызначаных значэнняў.
+ Скінуць усе налады профілю да прадвызначаных значэнняў\?
+ %1$s %2$s
+ %1$s: %2$s
+ Пазбягаць пэўныя маршруты і тыпы дарог
+ Мотаўсюдыход
+ Канатная дарога
+ Злучэнне
+ Разлічыць
+ Выкарыстанне OsmAnd
+ Тайлы
+ Мапы
+ %1$s ТБ
+ %1$s ГБ
+ %1$s МБ
+ %1$s кБ
+ Каталог захоўвання слядоў
+ Сляды могуць захоўвацца ў каталозе \'rec\', або ў штомесячных ці штодзённых каталогах.
+ Запісваць сляды ў каталог \'rec\'
+ Запісваць сляды ў штодзённыя каталогі
+ Выкарыстана %1$s TБ
+ Выкарыстана %1$s ГБ
+ Выкарыстана %1$s МБ
+ Выкарыстана %1$s КБ
+ Контурныя лініі і зацяненне рэльефу
+ Аддаваць перавагу грунтавым дарогам
+ Аддаваць перавагу грунтавым дарогам.
+ Абнавіць усе мапы
+ Вы можаце ўжыць гэтыя змены да ўсіх профіляў ці толькі да абранага.
+ Агульны
+ Аддаваць перавагу грунтавым дарогам
+ Аддаваць перавагу дарогам без пакрыцця.
+ Змены OSM
+ Пераключальнік для адлюстравання/хавання контурных ліній на мапе.
+ Паказаць контурныя лініі
+ Схаваць контурныя лініі
+ Паказаць/схаваць контурныя лініі
+ Пераключальнік для адлюстравання/хавання зацянення рэльефу на мапе.
+ Паказаць зацяненне рэльефу
+ Схаваць зацяненне рэльефу
+ Паказаць/схаваць зацяненне рэльефу
+ Немагчыма запусціць механізм пераўтварэння тэксту ў гаворку
+ Экспарт профілю
+ Профіль OsmAnd: %1$s
+ Профіль \"%1$s\" ужо існуе. Перазапісаць\?
+ Не атрымалася экспартаваць профіль.
+ Імпарт профілю
+ Каб імпартаваць профіль, абярыце яго файл на прыладзе і адкрыйце з дапамогай OsmAnd.
+ Памылка імпарту %1$s: %2$s
+ %1$s паспяхова імпартаваны.
+ Памяняць месцамі %1$s і %2$s
+ Пачатковы пункт
+ Уставіць шлях да каталога з данымі OsmAnd
+ Змяніць каталог даных OsmAnd\?
+ Перамясціць у новы пункт прызначэння
+ Запісваць сляды кожны дзень у новы падкаталог (напрыклад, 2018-01-01).
+ Сапраўды хочаце абнавіць усе мапы (%1$d)\?
+ Стварыце свой профіль на аснове аднаго з базавых профіляў - гэта будзе вызначаць асноўныя параметры, такія як віджэты, адзінкі вымярэння хуткасці і адлегласці. Гэта тыповыя профілі дадатку, якія разам з прыкладамі профіляў карыстальніка можна пашырыць да:
+ Маршруты, падрыхтаваныя толькі для класічнага стылю без канькабежных трас. Сюды ўваходзяць маршруты, падрыхтаваныя невялікім снегаходам з больш свабоднай лыжнёй і трасамі, падрыхтаваныя ўручную лыжнікамі.
+ Спампаваць падрабязную мапу %s, каб праглядзець гэтую вобласць.
+ Унутранае сховішча, схаванае ад карыстальніка і іншых дадаткаў, даступнае выключна для OsmAnd
+ Змена каталога захавання даных
+ Ландшафтны парк
+ Самаходныя і несамаходныя сані (запрэжкі)
+ Толькі самаходныя сані
+ Паход
+ Злучэнне
+ Скітур
+ Спуск
+ Скандынаўскі
+ Тып гарналыжнай трасы
+ Пачатковец
+ Лёгкая
+ Сярэдняя
+ Высокая
+ Экспертная
+ Фрырайд
+ Экстрым
+ Не вызначана
+ Складанасць гарналыжнай трасы
+ Абмежаванне па шырыні
+ Увядзіце шырыню транспартнага сродку для ўліку пры разліку маршруту.
+ • Абноўлены налады прыкладання і профілю. Цяпер налады размешчаны па тыпу. Кожны профіль можна наладзіць асобна.
+\n
+\n • Новы дыялог загрузкі мапы, які прапануе загрузіць мапу падчас прагляду
+\n
+\n • Выпраўленне цёмнай тэмы
+\n
+\n • Выпраўлена некалькі праблем з маршрутызацыяй па ўсім свеце
+\n
+\n • Абноўленая базавая мапа з больш падрабязнай дарожнай сеткай
+\n
+\n • Выпраўлены затопленыя раёны па ўсім свеце
+\n
+\n • Гарналыжная траса: дададзены профіль вышынь і складанасць маршруту
+\n
+\n • Іншыя выпраўленні памылак
+\n
+\n
+ Сімуляваць сваю пазіцыю пры дапамозе запісанага GPX-следу.
+ Кнопка для прызначэння цэнтра экрана пунктам адпраўлення. Таксама дадатак пракладзе шлях да раней абранага пункта прызначэння або адкрые дыялог для выбару пункта прызначэння, калі яго няма на мапе.
\ No newline at end of file
diff --git a/OsmAnd/res/values-ca/strings.xml b/OsmAnd/res/values-ca/strings.xml
index 4c22202760..3583a48f35 100644
--- a/OsmAnd/res/values-ca/strings.xml
+++ b/OsmAnd/res/values-ca/strings.xml
@@ -3308,8 +3308,8 @@ Abasta l\'àrea: %1$s x %2$s
%1$s MB
%1$s kB
Carpeta d\'emmagatzematge de traces
- Les traces es poden emmagatzemar a la carpeta \'rec\', a les carpetes mensuals o a les diàries.
- Enregistra les traces a la carpeta \'rec\'
+ Les traces es poden emmagatzemar a la carpeta «rec», a les carpetes mensuals o a les diàries.
+ Enregistra les traces a la carpeta «rec»
Enregistra les traces a les carpetes diàries
Enregistra les traces en carpetes segons el dia d\'enregistrament (tipus 2019-01-01).
%1$s TB utilitzats
@@ -3378,7 +3378,7 @@ Abasta l\'àrea: %1$s x %2$s
Tessel·les
Exporta el perfil
Perfil d\'OsmAnd: %1$s
- El perfil \'%1$s\' ja existeix. El voleu sobreescriure\?
+ El perfil «%1$s» ja existeix. El voleu sobreescriure\?
No s\'ha pogut exportar el perfil.
Importació del perfil
Per a importar un perfil, seleccioneu-ne el fitxer en el dispositiu i obriu-lo amb OsmAnd.
@@ -3427,4 +3427,8 @@ Abasta l\'àrea: %1$s x %2$s
Edita la llista de perfils
Perfil seleccionat
Un botó per establir el punt central de la pantalla com el punt de sortida i calcular la ruta vers la destinació o obrir una petició per seleccionar-la si no hi ha un marcador de destinació al mapa.
+ Memòria intermèdia del Logcat
+ En fer clic a %1$s perdreu tots els vostres canvis.
+ La configuració de tot el perfil es reinicialitzarà a l\'estat postinstalació.
+ Voleu reinicialitzar totes les configuracions del perfil als valors per defecte\?
\ No newline at end of file
diff --git a/OsmAnd/res/values-da/strings.xml b/OsmAnd/res/values-da/strings.xml
index 3145eefb1e..a5ebd8857c 100644
--- a/OsmAnd/res/values-da/strings.xml
+++ b/OsmAnd/res/values-da/strings.xml
@@ -3429,4 +3429,6 @@ Repræsenterer område: %1$s x %2$s
Ved at klikke på %1$s, mistes alle ændringer.
Alle profilindstillinger nulstilles.
Nulstil alle profilindstillinger til standard\?
+ %1$s %2$s
+ %1$s: %2$s
\ No newline at end of file
diff --git a/OsmAnd/res/values-de/phrases.xml b/OsmAnd/res/values-de/phrases.xml
index 1ec73bd270..4e437468bb 100644
--- a/OsmAnd/res/values-de/phrases.xml
+++ b/OsmAnd/res/values-de/phrases.xml
@@ -439,7 +439,7 @@
Mitte-Fahrwasser-Bake
Sonderzeichen-Bake
Landesteg
- Brücke (Seezeichen)
+ Seezeichen: Brücke
Seezeichengebäude
Untiefentonne (Kardinal)
Ansteuertonne
@@ -456,7 +456,7 @@
Hafen
Hafenbecken
Landmarke
- Leuchtfeuer, Seezeichen
+ Seezeichen: Leuchtfeuer
Treibendes Leuchtfeuer
Hauptleuchtfeuer
Nebenleuchtfeuer
@@ -763,7 +763,7 @@
Slowakisches Wiki
Polnisches Wiki
Niederländisches Wiki
- Neu-Norwegisches Wiki
+ Neu-norwegisches Wiki
Norwegisches Wiki
Kroatisches Wiki
Haitianisches Wiki
@@ -773,7 +773,7 @@
Arabisches Wiki
Weißrussisches Wiki
Bulgarisches Wiki
- Cebuanosprachiges Wiki
+ Cebuano-Wiki
Tschechisches Wiki
Dänisches Wiki
Deutsches Wiki
@@ -864,7 +864,7 @@
Nationaler Wanderweg
Regionaler Wanderweg
Örtlicher Wanderweg
- Wanderwegshinweis
+ Wanderweghinweis
Leerungszeiten
Betriebszeiten
Verlassenes Objekt
@@ -933,7 +933,7 @@
Dusche
E-Mail
Fax
- "Facebook "
+ Facebook
Handy
nein
ja
@@ -944,7 +944,7 @@
Zutritt verboten
Kundenverkehr frei
Lieferverkehr frei
- Landwirtschaftl. Verkehr frei
+ Landwirtschaftlicher Verkehr frei
Recyclingzentrum
Aluminium
Weiße Ware
@@ -1012,13 +1012,13 @@
Voodoo
Katholisch
Baptistisch
- Römisch-Katholisch
+ Römisch-katholisch
Orthodox
Lutherisch
Protestantisch
Methodistisch
- Russisch-Orthodox
- Griechisch-Orthodox
+ Russisch-orthodox
+ Griechisch-orthodox
Reformiert
Siebenten-Tags-Adventisten
Neuapostolisch
@@ -1030,7 +1030,7 @@
Anfangsdatum
ja
nein
- Eingeschränkt
+ eingeschränkt
Großhandel
Inhalt: Silage
Inhalt: Wasser
@@ -1096,7 +1096,7 @@
Zeitweise
Verklemmung
Länge
- Elektrogeräte-Reparatur
+ Elektrogerätereparatur
Stütze
Kriegsdenkmal
Statue
@@ -1133,10 +1133,10 @@
Maximalbreite
IATA-Code
ICAO-Code
- FAA Code
+ FAA-Code
Breite
Architekt
- Architektur: Modern
+ Architektur: modern
Straßentunnel
Fußgängertunnel
Eisenbahntunnel
@@ -1174,7 +1174,7 @@
Tanz
Militär
Kinder
- Frauen
+ Damen
Sport
Männer
Orthopädisch
@@ -1277,14 +1277,14 @@
Evangelikal
Mormonen
Jehovas Zeugen
- Griechisch-Katholisch
- Bulgarisch-Orthodox
+ Griechisch-katholisch
+ Bulgarisch-orthodox
Adventisten
- Serbisch-Orthodox
+ Serbisch-orthodox
Apostolisch
Reformierte
- Georgisch-Orthodox
- Koptisch-Orthodox
+ Georgisch-orthodox
+ Koptisch-orthodox
Fahrradständer
Vorderradständer
Gemischt
@@ -1329,7 +1329,7 @@
ja
Nicht überdacht
Nicht erlaubt
- Nur Außerhalb
+ Nur außerhalb
Erlaubt
In einem separaten Raum
ja
@@ -1357,9 +1357,9 @@
Trittsteine
Grüne Wiese
Jainismus
- schwarzes Brett
- Gartenstil: Englisch
- Gartenstil: Japanisch
+ Schwarzes Brett
+ Gartenstil: englisch
+ Gartenstil: japanisch
Kapazität
ja
Keine Behindertenplätze
@@ -1374,8 +1374,8 @@
Elternplätze
Kabinen-, Gondel-, Sesselkapazität
Kapazität pro Stunde
- durchschnittliche Fahrzeit, Minuten
- mit Überdachung
+ Durchschnittliche Fahrzeit, Minuten
+ Mit Überdachung
Ohne Überdachung
ja
Keine Heizung
@@ -1387,7 +1387,7 @@
Ein- und Ausgang
Sommereingang
Sommerausgang
- Sommer Ein- und Ausgang
+ Sommerein- und -ausgang
1 (Tourist)
1S (gehobener Tourist)
2 (Standard)
@@ -1397,14 +1397,14 @@
4 (Erste Klasse)
4S (gehobene Erste Klasse)
5 (Luxus)
- 5S (gehobenes De Luxe)
+ 5S (gehobener Luxus)
Sterne: 6
Sterne: 7
Zimmer
Münzen
Münzen nicht akzeptiert
- $0,50 Münzen
- 50c, 1€ und 2€ Münzen
+ Halbdollar-Münzen
+ 50-Cent-, 1-Euro- und 2-Euro-Münzen
Telefonkarten
Telefonkarten nicht akzeptiert
Kreditkarten
@@ -1467,10 +1467,10 @@
Pfingstler
Kirche von England
Episkopalkirche
- Schia
+ Schiitisch
Vereinigten
Tibetisch
- Vereinigt Reformiert
+ Vereinigt-reformiert
Kirche von Schottland
Heilsarmee
Iglesia ni Cristo
@@ -1482,13 +1482,13 @@
Vereinigte Methodisten
Altgläubige
Spiritist
- Armenisch-Apostolisch
- Niederländisch-Reformiert
- Heiligen der Letzten Tage
+ Armenisch-apostolisch
+ Niederländisch-reformiert
+ Heilige der Letzten Tage
Kirche Christi
Vereinigte Kirche Christi
Wissenschaftler
- Rumänisch-Orthodox
+ Rumänisch-orthodox
Typ: Wappen
Material: Stahlbeton
Material: Beton
@@ -1504,11 +1504,11 @@
Stadt
Nekropole
Erdarbeiten
- Megalith-Typ: Menhir
- Megalith-Typ: Dolmen
+ Megalithtyp: Menhir
+ Megalithtyp: Dolmen
Befestigungstyp: Wallburg
Befestigungstyp: Limes
- Festungsbautyp: Schanze
+ Befestungstyp: Schanze
Befestigungstyp: Ringgraben
Pa (befestigte Siedlung der Maori)
Historischer Bauernhof
@@ -1592,19 +1592,19 @@
Moor
Marsch
Schilf
- (Bau)Schutt
+ Bauschutt
Bauland
Unitarischer Universalismus
Multikonfessionell
Scientology
Vereinigung
Kongregationalistisch
- Äthiopisch-Orthodoxe Tewahedo-Kirche
+ Äthiopisch-orthodoxe Tewahedo-Kirche
Unitarisch
Wesleyaner
Shingon-shū
- Mahayana Buddhisten
- Jersey Barriere
+ Mahayana-Buddhisten
+ Jersey-Barriere
Nadelwald
Küche
Wegweiser
@@ -1620,7 +1620,7 @@
Lkw-Maut
ja
Ohne Blindenleitsystem
- Nur wenn Gehen erlaubt ist
+ Nur, wenn Gehen erlaubt ist
Raststätte
Bahnübergang
Reiten
@@ -1643,7 +1643,7 @@
Gartentyp: botanisch
Gartenstil: Küchengarten
Gartenstil: Rosengarten
- Gartenstil: Französisch
+ Gartenstil: französisch
Liebeshotel
Elektronische Geldbörsen
UTA
@@ -1669,7 +1669,7 @@
Routex-Tankkarten nicht akzeptiert
Bancomat
Bancomat nicht akzeptiert
- vorausbezahlte Fahrkarten
+ Vorausbezahlte Fahrkarten
JCB
JCB-Karten nicht akzeptiert
Eurowag
@@ -1693,9 +1693,9 @@
E‑ZPass nicht akzeptiert
KITCard
KITCard nicht akzeptiert
- V PAY
+ V-Pay
V-Pay-Karten nicht akzeptiert
- Dogecoin Ɖ
+ Dogecoin
Dogecoin nicht akzeptiert
Cibus
Cibus-Karten nicht akzeptiert
@@ -1705,7 +1705,7 @@
Geldkarte nicht akzeptiert
Proton
Proton-Karten nicht akzeptiert
- Avant Karte
+ Avantcard
Avantcard nicht akzeptiert
MEP
MEP nicht akzeptiert
@@ -1719,7 +1719,7 @@
Monedero 4B nicht akzeptiert
Monedero
Monedero nicht akzeptiert
- BankAxes
+ BankAxess
BankAxess nicht akzeptiert
Coinkite
Coinkite nicht akzeptiert
@@ -1727,8 +1727,8 @@
Roadrunner-Karten nicht akzeptiert
SVG
SVG nicht akzeptiert
- SMS Zahlungen
- SMS-Zahlung nicht akzeptiert
+ SMS-Zahlungen
+ SMS-Zahlungen nicht akzeptiert
OV-Chipkaart
OV-Chipkaart nicht akzeptiert
Oyster
@@ -1751,7 +1751,7 @@
Golden Crown-Karten nicht akzeptiert
PRO100
PRO100-Karten nicht akzeptiert
- Union Karte
+ Union-Karte
Union-Karte nicht akzeptiert
MTS-Money
MTS-Money nicht akzeptiert
@@ -1762,19 +1762,19 @@
Internetzugang: kostenlos
Veranstaltungsort
Nur vegetarisch
- Vegetarische
+ Vegetarisch
Vegetarisch: nein
- vegetarisch (wenige)
+ Vegetarisch (wenige)
Nur vegan
Vegan
Vegan: nein
- Nur glutenfreie
- glutenfrei
+ Nur glutenfrei
+ Glutenfrei
Glutenfrei: nein
Nur koscher
Koscher
Koscher: nein
- Nur Halal
+ Nur halal
Halal
Halal: nein
Nur laktosefrei
@@ -1799,7 +1799,7 @@
Rundumservice
Flugzeugtankstelle
Öffentliches Bad
- im Freien
+ Im Freien
Innen
Rollstuhlgerechte Toilette: ja
Rollstuhlgerechte Toilette: nein
@@ -1817,7 +1817,7 @@
Fahrscheine
Getränke
Süßigkeiten
- Paketausgabe und -annahmestelle
+ Paketausgabe- und -annahmestelle
Kondome
Briefmarken
Essen
@@ -1850,7 +1850,7 @@
Stele
Büste
Koshinto
- blaue Plakette
+ Blaue Plakette
Jizo
Kreuzförmig
Fahrzeug
@@ -1905,8 +1905,8 @@
Felsüberhang
Sonnenschutz
Feldhütte
- Unterstand-Typ: Zelt
- Unterstand-Typ: verlassen
+ Unterstandtyp: Zelt
+ Unterstandtyp: verlassen
Tempelturm
Baryt
Strangmoor
@@ -1923,16 +1923,16 @@
Kunstart: Graffiti
Kunstart: Stele
Kunstart: Brunnen
- Architektur: Stalinistischer Neoklassizismus
- Architektur: Eklektisch
+ Architektur: stalinistischer Neoklassizismus
+ Architektur: eklektisch
Architektur: Neue Sachlichkeit
- Architektur: Zeitgenössisch
+ Architektur: zeitgenössisch
Architektur: Konstruktivismus
Architektur: Umgebinde
Architektur: Holzrahmen
Architektur: Jugendstil
Architektur: Neoklassizismus
- Architektur: Viktorianisch
+ Architektur: viktorianisch
Architektur: Brutalismus
Architektur: Klassizismus
Architektur: Gotik
@@ -1943,12 +1943,12 @@
Architektur: Romanik
Wassertunnel
Wasserbrücke
- Brückenkonstruktion: Strahl
+ Brückenkonstruktion: Balken
Brückenkonstruktion: einfache Aufhängung
Brückenkonstruktion: Aufhängung
Brückenkonstruktion: Bogen
Brückenkonstruktion: Fachwerk
- Brückenkonstruktion: Schwimmend
+ Brückenkonstruktion: schwimmend
Brückenkonstruktion: Buckel
Brückenkonstruktion: Schrägseil
Brückenkonstruktion: Promenade
@@ -1966,7 +1966,7 @@
Beweglicher Brückentyp: Schubbrücke
Beleuchtung: ja
Beleuchtung: nein
- Oberfläche: unbefestigte
+ Oberfläche: unbefestigt
Oberfläche: befestigt
Oberfläche: Asphalt
Oberfläche: Beton
@@ -1990,7 +1990,7 @@
Oberfläche: Salz
Oberfläche: Schnee
Bus
- geteiltes Taxi
+ Geteiltes Taxi
Oberleitungsbus
Straßenbahn
Zug
@@ -2012,7 +2012,7 @@
Fahrradpumpe: nein
Fahrradwerkzeuge für Eigenreparatur: nein
Werkzeuge für Eigenreparatur
- Reinigung
+ Fahrradreinigung
Fahrradreinigung: nein
Fahrradkettenwerkzeug
Fahrradkettenwerkzeug: nein
@@ -2055,7 +2055,7 @@
Beförderungstyp: Pferd
Honiggeschäft
Technisches Denkmal
- Camping-Büro
+ Campingbüro
Modellflugplatz
Fremdenführerbüro
Mittlerorganisation
@@ -2105,7 +2105,7 @@
Burgtyp: Palast
Burgtyp: Verteidigung, stattlich
Thailändisch
- Sexuelle
+ Sexuell
Massagen
Therapeutisch
Sauna
@@ -2172,25 +2172,25 @@
Typ: Sarkophag
Typ: Krypta
Typ: Pyramide
- Kultur: Römische Antike (753 v.Chr. - 284 n.Chr..)
- Kultur: Nuraghen (18. Jh. v.Chr. - 2 Jh. n.Chr.)
+ Kultur: römische Antike (753 v. Chr. - 284 n. Chr.)
+ Kultur: Nuraghen (18. Jh. v. Chr. - 2. Jh. n. Chr.)
Kultur: Etrusker (12. - 6. Jh. v. Chr.)
- Kultur: Prähistorisch
- Kultur: Griechische Antike
- Kultur: Römisch
- "Kultur: byzantinisch (285 - 1453 n. Chr.)"
- "Kultur: Chinesische Kaiserzeit (221 - 1911 v.Chr.)"
- Kultur: Altes Ägypten (bis 332 v.Chr.)
- Kultur: Keltisch
- Kultur: Weströmisch (285 - 476 n. Chr.)
- Kultur: Mykenisch
+ Kultur: prähistorisch
+ Kultur: griechische Antike
+ Kultur: römisch
+ Kultur: byzantinisch (285 - 1453)
+ Kultur: chinesische Kaiserzeit (221 v. Chr. - 1911 n. Chr.)
+ Kultur: altes Ägypten (bis 332 v. Chr.)
+ Kultur: keltisch
+ Kultur: weströmisch (285 - 476)
+ Kultur: mykenisch
Kultur: Daker
Kultur: Herniker
- Kultur: Griechisch-ägyptisch (322 - 30 v.Chr.)
- Kultur: Römisch- und byzantinisch-ägyptisch
+ Kultur: griechisch-ägyptisch (322 - 30 v. Chr.)
+ Kultur: römisch- und byzantinisch-ägyptisch
Kultur: Helladikum
Kultur: Kykladen
- Kultur: Minoisch
+ Kultur: minoisch
Kultur: Tiahuanaco
Tierausbildung
Hund
@@ -2199,21 +2199,21 @@
Historisches Zeitalter: Steinzeit / Bronzezeit (unbestimmt)
Historisches Zeitalter: Bronzezeit
Historisches Zeitalter: Prinzipat (27 v. Chr. - 284 n. Chr.)
- Historisches Zeitalter: Klassisches Griechenland (5. - 4. Jhd. v. Chr.)
+ Historisches Zeitalter: klassisches Griechenland (5. - 4. Jhd. v. Chr.)
Historisches Zeitalter: Archaisches Griechenland
Historisches Zeitalter: Eisenzeit
- Historisches Zeitalter: Römische Republik (508 - 27 v. Chr.)
+ Historisches Zeitalter: römische Republik (508 - 27 v. Chr.)
Historisches Zeitalter: Hellenistisches Griechenland
- "Historisches Zeitalter: Pharaonen, Neues Reich (1550 - 1068 v. Chr.)"
- Historisches Zeitalter: Pharaonen, Mittleres Reich (2055 - 1650 v. Chr.)
+ Historisches Zeitalter: Pharaonen, neues Reich (1550 - 1068 v. Chr.)
+ Historisches Zeitalter: Pharaonen, mittleres Reich (2055 - 1650 v. Chr.)
Historisches Zeitalter: Vordynastisches Ägypten
Historisches Zeitalter: Pharaonen, frühdynastische Zeit (3100 – 2686 v. Chr.)
- Historisches Zeitalter: Pharaonen, Altes Reich (2686 - 2181 v. Chr.)
- Historisches Zeitalter: Pharaonen, Erste Zwischenzeit (2181 – 2055 v. Chr.)
- Historisches Zeitalter: Pharaonen, Zweite Zwischenzeit (1650 – 1550 v. Chr.)
- Historisches Zeitalter: Pharaonen, Dritte Zwischenzeit (1069 – 664 v. Chr.)
+ Historisches Zeitalter: Pharaonen, altes Reich (2686 - 2181 v. Chr.)
+ Historisches Zeitalter: Pharaonen, erste Zwischenzeit (2181 – 2055 v. Chr.)
+ Historisches Zeitalter: Pharaonen, zweite Zwischenzeit (1650 – 1550 v. Chr.)
+ Historisches Zeitalter: Pharaonen, dritte Zwischenzeit (1069 – 664 v. Chr.)
Historisches Zeitalter: Erstes persisches Zeitalter
- Historisches Zeitalter: Altägyptische Spätzeit (664 - 332 v. Chr.)
+ Historisches Zeitalter: altägyptische Spätzeit (664 - 332 v. Chr.)
Historisches Zeitalter: Zweites persisches Zeitalter
Historisches Zeitalter: Alexander der Große
Bauxit
@@ -2221,15 +2221,15 @@
Historisches Zeitalter: Christliches Ägypten
Historisches Zeitalter: byzantinisches Ägypten (30 v. Chr. - 641 n. Chr.)
Historisches Zeitalter: Persische Besetzung
- Historisches Zeitalter: Dunkle Jahrhunderte (Antike) (1100 - 800 v. Chr.)
- Historisches Zeitalter: Römisches Griechenland (146 v. Chr - 330 n. Chr.)
- Historisches Zeitalter: Römische Königszeit (756 - 509 v. Chr.)
- Historisches Zeitalter: Dominat (285 - 476 n. Chr.)
- Historisches Zeitalter: Ptolemäisches Königreich (305 - 30 v. Chr.)
- Historisches Zeitalter: Ländliches Tiahuanaco (I., II. Epoche, 1580 v. Chr. - 133 n. Chr.)
- Historisches Zeitalter: Städtisches Tiahuanaco (III. Epoche, 133 - 374 n. Chr.)
- Historisches Zeitalter: Klassisches Tiahuanaco (IV. Epoche, 374 - 900 n. Chr.)
- Historisches Zeitalter: Imperialistisches Tiahuanaco (V. Epoche, 900 - 1200 n. Chr.)
+ Historisches Zeitalter: dunkle Jahrhunderte (Antike) (1100 - 800 v. Chr.)
+ Historisches Zeitalter: römisches Griechenland (146 v. Chr - 330 n. Chr.)
+ Historisches Zeitalter: römische Königszeit (756 - 509 v. Chr.)
+ Historisches Zeitalter: Dominat (285 - 476)
+ Historisches Zeitalter: ptolemäisches Königreich (305 - 30 v. Chr.)
+ Historisches Zeitalter: ländliches Tiahuanaco (I., II. Epoche, 1580 v. Chr. - 133 n. Chr.)
+ Historisches Zeitalter: städtisches Tiahuanaco (III. Epoche, 133 - 374)
+ Historisches Zeitalter: klassisches Tiahuanaco (IV. Epoche, 374 - 900)
+ Historisches Zeitalter: imperialistisches Tiahuanaco (V. Epoche, 900 - 1200)
Historische Epoche: Altsteinzeit (2,6 Mio. - 10000 Jahre vor heute)
Historische Epoche: Mittelsteinzeit
Historische Epoche: Jungsteinzeit
@@ -2237,9 +2237,9 @@
Typ: Steinkreuz
Hüttenkreis
Petroglyphe
- Megalith-Typ: Nuraghe
- Megalith-Typ: Steinkreis
- Megalith-Typ: Ganggrab
+ Megalithtyp: Nuraghe
+ Megalithtyp: Steinkreis
+ Megalithtyp: Ganggrab
Gipfelkreuz: ja
Vermittlung: ja
Afrikanisches Wiki
@@ -2248,7 +2248,7 @@
Bishnupriyaisches Wiki
Bretonisches Wiki
Walisisches Wiki
- Esperantoisches Wiki
+ Esperanto-Wiki
Baskisches Wiki
Farsisches Wiki
Malayalamisches Wiki
@@ -2256,8 +2256,8 @@
Navajoisches Wiki
Warayisches Wiki
Minangkabauisches Wiki
- Minnanisches Wiki
- Malagasisches Wiki
+ Minnan-Wiki
+ Madagassisches Wiki
Tatarisches Wiki
Kirgisisches Wiki
Tadschikisches Wiki
@@ -2270,7 +2270,7 @@
Aragonesisches Wiki
Gujaratisches Wiki
Palsamoor
- IC gespeicherte Fährfahrkarten
+ IC-gespeicherte Fährfahrkarten
IC-gespeicherte Fährfahrkarten nicht akzeptiert
Allgemeinmediziner
Augenheilkunde
@@ -2368,7 +2368,7 @@
Futsal
Lacrosse
Offizieller Name
- Seezeichen Deich
+ Seezeichen: Deich
Dalbe
Schild: Forstabteilung
Schild: Forstparzelle
@@ -2460,7 +2460,7 @@
Paragleiten: nein
Drachenfliegen
Drachenfliegen: nein
- Strikt
+ Freeflying starr
Freeflying starr: nein
Freeflying Ausrichtung: N
Freeflying-Platzausrichtung: NO
@@ -3222,13 +3222,13 @@
Wasserversorgungsart
Wasseraufbereitung
Wasserplatzzugang
- Lage: Auf dem Dach
+ Lage: auf dem Dach
Sichtbarkeit: Haus
Sichtbarkeit: Straße
Sichtbarkeit: Bereich
Offen
Geschlossen
- Eingeschränkt
+ eingeschränkt
Beschädigt
Wartung benötigt
Keine
@@ -3320,11 +3320,11 @@
Parkgebühr: nein
Parkgebühr
Stromstärke
- Lage: Oben
- Wasserstelle Haltbarkeit: Dauerhaft
+ Lage: oben
+ Wasserstelle Haltbarkeit: dauerhaft
Wasserstelle Haltbarkeit: Notfall
Mehrfamilien
- Ladestation Ausgang
+ Ladestation: Ausgang
Kartentyp: Gelände
Kartentyp: Straße
Kartentyp: Übersicht
@@ -3458,13 +3458,13 @@
Autoteile
Batterien
Klimatisierung
- Karosserie-Reparatur
+ Karosseriereparatur
Elektrik
Räder
Glas
Lkw-Reparatur
Fahrwerkseinstellung
- Getriebe-Reparatur
+ Getriebereparatur
Motor
Versicherung
Reifen
@@ -3520,7 +3520,7 @@
Verpackungsfreie Waren
Typ
ja
- Nur
+ Nur verpackungsfrei
Umspannwerk
Verteiler
Haushaltsverteilung
@@ -3770,4 +3770,6 @@
Geschlecht der Gemeinschaft: männlich
Geschlecht der Gemeinschaft: gemischt
Grab
+ Parkplatz
+ URL
\ No newline at end of file
diff --git a/OsmAnd/res/values-de/strings.xml b/OsmAnd/res/values-de/strings.xml
index 83dd6438de..83c953df78 100644
--- a/OsmAnd/res/values-de/strings.xml
+++ b/OsmAnd/res/values-de/strings.xml
@@ -709,7 +709,7 @@
Zielführung starten
Nutzerprofil:
Bitte zuerst ein Ziel festlegen
- Wegbeschreibung
+ Navigation
Öffnungszeiten
Änderungssatz öffnen…
Änderungssatz schließen…
@@ -946,8 +946,8 @@
Zwischenziel
Endpunkt zu weit von der nächsten Straße entfernt.
Zwischenziel %1$s ist zu weit von der nächsten Straße entfernt.
- Als letztes Zwischenziel einfügen
- Als erstes Zwischenziel einfügen
+ Als letztes Zwischenziel hinzufügen
+ Als erstes Zwischenziel hinzufügen
Ziel %1$s
Ziele
Als erstes Zwischenziel hinzufügen
@@ -1802,7 +1802,7 @@ Lon %2$s
Übersichtsseite oder Menüsteuerung
Es besteht die Möglichkeit, die App primär über die flexible Übersichtsseite oder ein statisches Menü zu steuern. Ihre Wahl kann jederzeit in den Übersichtsseiten-Einstellungen geändert werden.
Aufruf von der Karte aus
- Neu erstellen
+ Neue Katagorie erstellen
Weiter
%.1f MB
Bitte einen gültigen POI-Typ angeben oder überspringen.
@@ -2789,7 +2789,7 @@ Lon %2$s
Für den Einsatz im Gelände, basierend auf dem \'Topo\'-Kartenstil und zur Verwendung mit grünen Satellitenbildern als Unterlagekarte. Verringerte Linienstärke für Straßen, erhöhte für Fußwege, Wander-, Rad- und andere Outdoor-Routen.
Touring-Stil mit hohem Kontrast und maximalen Details. Enthält alle Optionen des OsmAnd-Standardstils und zeigt dabei so viele Details wie möglich an, insbesondere Straßen, Pfade und andere Verkehrswege. Klare Unterscheidung zwischen den Straßentypen durch den „Touring-Atlas“. Geeignet für den Einsatz bei Tag, Nacht und im Freien.
Ankunftszeit Zwischenziel
- Reisezeit Zwischenziel
+ Zwischenankunftszeit
Änderung des Standardstils, um den Kontrast von Fußgänger- und Fahrradwegen zu erhöhen. Verwendet alte Mapnik-Farben.
GPX-Dateien
Holen Sie sich OsmAnd Live, um alle Funktionen freizuschalten: Tägliche Karten-Updates mit unbegrenzten Downloads, alle kostenpflichtigen und kostenlosen Plugins, Wikipedia, Wikivoyage und vieles mehr.
@@ -3426,4 +3426,5 @@ Lon %2$s
Alle Profil-Einstellungen werden auf den Ausgangszustand nach App-Installation zurückgesetzt.
Alle Profil-Einstellungen auf den Standard zurücksetzen\?
%1$s: %2$s
+ %1$s %2$s
\ No newline at end of file
diff --git a/OsmAnd/res/values-eo/strings.xml b/OsmAnd/res/values-eo/strings.xml
index 458901cef0..7446abe19e 100644
--- a/OsmAnd/res/values-eo/strings.xml
+++ b/OsmAnd/res/values-eo/strings.xml
@@ -3401,4 +3401,5 @@ Indikas lokon: %1$s x %2$s"
Ĉiuj agordoj pri profiloj revenos al la post-instala stato.
Ĉu rekomencigi ĉiujn agordojn pri profiloj\?
%1$s: %2$s
+ %1$s %2$s
\ No newline at end of file
diff --git a/OsmAnd/res/values-es-rAR/phrases.xml b/OsmAnd/res/values-es-rAR/phrases.xml
index 9410b92805..6c5d35d5f4 100644
--- a/OsmAnd/res/values-es-rAR/phrases.xml
+++ b/OsmAnd/res/values-es-rAR/phrases.xml
@@ -3774,4 +3774,6 @@
Género de la comunidad: masculino
Género de la comunidad: mixto
Tumba
+ Espacio de estacionamiento
+ URL
\ No newline at end of file
diff --git a/OsmAnd/res/values-es-rAR/strings.xml b/OsmAnd/res/values-es-rAR/strings.xml
index 45e8048704..c689ca6074 100644
--- a/OsmAnd/res/values-es-rAR/strings.xml
+++ b/OsmAnd/res/values-es-rAR/strings.xml
@@ -3425,4 +3425,6 @@ Lon %2$s
Al pulsar en %1$s, se perderán todos los cambios.
Todos los ajustes del perfil serán restablecidos al estado después de la instalación.
¿Restablecer todos los ajustes del perfil a su valor predefinido\?
+ %1$s %2$s
+ %1$s: %2$s
\ No newline at end of file
diff --git a/OsmAnd/res/values-et/strings.xml b/OsmAnd/res/values-et/strings.xml
index bf2a6b3e9a..2e9f3aa6b6 100644
--- a/OsmAnd/res/values-et/strings.xml
+++ b/OsmAnd/res/values-et/strings.xml
@@ -3353,4 +3353,5 @@
Kõik profiiliseaded lähtestatakse paigaldusjärgsesse olekusse.
Taasta kõikide profiiliseadete vaikeväärtused\?
%1$s: %2$s
+ %1$s %2$s
\ No newline at end of file
diff --git a/OsmAnd/res/values-fr/strings.xml b/OsmAnd/res/values-fr/strings.xml
index 1eed014f75..6f20c4a2ff 100644
--- a/OsmAnd/res/values-fr/strings.xml
+++ b/OsmAnd/res/values-fr/strings.xml
@@ -3394,4 +3394,5 @@ représentant la zone : %1$s x %2$s
Tous les paramètres de profil vont être ré-initialisés aux valeurs par défaut.
Ré-initialiser tous les paramètres de profil \?
%1$s : %2$s
+ %1$s %2$s
\ No newline at end of file
diff --git a/OsmAnd/res/values-he/strings.xml b/OsmAnd/res/values-he/strings.xml
index 3d0b111958..cfd3ced71e 100644
--- a/OsmAnd/res/values-he/strings.xml
+++ b/OsmAnd/res/values-he/strings.xml
@@ -3412,4 +3412,5 @@
כל הגדרות הפרופיל יאופסו למצב כמו שלאחר ההתקנה.
לאפס את הגדרות הפרופיל לבררת המחדל\?
%1$s: %2$s
+ %1$s %2$s
\ No newline at end of file
diff --git a/OsmAnd/res/values-hu/phrases.xml b/OsmAnd/res/values-hu/phrases.xml
index 6ba3b81c1a..f9f2be0bb1 100644
--- a/OsmAnd/res/values-hu/phrases.xml
+++ b/OsmAnd/res/values-hu/phrases.xml
@@ -3760,4 +3760,6 @@
Egészségesélelmiszer-bolt
Padlólerakó
Állatkozmetika
+ Parkolóhely
+ URL
\ No newline at end of file
diff --git a/OsmAnd/res/values-hu/strings.xml b/OsmAnd/res/values-hu/strings.xml
index b52d8f3b5b..cb3cba869e 100644
--- a/OsmAnd/res/values-hu/strings.xml
+++ b/OsmAnd/res/values-hu/strings.xml
@@ -3421,4 +3421,5 @@ Ha szereted az OsmAndot és az OSM-et, és szeretnéd támogatni a fejlődésük
Minden profil visszaálljon az alapértelmezett helyzetbe\?
Családi autó
%1$s: %2$s
+ %1$s %2$s
\ No newline at end of file
diff --git a/OsmAnd/res/values-is/strings.xml b/OsmAnd/res/values-is/strings.xml
index c0ba6a1a44..ea31d75473 100644
--- a/OsmAnd/res/values-is/strings.xml
+++ b/OsmAnd/res/values-is/strings.xml
@@ -3430,4 +3430,6 @@ Stendur fyrir svæði: %1$s x %2$s
Allar sniðstillingar verða endurstilltar á sína stöðu eftir uppsetningu.
Núllstilla allar sniðstillingar\?
%1$s: %2$s
+ %1$s %2$s
+ %1$s: %2$s
\ No newline at end of file
diff --git a/OsmAnd/res/values-it/strings.xml b/OsmAnd/res/values-it/strings.xml
index ff1d2f2dc5..869f4bee80 100644
--- a/OsmAnd/res/values-it/strings.xml
+++ b/OsmAnd/res/values-it/strings.xml
@@ -3420,4 +3420,6 @@ Rappresenta l\'area: %1$s x %2$s
Tutte le impostazioni del profilo saranno reimpostate come da prima installazione.
Reimpostare tutte le impostazioni del profilo a quelle preimpostate\?
%1$s: %2$s
+ %1$s %2$s
+ %1$s: %2$s
\ No newline at end of file
diff --git a/OsmAnd/res/values-nb/strings.xml b/OsmAnd/res/values-nb/strings.xml
index 2c0bd4e1fb..4ec679813e 100644
--- a/OsmAnd/res/values-nb/strings.xml
+++ b/OsmAnd/res/values-nb/strings.xml
@@ -3428,4 +3428,5 @@
Alle profilinnstillinger må tilbakestilles til forvalg.
Tilbakestill alle innstillinger til forvalg\?
%1$s: %2$s
+ %1$s %2$s
\ No newline at end of file
diff --git a/OsmAnd/res/values-pt-rBR/phrases.xml b/OsmAnd/res/values-pt-rBR/phrases.xml
index 5bbc8d6f9d..0c0b1e208a 100644
--- a/OsmAnd/res/values-pt-rBR/phrases.xml
+++ b/OsmAnd/res/values-pt-rBR/phrases.xml
@@ -3767,4 +3767,6 @@
Gênero da comunidade: masculino
Gênero da comunidade: ambos
Túmulo
+ Espaço de estacionamento
+ URL
\ No newline at end of file
diff --git a/OsmAnd/res/values-pt-rBR/strings.xml b/OsmAnd/res/values-pt-rBR/strings.xml
index d098d5ba9b..71d8868f5d 100644
--- a/OsmAnd/res/values-pt-rBR/strings.xml
+++ b/OsmAnd/res/values-pt-rBR/strings.xml
@@ -3408,4 +3408,5 @@ Pôr do Sol: %2$s
Todas as configurações de perfil serão redefinidas para o estado após a instalação.
Redefinir todas as configurações de perfil para o padrão\?
%1$s: %2$s
+ %1$s %2$s
\ No newline at end of file
diff --git a/OsmAnd/res/values-pt/phrases.xml b/OsmAnd/res/values-pt/phrases.xml
index 74fbf1769f..60507ea65a 100644
--- a/OsmAnd/res/values-pt/phrases.xml
+++ b/OsmAnd/res/values-pt/phrases.xml
@@ -3752,4 +3752,6 @@
Sexo comunitário: masculino
Sexo comunitário: misto
Grave
+ Espaço de estacionamento
+ URL
\ No newline at end of file
diff --git a/OsmAnd/res/values-pt/strings.xml b/OsmAnd/res/values-pt/strings.xml
index 1ec41048bf..6fed020d9a 100644
--- a/OsmAnd/res/values-pt/strings.xml
+++ b/OsmAnd/res/values-pt/strings.xml
@@ -2208,7 +2208,7 @@
Para esquiar. Contém pistas de esqui, elevadores, pistas de cross country, etc. Escurece objetos de mapa secundários.
Estilo simples e contrastante para a navegação do carro. É suave para os olhos no modo noturno. Características principais: curvas de nível, estradas contrastantes de estilo laranja, menos objetos secundários do mapa para evitar distrações.
Para caminhadas, trekking e ciclismo de natureza. Legível ao ar livre. Estradas e objetos naturais contrastantes, diferentes tipos de rotas, opções avançadas de linha de contorno, detalhes extras. O ajuste da integridade da superfície distingue a qualidade da estrada. Sem modo noturno.
- Velho estilo de renderização padrão \'Mapnik\'. Características principais: as cores são semelhantes ao estilo \'Mapnik\'.
+ O velho estilo padrão \'Mapnik\'. Cores como \'Mapnik\'.
Estilo de alto detalhe para turismo. Inclui todas as opções de configuração de estilo padrão e além disso: mostra o máximo de detalhes possível, em particular todas as estradas, caminhos e outras formas de viajar. Distinção visual clara entre todos os tipos de estradas diferentes, reminiscente de muitos mapas de turismo. Esquema de cores de alto contraste para uso ao ar livre, modo diurno e noturno.
Estilo de propósito geral. Renderização simplificada e limpa em cidades densamente povoadas. Características principais: linhas de contorno, rotas, qualidade de superfície, restrições de acesso, escudos rodoviários, caminhos de renderização de acordo com a escala SAC, características desportivas Whitewater.
Abrir página da Wikipédia na Internet
@@ -2233,14 +2233,14 @@
Descarregar ficheiro
O mundo livre guia de viagem, que qualquer pessoa pode editar.
Os guias de viagem estão atualmente baseados no Wikivoyage. Teste todos os recursos gratuitamente durante o teste aberto beta. Posteriormente os guias de viagem estarão disponíveis para assinantes do OsmAnd Unlimited e proprietários da OsmAnd+.
- Pode e deve editar qualquer artigo no Wikivoyage. Partilhe saber, experiência, talento e a sua atenção
+ Pode e deve editar qualquer artigo no Wikivoyage. Partilhe saber, experiência, talento e a sua atenção.
Começar a editar
Obter acesso ilimitado
Bem-vindo ao beta aberto
Guias de viagem
Guias para os lugares mais interessantes do mundo dentro do OsmAnd, sem uma conexão com a Internet.
- Atualizações de mapa: a cada mês
- Atualizações de mapa: a cada hora
+ Atualizações de mapa mensais
+ Atualizações de mapa a cada hora
Compra na aplicação
Pagamento de uma só vez
Uma vez comprado, estará sempre disponível para si.
@@ -2252,7 +2252,7 @@
Desbloquear todas as características de OsmAnd
Escolher plano
Compre uma das opções seguintes para receber a funcionalidade da guia de viagem offline:
- Escolha o artigo adequado:
+ Escolha o artigo adequado
Não
Fazer
Apenas em Wi-Fi
@@ -2269,7 +2269,7 @@
Guias de viagem
Wikivoyage
Artigo removido
- Pesquisa: país, cidade, província
+ Pesquisar por país, cidade ou província
Ler
Artigos marcados
Explorar
@@ -2284,8 +2284,8 @@
Limpar todos os pontos intermediários
Grupo eliminado
Whitewater esportes
- Distância: primeiro o mais distante
- Distância: primeiro o mais próximo
+ Primeiro o mais distante
+ Primeiro o mais próximo
Digite a longitude
Digite a latitude
Digite a latitude e a longitude
@@ -2304,7 +2304,7 @@
Digite o nome do ficheiro.
Erro de importação de mapa
Mapa importado
- Faça este o ponto de partida
+ Fazer este o ponto de partida
Atual
Adiciona paragem intermédia
Adiciona paragem inicial
@@ -2315,8 +2315,8 @@
OSC - adequado para exportar para o OpenStreetMap.
Ficheiro GPX
Ficheiro OSC
- Escolha o tipo de ficheiro
- Selecione o tipo de exportação: notas do OSM, POI ou ambos.
+ Selecione o tipo de ficheiro
+ Selecione o tipo de exportação: notas do OSM, POIs ou ambos.
Todos os dados
Notas do OSM
Abre amanhã às
@@ -2348,11 +2348,11 @@
\n• Assinatura OsmAnd Live agora suporta todas as funcionalidades do OsmAnd
\n
\n
- Modificar a consulta de pesquisa.
+ Modifique a sua pesquisa.
Ações
Marcador
Criar ou modificar objetos OSM
- Criar ou modifiquar POI OSM, abrir ou comentar notas do OSM e contribuir com ficheiros gravados GPX.
+ Criar ou modificar POIs do OSM, abrir ou comentar notas do OSM e contribuir com ficheiros gravados de GPX.
Eliminado
Editado
Adicionado
@@ -3436,4 +3436,6 @@
Ao clicar em %1$s perderá todas as suas alterações.
Todas as configurações de perfil serão redefinidas para o estado após a instalação.
Redefinir todas as configurações de perfil para o padrão\?
+ %1$s %2$s
+ %1$s: %2$s
\ No newline at end of file
diff --git a/OsmAnd/res/values-ru/phrases.xml b/OsmAnd/res/values-ru/phrases.xml
index ed12d660ac..d9f3e4afb5 100644
--- a/OsmAnd/res/values-ru/phrases.xml
+++ b/OsmAnd/res/values-ru/phrases.xml
@@ -3642,4 +3642,21 @@
Бушеншанк (изысканные австрийские вина)
Изысканная кухня
Сеть
+ Парковочное место
+
+ Шлаковый конус
+ Стратовулкан
+ Щитовой
+ Маар
+ Калдера
+ Лавовый купол
+ Грязевой
+ Последнее извержение
+ Потухший
+ Спящий
+ Активный
+ Неактивный
+ Число извержений
+
+
\ No newline at end of file
diff --git a/OsmAnd/res/values-sc/strings.xml b/OsmAnd/res/values-sc/strings.xml
index 8bfe1c9441..09af46fdd5 100644
--- a/OsmAnd/res/values-sc/strings.xml
+++ b/OsmAnd/res/values-sc/strings.xml
@@ -3421,4 +3421,5 @@ Pro praghere iscrie su còdighe intreu
Totu sas impostatziones de su profilu ant a torrare a s\'istadu chi teniant in antis de s\'installatzione.
Ripristinare totu sas impostatziones de su profilu a sos valores predefinidos\?
%1$s: %2$s
+ %1$s %2$s
\ No newline at end of file
diff --git a/OsmAnd/res/values-sk/strings.xml b/OsmAnd/res/values-sk/strings.xml
index ca85e0f879..957a36d5cc 100644
--- a/OsmAnd/res/values-sk/strings.xml
+++ b/OsmAnd/res/values-sk/strings.xml
@@ -79,7 +79,7 @@
\n
\nDlaždicové mapy môžete získať priamo zo zdrojov na Internete, alebo ich môžete pripraviť na použitie offline (skopírovať ručne do dátového priečinka OsmAnd) ako SQLite databázu, ktorú vedia vytvoriť viaceré programy na prípravu máp.
Zobrazí nastavenia na zapnutie stopovania a navigácie v pozadí systému pravidelným prebúdzaním GPS zariadenia (pri vypnutej obrazovke).
- Tento modul zobrazí funkcie uľahčenia prístupu priamo v OsmAnd. Napr. je možné zmeniť rýchlosť TTS hlasu, použiť trackball na približovanie, alebo automaticky oznamovať polohu hlasom.
+ Tento modul zobrazí funkcie uľahčenia prístupu priamo v OsmAnd. Napr. je možné zmeniť rýchlosť generovaného hlasu, použiť trackball na približovanie, alebo automaticky oznamovať polohu hlasom.
Tento modul zobrazí nastavenia pre funkcie vývoja a ladenia, ako simulácia trasy, zobrazenie výkonu vykresľovania alebo hlasové oznamy. Tieto nastavenia sú určené pre vývojárov a nie sú potrebné pre bežné použitie programu.
Zásuvné moduly
Zásuvné moduly aktivujú pokročilé nastavenia a dodatočné funkcie.
@@ -193,9 +193,7 @@
Globálne nastavenia
Globálne nastavenia aplikácie
Nie je dostatok voľného miesta pre stiahnutie %1$s MB (voľné: %2$s).
- Naozaj stiahnuť {0} súbor(ov)?
- V úložisku je potrebných {1} MB.
- (Dostupné miesto je {2} MB.)
+ Stiahnuť {0} súbor(ov)\? Bude použitých {1} MB (z {2} MB).
Priehľadná téma
Natívna knižnica nie je podporovaná na tomto zariadení.
Inicializácia natívnej knižnice…
@@ -679,7 +677,7 @@
Správa
Meno autora
Komentár pridaný
- Nepodarilo sa pridať komentár
+ Nepodarilo sa pridať komentár.
Upravenie bodu záujmu (POI)
Vytvorenie bodu záujmu (POI)
Bod sa nedá nájsť alebo je bod záujmu tvorený viacerými bodmi, s čím zatiaľ nie je možné pracovať.
@@ -891,7 +889,7 @@ Proporčná pamäť %4$s MB (Limit Androidu %5$s MB, Dalvik %6$s MB).
Meranie vzdialenosti
Umiestnenie na spojenie s poznámkou ešte nie je definované. Ak chcete priradiť poznámku k vybranému umiestneniu, použite \"Použiť umiestnenie…\".
Zvukové poznámky
- Modul Audio/video poznámok poskytuje funkcie na vytváranie obrazových/zvukových/video poznámok počas výletu, buď tlačidlom na obrazovke mapy alebo priamo v kontextovom menu bodu na mape.
+ Modul Audio/video poznámok poskytuje funkcie na vytváranie obrazových/zvukových/video poznámok počas výletu, buď tlačidlom na mape alebo priamo v kontextovom menu bodu na mape.
Audio/video poznámky
Tento modul poskytuje vrstevnice a tieňované reliéfy, ktoré môžu byť zobrazené ponad štandardné mapy. Táto funkcia je vhodná pre atlétov, turistov, chodcov a všetkých, ktorých zaujíma reliéf terénu. (Samotné vrstevnice sú samostatnými dátami, ktoré je potrebné stiahnuť po aktivovaní modulu.)
\n
@@ -1287,9 +1285,9 @@ Proporčná pamäť %4$s MB (Limit Androidu %5$s MB, Dalvik %6$s MB).
Zvoľte toleranciu prekročenia povolenej rýchlosti, po ktorej dostanete hlasové oznámenie.
Anonymný používateľ
Prihlásený ako %1$s
- Anonymný používateľ nemôže:
-\n- Vytvárať skupiny;
-\n- Synchronizovať skupiny a zariadenia so serverom;
+ Anonymní používatelia nemôžu:
+\n- Vytvárať skupiny;
+\n- Synchronizovať skupiny a zariadenia so serverom;
\n- Spravovať skupiny a zariadenia na osobnej nástenke na webovej stránke.
Podrobnosti
Doprava
@@ -1453,7 +1451,7 @@ Proporčná pamäť %4$s MB (Limit Androidu %5$s MB, Dalvik %6$s MB).
Zapamätať voľbu
Obnoviť
Stiahnuť
- Sťahovanie
+ Sťahovanie…
Stiahnuté
Chyba čítania/zápisu
Neočakávaná chyba
@@ -1500,7 +1498,7 @@ Dĺžka %2$s
Navštíviť po
Navštíviť pred
Skryť
- Idete odoslať %1$d zmien do OSM. Ste si istí?
+ Naozaj chcete odoslať %1$d zmien do OSM\?
Vymazať históriu?
prekročený čas
Vo viacerých krajinách (ako Nemecko, Francúzsko, Taliansko) je použitie varovaní pred rýchlostnými radarmi/kamerami zakázané zákonom (nelegálne). OsmAnd nepreberá žiadnu zodpovednosť ak porušíte zákon. Stlačte \"Áno\" len ak ste na to oprávnený použiť túto funkciu.
@@ -1512,7 +1510,7 @@ Dĺžka %2$s
Zmeny OSM pridané do lokálnej sady zmien
Označte pre výmaz
Informácie o A-GPS
- A-GPS dáta boli naposledy stiahnuté: %1$s
+ A-GPS dáta boli stiahnuté: %1$s
Správa
Nepoužívať
Adresa
@@ -1555,12 +1553,12 @@ Dĺžka %2$s
Zobraziť detaily
Wikipédia
Importovať do OsmAnd
- Chystáte sa vymazať %1$d poznámok. Ste si istí?
- Služba zisťovania pozície vypnutá. Zapnúť teraz?
+ Naozaj chcete vymazať %1$d poznámok\?
+ Služba zisťovania pozície je vypnutá. Zapnúť teraz\?
Zakázať samostatné zaznamenávanie
Zastaví záznam GPX keď je aplikácia ukončená (cez nedávne aplikácie). (Ikona režimu na pozadí zmizne z notifikačnej oblasti Androidu.)
Máte stiahnuté staré nekompatibilné dáta z Wikipédie. Chcete ich archivovať?
- Stiahnuť ďalšie dáta z Wikipédie (%1$s MB) ?
+ Stiahnuť ďalšie dáta z Wikipédie (%1$s MB)\?
Španielsky (Argentína)
Nórsky Bokmål
Volapuk
@@ -1609,7 +1607,7 @@ Dĺžka %2$s
Modrá
Fialová
Priehľadná fialová
- Manuálne reštartujte aplikáciu pre použitie všetkých zmien.
+ Pre použitie zmeny je potrebný reštart aplikácie.
Predvolená (13)
Predvolená (priehľadná azúrová)
Priehľadná modrá
@@ -1669,7 +1667,7 @@ Dĺžka %2$s
Pridať Obľúbený bod
Cesty
Pridať nový
- Zvoľte kategóriu
+ Vyberte kategóriu
Zvoľte jednotku rýchlosti.
Jednotka rýchlosti
nmi
@@ -1775,9 +1773,9 @@ Dĺžka %2$s
Znovuotvoriť poznámku
Uzavrieť poznámku
Poznámka vytvorená
- Nepodarilo sa vytvoriť poznámku
+ Nepodarilo sa vytvoriť poznámku.
Poznámka uzavretá
- Nepodarilo sa uzavrieť poznámku
+ Nepodarilo sa uzavrieť poznámku.
Odoslať
Farba GPX
Šírka GPX
@@ -1815,9 +1813,9 @@ Dĺžka %2$s
OsmAnd nemá oprávnenie použiť pamäťovú kartu
Vyberte cesty, ktorým sa chcete navigácii vyhnúť.
Zvuk
- Aplikácia nemá oprávnenia na prístup k údajom o polohe.
- Aplikácia nemá oprávnenia na prístup k fotoaparátu.
- Aplikácia nemá oprávnenia na prístup k mikrofónu.
+ Udeľte oprávnenie na prístup k údajom o polohe.
+ Udeľte oprávnenia na prístup k fotoaparátu.
+ Udeľte oprávnenia na prístup k mikrofónu.
Zvoľte hlasové pokyny
Vyberte alebo stiahnite hlasové pokyny pre váš jazyk.
Okamžité aktualizácie
@@ -1866,10 +1864,8 @@ Dĺžka %2$s
Zobraziť trasy pre horské bicykle
Zvoľte mapovú značku
Iné značky
- Nedostatok miesta!
- V úložisku je dočasne je potrebných {3} MB, natrvalo {1} MB.
- Dostupné miesto je len {2} MB.
- Naozaj stiahnuť {0} súbor(ov)? V úložisku je dočasne je potrebných {3} MB, natrvalo {1} MB. ({2} MB voľného miesta.)
+ Nedostatok miesta! V úložisku je dočasne je potrebných {3} MB, natrvalo {1} MB. (Dostupných je len {2} MB.)
+ Naozaj stiahnuť {0} súbor(ov)\? V úložisku je dočasne je potrebných {3} MB, natrvalo {1} MB. (Z {2} MB.)
Odošlite OSM poznámku anonymne alebo použite svoj účet na OpenStreetMap.org.
Odoslať OSM poznámku
Prvá mapová značka
@@ -1894,11 +1890,11 @@ Dĺžka %2$s
Pozícia medzi editormi OSM
Predplatné OsmAnd Live
Registrovať
- Potrebné pre poskytnutie Vám informácií o príspevkoch.
+ Potrebné pre informovanie vás o vašich príspevkoch.
Verejné meno
Nezobrazovať moje meno v prehľadoch
Podporovaný región
- Mesačná cena
+ Cena za mesiac
Mesačná platba
Aktívne
Neaktívne
@@ -3409,4 +3405,5 @@ Zodpovedá oblasti: %1$s x %2$s
Všetky nastavenia profilu budú vrátené do východzieho stavu.
Resetovať nastavenia profilu na predvolené hodnoty\?
%1$s: %2$s
+ %1$s %2$s
\ No newline at end of file
diff --git a/OsmAnd/res/values-tr/strings.xml b/OsmAnd/res/values-tr/strings.xml
index 3330a4402b..3d9a30b8ab 100644
--- a/OsmAnd/res/values-tr/strings.xml
+++ b/OsmAnd/res/values-tr/strings.xml
@@ -3372,4 +3372,5 @@
Tüm profil ayarları kurulumdan sonraki duruma sıfırlanacaktır.
Tüm profil ayarları varsayılana sıfırlansın mı\?
%1$s: %2$s
+ %1$s %2$s
\ No newline at end of file
diff --git a/OsmAnd/res/values-uk/phrases.xml b/OsmAnd/res/values-uk/phrases.xml
index 6115fffed9..ebd033e8c2 100644
--- a/OsmAnd/res/values-uk/phrases.xml
+++ b/OsmAnd/res/values-uk/phrases.xml
@@ -3755,4 +3755,6 @@
Стать спільноти: чоловіча
Стать спільноти: обидві статі
Могила
+ Паркувальне місце
+ URL
\ No newline at end of file
diff --git a/OsmAnd/res/values-uk/strings.xml b/OsmAnd/res/values-uk/strings.xml
index 984cfbd5f9..a243a06cf6 100644
--- a/OsmAnd/res/values-uk/strings.xml
+++ b/OsmAnd/res/values-uk/strings.xml
@@ -780,8 +780,8 @@
Ви впевнені, що хочете вилучити пункт призначення (і проміжні точки)?
Показати
Фото %1$s %2$s
- Сфотографувати
- Сфотографувати
+ Зробити світлину
+ Зробити світлину
Втулок Dropbox дозволяє вам часоузгодити треки та звуко/відео-примітки з вашим обліковим записом Dropbox.
Втулок Dropbox
Змінити порядок
@@ -797,7 +797,7 @@
Формат відео
Використовувати системну програму для запису відео.
Використовувати системну програму
- Використовувати системну програму для фотографій.
+ Використовувати системний додаток для світлин.
недоступно
Стоп
Старт
@@ -2417,18 +2417,18 @@
\nОтримайте надійний навігатор у вашій країні — будь то Україна, Франція, Німеччина, Мексика, Великобританія, Іспанія, Нідерланди, США, Росія, Бразилія чи будь-яка інша…
\n
Назва містить занадто багато великих літер. Продовжити?
- Додати фотографії
+ Додати світлини
Поділитися своїми вуличними видами цієї місцевості через Mapillary.
Віджет Mapillary
Дозволяє швидко зробити внесок в Mapillary.
Світлини вулиць в мережі для всіх. Відкрийте для себе місця, діліться та знимкуйте весь світ.
- Вуличні фотографії для усіх. Відкривайте для себе місця, співпрацюйте, знімкуйте світ.
- Мережеві світлинознімки
+ Вуличні світлини для усіх. Відкривайте для себе місця, співпрацюйте, знімкуйте світ.
+ Мережеві світлини
Тут нема світлин.
Відкрити Mapillary
Встановити
Поліпшити фото-покриття Mapillary
- Встановіть Mapillary, щоб додати одну або кілька фотографій до цього місця на мапі.
+ Встановіть Mapillary, щоб додати одну або кілька світлин до цього місця на мапі.
Зображення Mapillary
Відстань виправлена
Права доступу
@@ -2445,7 +2445,7 @@
Введіть ім\'я користувача
Переглянути лише зображення додані
Ім\'я користувача
- Фільтрувати фотографії за подавачем, датою чи типом. Фільтри застосовуються лише для великих масштабів.
+ Фільтрувати світлини за подавачем, датою чи видом. Фільтри застосовуються лише для великих масштабів.
Скинути
Зберігати записані треки у помісячних теках
Зберігати записані треки в підтеках відповідно місяцю запису (наприклад, 2018-01).
@@ -3412,4 +3412,5 @@
Усі налаштування профілю буде скинуто після встановлення.
Скинути всі усталені налаштування профілю\?
%1$s: %2$s
+ %1$s %2$s
\ No newline at end of file
diff --git a/OsmAnd/res/values-zh-rTW/phrases.xml b/OsmAnd/res/values-zh-rTW/phrases.xml
index ea2e3a0c72..1d783f775b 100644
--- a/OsmAnd/res/values-zh-rTW/phrases.xml
+++ b/OsmAnd/res/values-zh-rTW/phrases.xml
@@ -3766,4 +3766,6 @@
社群性別:男
社群性別:混合
墳墓
+ 停車位
+ URL
\ No newline at end of file
diff --git a/OsmAnd/res/values-zh-rTW/strings.xml b/OsmAnd/res/values-zh-rTW/strings.xml
index 224604bd07..52a9a0ffee 100644
--- a/OsmAnd/res/values-zh-rTW/strings.xml
+++ b/OsmAnd/res/values-zh-rTW/strings.xml
@@ -3409,4 +3409,5 @@
所有設定檔都將被重設為安裝後的狀態。
將所有設定檔重設為預設值?
%1$s:%2$s
+ %1$s %2$s
\ No newline at end of file
diff --git a/OsmAnd/res/values/phrases.xml b/OsmAnd/res/values/phrases.xml
index 2c21a5fdb4..989b50f5d7 100644
--- a/OsmAnd/res/values/phrases.xml
+++ b/OsmAnd/res/values/phrases.xml
@@ -129,6 +129,8 @@
Cash withdrawal
Type
Open air
+ Type
+ Status
Store
@@ -4157,4 +4159,22 @@
Grave
+ Parking space
+
+ URL
+
+ Scoria
+ Stratovolcano
+ Shield
+ Maar
+ Caldera
+ Lava dome
+ Dirt
+ Last eruption
+ Extinct
+ Dormant
+ Active
+ Inactive
+ Number of eruptions
+
diff --git a/OsmAnd/src/net/osmand/plus/MapMarkersHelper.java b/OsmAnd/src/net/osmand/plus/MapMarkersHelper.java
index 234bb28ff6..c134b09dde 100644
--- a/OsmAnd/src/net/osmand/plus/MapMarkersHelper.java
+++ b/OsmAnd/src/net/osmand/plus/MapMarkersHelper.java
@@ -9,6 +9,8 @@ import android.support.v4.content.ContextCompat;
import net.osmand.AndroidUtils;
import net.osmand.GPXUtilities;
+import net.osmand.GPXUtilities.GPXFile;
+import net.osmand.GPXUtilities.WptPt;
import net.osmand.IndexConstants;
import net.osmand.PlatformUtil;
import net.osmand.data.FavouritePoint;
@@ -16,8 +18,6 @@ import net.osmand.data.LatLon;
import net.osmand.data.LocationPoint;
import net.osmand.data.PointDescription;
import net.osmand.plus.FavouritesDbHelper.FavoriteGroup;
-import net.osmand.GPXUtilities.GPXFile;
-import net.osmand.GPXUtilities.WptPt;
import net.osmand.plus.GeocodingLookupService.AddressLookupRequest;
import net.osmand.plus.GpxSelectionHelper.SelectedGpxFile;
import net.osmand.plus.mapmarkers.MapMarkersDbHelper;
@@ -53,9 +53,9 @@ public class MapMarkersHelper {
public static final int BY_DISTANCE_DESC = 1;
public static final int BY_DISTANCE_ASC = 2;
public static final int BY_DATE_ADDED_DESC = 3;
-
+
public static final int BY_DATE_ADDED_ASC = 4;
-
+
private static final Log LOG = PlatformUtil.getLog(MapMarkersHelper.class);
@Retention(RetentionPolicy.SOURCE)
@@ -64,7 +64,6 @@ public class MapMarkersHelper {
}
private OsmandApplication ctx;
- private OsmandSettings settings;
private MapMarkersDbHelper markersDbHelper;
private ExecutorService executorService = Executors.newSingleThreadExecutor();
@@ -76,8 +75,6 @@ public class MapMarkersHelper {
private List listeners = new ArrayList<>();
private Set syncListeners = new HashSet<>();
- private boolean startFromMyLocation;
-
private MarkersPlanRouteContext planRouteContext;
public List getMapMarkers() {
@@ -93,12 +90,11 @@ public class MapMarkersHelper {
}
public boolean isStartFromMyLocation() {
- return startFromMyLocation;
+ return ctx.getSettings().ROUTE_MAP_MARKERS_START_MY_LOC.get();
}
public void setStartFromMyLocation(boolean startFromMyLocation) {
- this.startFromMyLocation = startFromMyLocation;
- settings.ROUTE_MAP_MARKERS_START_MY_LOC.set(startFromMyLocation);
+ ctx.getSettings().ROUTE_MAP_MARKERS_START_MY_LOC.set(startFromMyLocation);
}
public MarkersPlanRouteContext getPlanRouteContext() {
@@ -107,10 +103,8 @@ public class MapMarkersHelper {
public MapMarkersHelper(OsmandApplication ctx) {
this.ctx = ctx;
- settings = ctx.getSettings();
markersDbHelper = ctx.getMapMarkersDbHelper();
planRouteContext = new MarkersPlanRouteContext(ctx);
- startFromMyLocation = settings.ROUTE_MAP_MARKERS_START_MY_LOC.get();
markersDbHelper.removeDisabledGroups();
loadMarkers();
loadGroups();
@@ -616,7 +610,7 @@ public class MapMarkersHelper {
private List getMarkers() {
List res = new ArrayList<>(mapMarkers);
- if (settings.KEEP_PASSED_MARKERS_ON_MAP.get()) {
+ if (ctx.getSettings().KEEP_PASSED_MARKERS_ON_MAP.get()) {
res.addAll(mapMarkersHistory);
}
return res;
@@ -883,7 +877,7 @@ public class MapMarkersHelper {
@Nullable List wptPts,
@Nullable List mapObjNames) {
if (points.size() > 0) {
- settings.SHOW_MAP_MARKERS.set(true);
+ ctx.getSettings().SHOW_MAP_MARKERS.set(true);
int colorIndex = -1;
List addedMarkers = new ArrayList<>();
for (int i = 0; i < points.size(); i++) {
diff --git a/OsmAnd/src/net/osmand/plus/OsmAndLocationProvider.java b/OsmAnd/src/net/osmand/plus/OsmAndLocationProvider.java
index 0474ea19b7..2a039f3bbf 100644
--- a/OsmAnd/src/net/osmand/plus/OsmAndLocationProvider.java
+++ b/OsmAnd/src/net/osmand/plus/OsmAndLocationProvider.java
@@ -76,6 +76,8 @@ public class OsmAndLocationProvider implements SensorEventListener {
private static final long LOCATION_TIMEOUT_TO_BE_STALE = 1000 * 60 * 2; // 2 minutes
private static final long STALE_LOCATION_TIMEOUT_TO_BE_GONE = 1000 * 60 * 20; // 20 minutes
+ private static final long AGPS_TO_REDOWNLOAD = 16 * 60 * 60 * 1000; // 16 hours
+
private static final int REQUESTS_BEFORE_CHECK_LOCATION = 100;
private AtomicInteger locationRequestsCounter = new AtomicInteger();
private AtomicInteger staleLocationRequestsCounter = new AtomicInteger();
@@ -114,7 +116,6 @@ public class OsmAndLocationProvider implements SensorEventListener {
private int currentScreenOrientation;
private OsmandApplication app;
- private OsmandSettings settings;
private NavigationInfo navigationInfo;
private CurrentPositionHelper currentPositionHelper;
@@ -128,9 +129,6 @@ public class OsmAndLocationProvider implements SensorEventListener {
private List compassListeners = new ArrayList();
private Listener gpsStatusListener;
private float[] mRotationM = new float[9];
- private OsmandPreference USE_MAGNETIC_FIELD_SENSOR_COMPASS;
- private OsmandPreference USE_FILTER_FOR_COMPASS;
- private static final long AGPS_TO_REDOWNLOAD = 16 * 60 * 60 * 1000; // 16 hours
public class SimulationProvider {
@@ -234,9 +232,6 @@ public class OsmAndLocationProvider implements SensorEventListener {
public OsmAndLocationProvider(OsmandApplication app) {
this.app = app;
navigationInfo = new NavigationInfo(app);
- settings = app.getSettings();
- USE_MAGNETIC_FIELD_SENSOR_COMPASS = settings.USE_MAGNETIC_FIELD_SENSOR_COMPASS;
- USE_FILTER_FOR_COMPASS = settings.USE_KALMAN_FILTER_FOR_COMPASS;
currentPositionHelper = new CurrentPositionHelper(app);
locationSimulation = new OsmAndLocationSimulation(app, this);
addLocationListener(navigationInfo);
@@ -393,7 +388,7 @@ public class OsmAndLocationProvider implements SensorEventListener {
} else if (!sensorRegistered && register) {
Log.d(PlatformUtil.TAG, "Enable sensor"); //$NON-NLS-1$
SensorManager sensorMgr = (SensorManager) app.getSystemService(Context.SENSOR_SERVICE);
- if (USE_MAGNETIC_FIELD_SENSOR_COMPASS.get()) {
+ if (app.getSettings().USE_MAGNETIC_FIELD_SENSOR_COMPASS.get()) {
Sensor s = sensorMgr.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
if (s == null || !sensorMgr.registerListener(this, s, SensorManager.SENSOR_DELAY_UI)) {
Log.e(PlatformUtil.TAG, "Sensor accelerometer could not be enabled");
@@ -476,7 +471,8 @@ public class OsmAndLocationProvider implements SensorEventListener {
default:
return;
}
- if (USE_MAGNETIC_FIELD_SENSOR_COMPASS.get()) {
+ OsmandSettings settings = app.getSettings();
+ if (settings.USE_MAGNETIC_FIELD_SENSOR_COMPASS.get()) {
if (mGravs != null && mGeoMags != null) {
boolean success = SensorManager.getRotationMatrix(mRotationM, null, mGravs, mGeoMags);
if (!success) {
@@ -495,7 +491,7 @@ public class OsmAndLocationProvider implements SensorEventListener {
lastValSin = (float) Math.sin(valRad);
lastValCos = (float) Math.cos(valRad);
// lastHeadingCalcTime = System.currentTimeMillis();
- boolean filter = USE_FILTER_FOR_COMPASS.get(); //USE_MAGNETIC_FIELD_SENSOR_COMPASS.get();
+ boolean filter = settings.USE_KALMAN_FILTER_FOR_COMPASS.get(); //USE_MAGNETIC_FIELD_SENSOR_COMPASS.get();
if (filter) {
filterCompassValue();
} else {
@@ -806,9 +802,9 @@ public class OsmAndLocationProvider implements SensorEventListener {
if (routingHelper.isFollowingMode()) {
if (location == null || isPointAccurateForRouting(location)) {
// Update routing position and get location for sticking mode
- updatedLocation = routingHelper.setCurrentLocation(location, settings.SNAP_TO_ROAD.get());
+ updatedLocation = routingHelper.setCurrentLocation(location, app.getSettings().SNAP_TO_ROAD.get());
}
- } else if(routingHelper.isRoutePlanningMode() && settings.getPointToStart() == null) {
+ } else if(routingHelper.isRoutePlanningMode() && app.getSettings().getPointToStart() == null) {
routingHelper.setCurrentLocation(location, false);
} else if(getLocationSimulation().isRouteAnimating()) {
routingHelper.setCurrentLocation(location, false);
diff --git a/OsmAnd/src/net/osmand/plus/OsmandApplication.java b/OsmAnd/src/net/osmand/plus/OsmandApplication.java
index 05a6e2d618..0fdffdf8cb 100644
--- a/OsmAnd/src/net/osmand/plus/OsmandApplication.java
+++ b/OsmAnd/src/net/osmand/plus/OsmandApplication.java
@@ -291,7 +291,6 @@ public class OsmandApplication extends MultiDexApplication {
public void setOsmandSettings(OsmandSettings osmandSettings) {
//android.os.Process.killProcess(android.os.Process.myPid());
this.osmandSettings = osmandSettings;
- resourceManager.getRenderer().updateSettings();
OsmandPlugin.initPlugins(this);
}
diff --git a/OsmAnd/src/net/osmand/plus/OsmandSettings.java b/OsmAnd/src/net/osmand/plus/OsmandSettings.java
index 2d7618cc22..17268ba03e 100644
--- a/OsmAnd/src/net/osmand/plus/OsmandSettings.java
+++ b/OsmAnd/src/net/osmand/plus/OsmandSettings.java
@@ -1471,8 +1471,6 @@ public class OsmandSettings {
// this value string is synchronized with settings_pref.xml preference name
public final OsmandPreference PREFERRED_LOCALE = new StringPreference("preferred_locale", "").makeGlobal();
- public static final String TRANSPORT_STOPS_OVER_MAP = "transportStops";
-
public final OsmandPreference MAP_PREFERRED_LOCALE = new StringPreference("map_preferred_locale", "").makeGlobal().cache();
public final OsmandPreference MAP_TRANSLITERATE_NAMES = new BooleanPreference("map_transliterate_names", false).makeGlobal().cache();
@@ -2292,6 +2290,7 @@ public class OsmandSettings {
public static final String LAST_KNOWN_MAP_LAT = "last_known_map_lat"; //$NON-NLS-1$
public static final String LAST_KNOWN_MAP_LON = "last_known_map_lon"; //$NON-NLS-1$
public static final String LAST_KNOWN_MAP_ZOOM = "last_known_map_zoom"; //$NON-NLS-1$
+ public static final String LAST_KNOWN_MAP_ELEVATION = "last_known_map_elevation"; //$NON-NLS-1$
public static final String MAP_LABEL_TO_SHOW = "map_label_to_show"; //$NON-NLS-1$
public static final String MAP_LAT_TO_SHOW = "map_lat_to_show"; //$NON-NLS-1$
@@ -2405,6 +2404,14 @@ public class OsmandSettings {
settingsAPI.edit(globalPreferences).putInt(LAST_KNOWN_MAP_ZOOM, zoom).commit();
}
+ public float getLastKnownMapElevation() {
+ return settingsAPI.getFloat(globalPreferences, LAST_KNOWN_MAP_ELEVATION, 90);
+ }
+
+ public void setLastKnownMapElevation(float elevation) {
+ settingsAPI.edit(globalPreferences).putFloat(LAST_KNOWN_MAP_ELEVATION, elevation).commit();
+ }
+
public final static String POINT_NAVIGATE_LAT = "point_navigate_lat"; //$NON-NLS-1$
public final static String POINT_NAVIGATE_LON = "point_navigate_lon"; //$NON-NLS-1$
public final static String POINT_NAVIGATE_ROUTE = "point_navigate_route_integer"; //$NON-NLS-1$
diff --git a/OsmAnd/src/net/osmand/plus/TargetPointsHelper.java b/OsmAnd/src/net/osmand/plus/TargetPointsHelper.java
index 02a175ae97..494b77e176 100644
--- a/OsmAnd/src/net/osmand/plus/TargetPointsHelper.java
+++ b/OsmAnd/src/net/osmand/plus/TargetPointsHelper.java
@@ -12,6 +12,7 @@ import net.osmand.data.PointDescription;
import net.osmand.plus.GeocodingLookupService.AddressLookupRequest;
import net.osmand.plus.routing.RouteProvider.RouteService;
import net.osmand.plus.routing.RoutingHelper;
+import net.osmand.plus.OsmAndAppCustomization.OsmAndAppCustomizationListener;
import net.osmand.util.Algorithms;
import net.osmand.util.MapUtils;
@@ -147,6 +148,16 @@ public class TargetPointsHelper {
this.settings = ctx.getSettings();
this.routingHelper = ctx.getRoutingHelper();
readFromSettings();
+
+ OsmAndAppCustomizationListener customizationListener = new OsmAndAppCustomizationListener() {
+ @Override
+ public void onOsmAndSettingsCustomized() {
+ settings = TargetPointsHelper.this.ctx.getSettings();
+ readFromSettings();
+ updateRouteAndRefresh(true);
+ }
+ };
+ ctx.getAppCustomization().addListener(customizationListener);
}
public void lookupAddessAll() {
diff --git a/OsmAnd/src/net/osmand/plus/activities/ContributionVersionActivity.java b/OsmAnd/src/net/osmand/plus/activities/ContributionVersionActivity.java
index a69782bb7a..6cbdf7641d 100644
--- a/OsmAnd/src/net/osmand/plus/activities/ContributionVersionActivity.java
+++ b/OsmAnd/src/net/osmand/plus/activities/ContributionVersionActivity.java
@@ -257,20 +257,23 @@ public class ContributionVersionActivity extends OsmandListActivity {
OsmAndBuild build = getItem(position);
TextView tagView = (TextView) row.findViewById(R.id.download_tag);
tagView.setText(build.tag);
-
- TextView description = (TextView) row.findViewById(R.id.download_descr);
- StringBuilder format = new StringBuilder();
- format.append(AndroidUtils.formatDateTime(getMyApplication(), build.date.getTime()))/*.append(" : ").append(build.size).append(" MB")*/;
- description.setText(format.toString());
- int color = getResources().getColor(R.color.color_unknown);
- if(currentInstalledDate != null){
- if(currentInstalledDate.before(build.date)){
- color = getResources().getColor(R.color.color_update);
+
+ if (build.date != null) {
+ TextView description = (TextView) row.findViewById(R.id.download_descr);
+ StringBuilder format = new StringBuilder();
+ format.append(AndroidUtils.formatDateTime(getMyApplication(), build.date.getTime()))/*.append(" : ").append(build.size).append(" MB")*/;
+ description.setText(format.toString());
+ int color = getResources().getColor(R.color.color_unknown);
+ if (currentInstalledDate != null) {
+ if (currentInstalledDate.before(build.date)) {
+ color = getResources().getColor(R.color.color_update);
+ }
}
+ description.setTextColor(color);
+ tagView.setTextColor(color);
}
- description.setTextColor(color);
- tagView.setTextColor(color);
+
return row;
}
diff --git a/OsmAnd/src/net/osmand/plus/activities/DayNightHelper.java b/OsmAnd/src/net/osmand/plus/activities/DayNightHelper.java
index d3ec516cf7..f9802a05a1 100644
--- a/OsmAnd/src/net/osmand/plus/activities/DayNightHelper.java
+++ b/OsmAnd/src/net/osmand/plus/activities/DayNightHelper.java
@@ -10,7 +10,6 @@ import net.osmand.PlatformUtil;
import net.osmand.StateChangedListener;
import net.osmand.plus.ApplicationMode;
import net.osmand.plus.OsmandApplication;
-import net.osmand.plus.OsmandSettings.CommonPreference;
import net.osmand.plus.OsmandSettings.DayNightMode;
import net.osmand.util.SunriseSunset;
@@ -41,15 +40,13 @@ import android.location.LocationManager;
* @author pavol.zibrita
*/
public class DayNightHelper implements SensorEventListener {
+
private static final Log log = PlatformUtil.getLog(DayNightHelper.class);
private final OsmandApplication osmandApplication;
- private CommonPreference pref;
-
public DayNightHelper(OsmandApplication osmandApplication) {
this.osmandApplication = osmandApplication;
- pref = osmandApplication.getSettings().DAYNIGHT_MODE;
}
private DayNightHelper listener;
@@ -79,7 +76,7 @@ public class DayNightHelper implements SensorEventListener {
}
public boolean isNightModeForProfile(ApplicationMode mode) {
- DayNightMode dayNightMode = pref.getModeValue(mode);
+ DayNightMode dayNightMode = osmandApplication.getSettings().DAYNIGHT_MODE.getModeValue(mode);
if (dayNightMode.isDay()) {
return false;
} else if (dayNightMode.isNight()) {
@@ -138,7 +135,7 @@ public class DayNightHelper implements SensorEventListener {
public void startSensorIfNeeded(StateChangedListener sensorStateListener) {
this.sensorStateListener = sensorStateListener;
- DayNightMode dayNightMode = pref.get();
+ DayNightMode dayNightMode = osmandApplication.getSettings().DAYNIGHT_MODE.get();
if (listener == null && dayNightMode.isSensor()) {
SensorManager mSensorManager = (SensorManager) osmandApplication.getSystemService(Context.SENSOR_SERVICE);
Sensor mLight = mSensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);
diff --git a/OsmAnd/src/net/osmand/plus/activities/MapActivity.java b/OsmAnd/src/net/osmand/plus/activities/MapActivity.java
index 7cc31b8bba..6449751c41 100644
--- a/OsmAnd/src/net/osmand/plus/activities/MapActivity.java
+++ b/OsmAnd/src/net/osmand/plus/activities/MapActivity.java
@@ -474,7 +474,7 @@ public class MapActivity extends OsmandActionBarActivity implements DownloadEven
OsmAndMapLayersView ml = (OsmAndMapLayersView) findViewById(R.id.MapLayersView);
ml.setVisibility(View.VISIBLE);
atlasMapRendererView.setAzimuth(0);
- atlasMapRendererView.setElevationAngle(90);
+ atlasMapRendererView.setElevationAngle(app.getSettings().getLastKnownMapElevation());
NativeCoreContext.getMapRendererContext().setMapRendererView(atlasMapRendererView);
ml.setMapView(mapView);
mapViewTrackingUtilities.setMapView(mapView);
@@ -488,6 +488,12 @@ public class MapActivity extends OsmandActionBarActivity implements DownloadEven
}
}
+ public void setMapElevation(float angle) {
+ if (atlasMapRendererView != null) {
+ atlasMapRendererView.setElevationAngle(angle);
+ }
+ }
+
private void createProgressBarForRouting() {
final ProgressBar pb = (ProgressBar) findViewById(R.id.map_horizontal_progress);
@@ -1490,6 +1496,7 @@ public class MapActivity extends OsmandActionBarActivity implements DownloadEven
}
settings.setLastKnownMapZoom(mapView.getZoom());
+ settings.setLastKnownMapElevation(mapView.getElevationAngle());
settings.MAP_ACTIVITY_ENABLED.set(false);
app.getResourceManager().interruptRendering();
OsmandPlugin.onMapActivityPause(this);
diff --git a/OsmAnd/src/net/osmand/plus/activities/MapActivityLayers.java b/OsmAnd/src/net/osmand/plus/activities/MapActivityLayers.java
index 2964149738..c20a4cc6bd 100644
--- a/OsmAnd/src/net/osmand/plus/activities/MapActivityLayers.java
+++ b/OsmAnd/src/net/osmand/plus/activities/MapActivityLayers.java
@@ -208,8 +208,6 @@ public class MapActivityLayers {
public void updateLayers(OsmandMapTileView mapView) {
OsmandSettings settings = getApplication().getSettings();
updateMapSource(mapView, settings.MAP_TILE_SOURCES);
- boolean showStops = settings.getCustomRenderBooleanProperty(OsmandSettings.TRANSPORT_STOPS_OVER_MAP).get();
- transportStopsLayer.setShowTransportStops(showStops);
OsmandPlugin.refreshLayers(mapView, activity);
}
diff --git a/OsmAnd/src/net/osmand/plus/dashboard/tools/DashboardSettingsDialogFragment.java b/OsmAnd/src/net/osmand/plus/dashboard/tools/DashboardSettingsDialogFragment.java
index 6b052bf38d..38c918dcef 100644
--- a/OsmAnd/src/net/osmand/plus/dashboard/tools/DashboardSettingsDialogFragment.java
+++ b/OsmAnd/src/net/osmand/plus/dashboard/tools/DashboardSettingsDialogFragment.java
@@ -27,6 +27,7 @@ import net.osmand.plus.OsmandPlugin;
import net.osmand.plus.OsmandSettings;
import net.osmand.plus.OsmandSettings.CommonPreference;
import net.osmand.plus.R;
+import net.osmand.plus.UiUtilities;
import net.osmand.plus.activities.MapActivity;
import net.osmand.plus.dashboard.DashboardOnMap;
@@ -67,7 +68,7 @@ public class DashboardSettingsDialogFragment extends DialogFragment
TypedValue typedValue = new TypedValue();
FragmentActivity activity = requireActivity();
OsmandApplication app = (OsmandApplication) activity.getApplication();
- boolean nightMode = app.getDaynightHelper().isNightModeForMapControls();
+ boolean nightMode = isNightMode();
context = new ContextThemeWrapper(activity, !nightMode ? R.style.OsmandLightTheme : R.style.OsmandDarkTheme);
Theme theme = context.getTheme();
theme.resolveAttribute(android.R.attr.textColorPrimary, typedValue, true);
@@ -132,14 +133,13 @@ public class DashboardSettingsDialogFragment extends DialogFragment
subtextView.setText(description);
final CompoundButton compoundButton = (CompoundButton) view.findViewById(R.id.toggle_item);
compoundButton.setChecked(pref.get());
- textView.setTextColor(pref.get() ? textColorPrimary : textColorSecondary);
- compoundButton.setOnCheckedChangeListener(
- new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
- textView.setTextColor(b ? textColorPrimary : textColorSecondary);
- }
- });
+ view.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ compoundButton.setChecked(!compoundButton.isChecked());
+ }
+ });
+ UiUtilities.setupCompoundButton(compoundButton, isNightMode(), UiUtilities.CompoundButtonType.GLOBAL);
return view;
}
@@ -244,6 +244,7 @@ public class DashboardSettingsDialogFragment extends DialogFragment
}
private class DashViewHolder {
+ final View view;
final TextView textView;
final CompoundButton compoundButton;
final TextView numberOfRowsTextView;
@@ -252,6 +253,7 @@ public class DashboardSettingsDialogFragment extends DialogFragment
private DashFragmentAdapter dashFragmentAdapter;
public DashViewHolder(DashFragmentAdapter dashFragmentAdapter, View view, Context ctx) {
+ this.view = view;
this.dashFragmentAdapter = dashFragmentAdapter;
this.numberOfRowsTextView = (TextView) view.findViewById(R.id.numberOfRowsTextView);
this.textView = (TextView) view.findViewById(R.id.text);
@@ -277,9 +279,16 @@ public class DashboardSettingsDialogFragment extends DialogFragment
textColorSecondary);
this.position = position;
+ view.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ compoundButton.setChecked(!compoundButton.isChecked());
+ }
+ });
compoundButton.setChecked(dashFragmentAdapter.isChecked(position));
compoundButton.setTag(this);
compoundButton.setOnCheckedChangeListener(dashFragmentAdapter.onTurnedOnOffListener);
+ UiUtilities.setupCompoundButton(compoundButton, isNightMode(), UiUtilities.CompoundButtonType.GLOBAL);
numberOfRowsTextView.setTag(this);
numberOfRowsTextView.setOnClickListener(dashFragmentAdapter.onNumberClickListener);
@@ -287,4 +296,8 @@ public class DashboardSettingsDialogFragment extends DialogFragment
}
+
+ private boolean isNightMode() {
+ return mapActivity.getMyApplication().getDaynightHelper().isNightModeForMapControls();
+ }
}
diff --git a/OsmAnd/src/net/osmand/plus/download/IndexItem.java b/OsmAnd/src/net/osmand/plus/download/IndexItem.java
index f5f72e3fed..c5c87f88c8 100644
--- a/OsmAnd/src/net/osmand/plus/download/IndexItem.java
+++ b/OsmAnd/src/net/osmand/plus/download/IndexItem.java
@@ -89,7 +89,7 @@ public class IndexItem implements Comparable {
}
public String getSizeDescription(Context ctx) {
- return ctx.getString(R.string.ltr_or_rtl_combine_via_colon, size, "MB");
+ return ctx.getString(R.string.ltr_or_rtl_combine_via_space, size, "MB");
}
@@ -247,4 +247,4 @@ public class IndexItem implements Comparable {
}
-}
\ No newline at end of file
+}
diff --git a/OsmAnd/src/net/osmand/plus/helpers/LockHelper.java b/OsmAnd/src/net/osmand/plus/helpers/LockHelper.java
index 6359b15e6e..44c58310c0 100644
--- a/OsmAnd/src/net/osmand/plus/helpers/LockHelper.java
+++ b/OsmAnd/src/net/osmand/plus/helpers/LockHelper.java
@@ -13,6 +13,7 @@ import android.os.PowerManager.WakeLock;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
+import net.osmand.plus.OsmAndAppCustomization.OsmAndAppCustomizationListener;
import net.osmand.plus.OsmandApplication;
import net.osmand.plus.OsmandSettings;
import net.osmand.plus.OsmandSettings.CommonPreference;
@@ -65,6 +66,16 @@ public class LockHelper implements SensorEventListener {
unlockEvent();
}
};
+ OsmAndAppCustomizationListener customizationListener = new OsmAndAppCustomizationListener() {
+ @Override
+ public void onOsmAndSettingsCustomized() {
+ OsmandSettings settings = app.getSettings();
+ turnScreenOnEnabled = settings.TURN_SCREEN_ON_ENABLED;
+ turnScreenOnTime = settings.TURN_SCREEN_ON_TIME_INT;
+ turnScreenOnSensor = settings.TURN_SCREEN_ON_SENSOR;
+ }
+ };
+ app.getAppCustomization().addListener(customizationListener);
app.getRoutingHelper().getVoiceRouter().addVoiceMessageListener(voiceMessageListener);
}
diff --git a/OsmAnd/src/net/osmand/plus/mapmarkers/PlanRouteFragment.java b/OsmAnd/src/net/osmand/plus/mapmarkers/PlanRouteFragment.java
index 577d86f458..8ec8020ec6 100644
--- a/OsmAnd/src/net/osmand/plus/mapmarkers/PlanRouteFragment.java
+++ b/OsmAnd/src/net/osmand/plus/mapmarkers/PlanRouteFragment.java
@@ -292,7 +292,7 @@ public class PlanRouteFragment extends BaseOsmAndFragment implements OsmAndLocat
}
Object item = adapter.getItem(pos);
if (item instanceof Location) {
- markersHelper.setStartFromMyLocation(!mapActivity.getMyApplication().getSettings().ROUTE_MAP_MARKERS_START_MY_LOC.get());
+ markersHelper.setStartFromMyLocation(!markersHelper.isStartFromMyLocation());
} else if (item instanceof MapMarker) {
MapMarker marker = (MapMarker) item;
selectedCount = marker.selected ? selectedCount - 1 : selectedCount + 1;
diff --git a/OsmAnd/src/net/osmand/plus/measurementtool/MeasurementToolFragment.java b/OsmAnd/src/net/osmand/plus/measurementtool/MeasurementToolFragment.java
index 13fdaa5270..ea909bfb72 100644
--- a/OsmAnd/src/net/osmand/plus/measurementtool/MeasurementToolFragment.java
+++ b/OsmAnd/src/net/osmand/plus/measurementtool/MeasurementToolFragment.java
@@ -1512,6 +1512,13 @@ public class MeasurementToolFragment extends BaseOsmAndFragment {
final View view = UiUtilities.getInflater(mapActivity, nightMode).inflate(R.layout.close_measurement_tool_dialog, null);
final SwitchCompat showOnMapToggle = (SwitchCompat) view.findViewById(R.id.toggle_show_on_map);
+ view.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ showOnMapToggle.setChecked(!showOnMapToggle.isChecked());
+ }
+ });
+
builder.setView(view);
builder.setPositiveButton(R.string.shared_string_ok, new DialogInterface.OnClickListener() {
@Override
@@ -1531,6 +1538,7 @@ public class MeasurementToolFragment extends BaseOsmAndFragment {
}
}
});
+ UiUtilities.setupCompoundButton(showOnMapToggle, nightMode, UiUtilities.CompoundButtonType.GLOBAL);
} else {
builder.setPositiveButton(R.string.shared_string_ok, new DialogInterface.OnClickListener() {
@Override
diff --git a/OsmAnd/src/net/osmand/plus/monitoring/LiveMonitoringHelper.java b/OsmAnd/src/net/osmand/plus/monitoring/LiveMonitoringHelper.java
index c3f9649a28..47a016ebd6 100644
--- a/OsmAnd/src/net/osmand/plus/monitoring/LiveMonitoringHelper.java
+++ b/OsmAnd/src/net/osmand/plus/monitoring/LiveMonitoringHelper.java
@@ -1,6 +1,5 @@
package net.osmand.plus.monitoring;
-import android.content.Context;
import android.os.AsyncTask;
import net.osmand.PlatformUtil;
@@ -24,23 +23,25 @@ import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ConcurrentLinkedQueue;
-public class LiveMonitoringHelper {
-
- protected Context ctx;
- private OsmandSettings settings;
- private long lastTimeUpdated;
- private LatLon lastPoint;
+public class LiveMonitoringHelper {
+
private final static Log log = PlatformUtil.getLog(LiveMonitoringHelper.class);
+
+ private OsmandApplication app;
+
private ConcurrentLinkedQueue queue;
+
+ private LatLon lastPoint;
+ private long lastTimeUpdated;
private boolean started = false;
- public LiveMonitoringHelper(Context ctx){
- this.ctx = ctx;
- settings = ((OsmandApplication) ctx.getApplicationContext()).getSettings();
+ public LiveMonitoringHelper(OsmandApplication app) {
+ this.app = app;
queue = new ConcurrentLinkedQueue<>();
}
-
- public boolean isLiveMonitoringEnabled(){
+
+ public boolean isLiveMonitoringEnabled() {
+ OsmandSettings settings = app.getSettings();
return settings.LIVE_MONITORING.get() && (settings.SAVE_TRACK_TO_GPX.get() || settings.SAVE_GLOBAL_TRACK_TO_GPX.get());
}
@@ -50,6 +51,7 @@ public class LiveMonitoringHelper {
if (location != null && isLiveMonitoringEnabled()
&& OsmAndLocationProvider.isNotSimulatedLocation(location)
&& OsmandPlugin.getEnabledPlugin(OsmandMonitoringPlugin.class) != null) {
+ OsmandSettings settings = app.getSettings();
if (locationTime - lastTimeUpdated > settings.LIVE_MONITORING_INTERVAL.get()) {
record = true;
}
@@ -112,10 +114,11 @@ public class LiveMonitoringHelper {
@Override
protected Void doInBackground(ConcurrentLinkedQueue... concurrentLinkedQueues) {
while (isLiveMonitoringEnabled()) {
+ int maxSendInterval = app.getSettings().LIVE_MONITORING_MAX_INTERVAL_TO_SEND.get();
for (ConcurrentLinkedQueue queue : concurrentLinkedQueues) {
if (!queue.isEmpty()) {
LiveMonitoringData data = (LiveMonitoringData) queue.peek();
- if (!(System.currentTimeMillis() - data.time > settings.LIVE_MONITORING_MAX_INTERVAL_TO_SEND.get())) {
+ if (!(System.currentTimeMillis() - data.time > maxSendInterval)) {
sendData(data);
} else {
queue.poll();
@@ -128,10 +131,52 @@ public class LiveMonitoringHelper {
}
public void sendData(LiveMonitoringData data) {
- String st = settings.LIVE_MONITORING_URL.get();
+ String urlStr = getLiveUrl(data);
+ try {
+ // Parse the URL and let the URI constructor handle proper encoding of special characters such as spaces
+ URL url = new URL(urlStr);
+ HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
+ URI uri = new URI(url.getProtocol(), url.getUserInfo(), url.getHost(), url.getPort(),
+ url.getPath(), url.getQuery(), url.getRef());
+
+ urlConnection.setConnectTimeout(15000);
+ urlConnection.setReadTimeout(15000);
+
+ log.info("Monitor " + uri);
+
+ if (urlConnection.getResponseCode() / 100 != 2) {
+
+ String msg = urlConnection.getResponseCode() + " : " + //$NON-NLS-1$//$NON-NLS-2$
+ urlConnection.getResponseMessage();
+ log.error("Error sending monitor request: " + msg);
+ } else {
+ queue.poll();
+ InputStream is = urlConnection.getInputStream();
+ StringBuilder responseBody = new StringBuilder();
+ if (is != null) {
+ BufferedReader in = new BufferedReader(new InputStreamReader(is, "UTF-8")); //$NON-NLS-1$
+ String s;
+ while ((s = in.readLine()) != null) {
+ responseBody.append(s);
+ responseBody.append("\n"); //$NON-NLS-1$
+ }
+ is.close();
+ }
+ log.info("Monitor response (" + urlConnection.getHeaderField("Content-Type") + "): " + responseBody.toString());
+ }
+
+ urlConnection.disconnect();
+
+ } catch (Exception e) {
+ log.error("Failed connect to " + urlStr + ": " + e.getMessage(), e);
+ }
+ }
+
+ private String getLiveUrl(LiveMonitoringData data) {
+ String st = app.getSettings().LIVE_MONITORING_URL.get();
List prm = new ArrayList();
int maxLen = 0;
- for(int i = 0; i < 7; i++) {
+ for (int i = 0; i < 7; i++) {
boolean b = st.contains("{"+i+"}");
if(b) {
maxLen = i;
@@ -165,45 +210,6 @@ public class LiveMonitoringHelper {
break;
}
}
- String urlStr = MessageFormat.format(st, prm.toArray());
- try {
-
- // Parse the URL and let the URI constructor handle proper encoding of special characters such as spaces
- URL url = new URL(urlStr);
- HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
- URI uri = new URI(url.getProtocol(), url.getUserInfo(), url.getHost(), url.getPort(),
- url.getPath(), url.getQuery(), url.getRef());
-
- urlConnection.setConnectTimeout(15000);
- urlConnection.setReadTimeout(15000);
-
- log.info("Monitor " + uri);
-
- if (urlConnection.getResponseCode()/100 != 2) {
-
- String msg = urlConnection.getResponseCode() + " : " + //$NON-NLS-1$//$NON-NLS-2$
- urlConnection.getResponseMessage();
- log.error("Error sending monitor request: " + msg);
- } else {
- queue.poll();
- InputStream is = urlConnection.getInputStream();
- StringBuilder responseBody = new StringBuilder();
- if (is != null) {
- BufferedReader in = new BufferedReader(new InputStreamReader(is, "UTF-8")); //$NON-NLS-1$
- String s;
- while ((s = in.readLine()) != null) {
- responseBody.append(s);
- responseBody.append("\n"); //$NON-NLS-1$
- }
- is.close();
- }
- log.info("Monitor response (" + urlConnection.getHeaderField("Content-Type") + "): " + responseBody.toString());
- }
-
- urlConnection.disconnect();
-
- } catch (Exception e) {
- log.error("Failed connect to " + urlStr + ": " + e.getMessage(), e);
- }
+ return MessageFormat.format(st, prm.toArray());
}
}
diff --git a/OsmAnd/src/net/osmand/plus/render/MapRenderRepositories.java b/OsmAnd/src/net/osmand/plus/render/MapRenderRepositories.java
index f4ce51cf88..f6b5837e09 100644
--- a/OsmAnd/src/net/osmand/plus/render/MapRenderRepositories.java
+++ b/OsmAnd/src/net/osmand/plus/render/MapRenderRepositories.java
@@ -39,6 +39,7 @@ import net.osmand.data.QuadPointDouble;
import net.osmand.data.QuadRect;
import net.osmand.data.RotatedTileBox;
import net.osmand.map.MapTileDownloader;
+import net.osmand.plus.OsmAndAppCustomization.OsmAndAppCustomizationListener;
import net.osmand.plus.OsmandApplication;
import net.osmand.plus.OsmandPlugin;
import net.osmand.plus.OsmandSettings;
@@ -121,6 +122,15 @@ public class MapRenderRepositories {
this.renderer = new OsmandRenderer(context);
handler = new Handler(Looper.getMainLooper());
prefs = context.getSettings();
+
+ OsmAndAppCustomizationListener customizationListener = new OsmAndAppCustomizationListener() {
+ @Override
+ public void onOsmAndSettingsCustomized() {
+ prefs = MapRenderRepositories.this.context.getSettings();
+ clearCache();
+ }
+ };
+ context.getAppCustomization().addListener(customizationListener);
}
public Context getContext() {
@@ -153,11 +163,6 @@ public class MapRenderRepositories {
return prevBmpLocation;
}
- public void updateSettings() {
- prefs = context.getSettings();
- clearCache();
- }
-
public synchronized void closeConnection(String file) {
LinkedHashMap cpfiles = new LinkedHashMap(files);
BinaryMapIndexReader bmir = cpfiles.remove(file);
diff --git a/OsmAnd/src/net/osmand/plus/render/TextRenderer.java b/OsmAnd/src/net/osmand/plus/render/TextRenderer.java
index 4df7d5db34..5743a40025 100644
--- a/OsmAnd/src/net/osmand/plus/render/TextRenderer.java
+++ b/OsmAnd/src/net/osmand/plus/render/TextRenderer.java
@@ -317,7 +317,7 @@ public class TextRenderer {
float coef = rc.getDensityValue(rc.screenDensityRatio * rc.textScale);
Bitmap ico = RenderingIcons.getIcon(context, sr, true);
if (ico != null) {
- float left = text.centerX - ico.getWidth() / 2 * coef;// - 0.5f;
+ float left = text.centerX - ico.getWidth() / 2 * coef - 0.5f;
float top = text.centerY - ico.getHeight() / 2 * coef - paintText.descent() * 1.5f;
if(rc.screenDensityRatio != 1f){
RectF rf = new RectF(left, top, left + ico.getWidth() * coef,
diff --git a/OsmAnd/src/net/osmand/plus/routepreparationmenu/AddPointBottomSheetDialog.java b/OsmAnd/src/net/osmand/plus/routepreparationmenu/AddPointBottomSheetDialog.java
index a411d5a128..94b4dfb0df 100644
--- a/OsmAnd/src/net/osmand/plus/routepreparationmenu/AddPointBottomSheetDialog.java
+++ b/OsmAnd/src/net/osmand/plus/routepreparationmenu/AddPointBottomSheetDialog.java
@@ -319,8 +319,8 @@ public class AddPointBottomSheetDialog extends MenuBottomSheetDialogFragment {
final View switchStartAndEndView = View.inflate(new ContextThemeWrapper(getContext(), themeRes), R.layout.bottom_sheet_item_simple_56dp, null);
TextView title = (TextView) switchStartAndEndView.findViewById(R.id.title);
- String start = getString(R.string.route_start_point).toLowerCase();
- String destination = getString(R.string.route_descr_destination).toLowerCase();
+ String start = getString(R.string.route_start_point);
+ String destination = getString(R.string.route_descr_destination);
String titleS = getString(R.string.swap_two_places, start, destination);
SpannableString titleSpan = new SpannableString(titleS);
int startIndex = titleS.indexOf(start);
diff --git a/OsmAnd/src/net/osmand/plus/routepreparationmenu/RoutingOptionsHelper.java b/OsmAnd/src/net/osmand/plus/routepreparationmenu/RoutingOptionsHelper.java
index 9dad48bad4..7b8cdf4b5d 100644
--- a/OsmAnd/src/net/osmand/plus/routepreparationmenu/RoutingOptionsHelper.java
+++ b/OsmAnd/src/net/osmand/plus/routepreparationmenu/RoutingOptionsHelper.java
@@ -63,13 +63,11 @@ public class RoutingOptionsHelper {
public static final String DRIVING_STYLE = "driving_style";
private OsmandApplication app;
- private OsmandSettings settings;
private Map modes = new HashMap<>();
public RoutingOptionsHelper(OsmandApplication application) {
app = application;
- settings = app.getSettings();
}
private void addRouteMenuAppModes(ApplicationMode am, List routingParameters) {
@@ -104,6 +102,7 @@ public class RoutingOptionsHelper {
}
public void switchMusic() {
+ OsmandSettings settings = app.getSettings();
boolean mt = !settings.INTERRUPT_MUSIC.get();
settings.INTERRUPT_MUSIC.set(mt);
}
@@ -311,6 +310,7 @@ public class RoutingOptionsHelper {
}
public void showLocalRoutingParameterGroupDialog(final LocalRoutingParameterGroup group, final MapActivity mapActivity, final OnClickListener listener) {
+ OsmandSettings settings = app.getSettings();
final ContextMenuAdapter adapter = new ContextMenuAdapter();
int i = 0;
int selectedIndex = -1;
@@ -364,6 +364,7 @@ public class RoutingOptionsHelper {
.setPositiveButton(R.string.shared_string_ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
+ OsmandSettings settings = app.getSettings();
int position = selectedPosition[0];
if (position >= 0 && position < group.getRoutingParameters().size()) {
for (int i = 0; i < group.getRoutingParameters().size(); i++) {
diff --git a/OsmAnd/src/net/osmand/plus/routing/RoutingHelper.java b/OsmAnd/src/net/osmand/plus/routing/RoutingHelper.java
index 0cfff0e39f..186bd88d11 100644
--- a/OsmAnd/src/net/osmand/plus/routing/RoutingHelper.java
+++ b/OsmAnd/src/net/osmand/plus/routing/RoutingHelper.java
@@ -8,6 +8,7 @@ import net.osmand.data.LatLon;
import net.osmand.plus.ApplicationMode;
import net.osmand.GPXUtilities.GPXFile;
import net.osmand.plus.NavigationService;
+import net.osmand.plus.OsmAndAppCustomization.OsmAndAppCustomizationListener;
import net.osmand.plus.OsmAndFormatter;
import net.osmand.plus.OsmandApplication;
import net.osmand.plus.OsmandPlugin;
@@ -95,11 +96,19 @@ public class RoutingHelper {
public RoutingHelper(OsmandApplication context){
this.app = context;
settings = context.getSettings();
- voiceRouter = new VoiceRouter(this, settings);
+ voiceRouter = new VoiceRouter(this);
provider = new RouteProvider();
transportRoutingHelper = context.getTransportRoutingHelper();
transportRoutingHelper.setRoutingHelper(this);
setAppMode(settings.APPLICATION_MODE.get());
+
+ OsmAndAppCustomizationListener customizationListener = new OsmAndAppCustomizationListener() {
+ @Override
+ public void onOsmAndSettingsCustomized() {
+ settings = app.getSettings();
+ }
+ };
+ app.getAppCustomization().addListener(customizationListener);
}
public TransportRoutingHelper getTransportRoutingHelper() {
@@ -825,21 +834,21 @@ public class RoutingHelper {
// return false;
// }
- public synchronized String getCurrentName(TurnType[] next){
- NextDirectionInfo n = getNextRouteDirectionInfo(new NextDirectionInfo(), true);
+ public synchronized String getCurrentName(TurnType[] next, NextDirectionInfo n){
Location l = lastFixedLocation;
float speed = 0;
if(l != null && l.hasSpeed()) {
speed = l.getSpeed();
}
+ if(next != null) {
+ next[0] = n.directionInfo.getTurnType();
+ }
if(n.distanceTo > 0 && n.directionInfo != null && !n.directionInfo.getTurnType().isSkipToSpeak() &&
voiceRouter.isDistanceLess(speed, n.distanceTo, voiceRouter.PREPARE_DISTANCE * 0.75f, 0f)) {
String nm = n.directionInfo.getStreetName();
-// String rf = n.directionInfo.getRef();
+ String rf = n.directionInfo.getRef();
String dn = n.directionInfo.getDestinationName();
- if(next != null) {
- next[0] = n.directionInfo.getTurnType();
- }
+
return formatStreetName(nm, null, dn, "»");
}
RouteSegmentResult rs = getCurrentSegmentResult();
diff --git a/OsmAnd/src/net/osmand/plus/routing/VoiceRouter.java b/OsmAnd/src/net/osmand/plus/routing/VoiceRouter.java
index 80a2945f88..35839f0d7f 100644
--- a/OsmAnd/src/net/osmand/plus/routing/VoiceRouter.java
+++ b/OsmAnd/src/net/osmand/plus/routing/VoiceRouter.java
@@ -8,6 +8,8 @@ import net.osmand.Location;
import net.osmand.binary.RouteDataObject;
import net.osmand.data.PointDescription;
import net.osmand.plus.ApplicationMode;
+import net.osmand.plus.OsmAndAppCustomization.OsmAndAppCustomizationListener;
+import net.osmand.plus.OsmandApplication;
import net.osmand.plus.OsmandSettings;
import net.osmand.plus.helpers.WaypointHelper.LocationPointWrapper;
import net.osmand.plus.routing.AlarmInfo.AlarmInfoType;
@@ -46,9 +48,11 @@ public class VoiceRouter {
public static final String FROM_STREET_NAME = "fromStreetName";
public static final String FROM_DEST = "fromDest";
- protected final RoutingHelper router;
protected static CommandPlayer player;
- protected final OsmandSettings settings;
+
+ protected final OsmandApplication app;
+ protected final RoutingHelper router;
+ protected OsmandSettings settings;
private static int currentStatus = STATUS_UNKNOWN;
private static boolean playedAndArriveAtTarget = false;
@@ -84,9 +88,18 @@ public class VoiceRouter {
private List> voiceMessageListeners = new ArrayList<>();
- VoiceRouter(RoutingHelper router, final OsmandSettings settings) {
+ VoiceRouter(RoutingHelper router) {
this.router = router;
- this.settings = settings;
+ this.app = router.getApplication();
+ this.settings = app.getSettings();
+
+ OsmAndAppCustomizationListener customizationListener = new OsmAndAppCustomizationListener() {
+ @Override
+ public void onOsmAndSettingsCustomized() {
+ settings = app.getSettings();
+ }
+ };
+ app.getAppCustomization().addListener(customizationListener);
}
public void setPlayer(CommandPlayer player) {
@@ -695,10 +708,9 @@ public class VoiceRouter {
String tParam = getTurnType(next.getTurnType());
boolean isPlay = true;
ExitInfo exitInfo = next.getExitInfo();
- String lang = player.getLanguage();
if (tParam != null) {
if (exitInfo != null) {
- p.takeExit(tParam, dist, getSpeakableExitName(next, exitInfo, true));
+ p.takeExit(tParam, dist, Integer.parseInt(exitInfo.getRef()), getSpeakableExitName(next, exitInfo, true));
} else {
p.turn(tParam, dist, getSpeakableStreetName(currentSegment, next, true));
}
@@ -769,10 +781,9 @@ public class VoiceRouter {
String tParam = getTurnType(next.getTurnType());
ExitInfo exitInfo = next.getExitInfo();
boolean isplay = true;
- String lang = player.getLanguage();
if (tParam != null) {
if (exitInfo != null) {
- p.takeExit(tParam, getSpeakableExitName(next, exitInfo, !suppressDest));
+ p.takeExit(tParam, Integer.parseInt(exitInfo.getRef()), getSpeakableExitName(next, exitInfo, !suppressDest));
} else {
p.turn(tParam, getSpeakableStreetName(currentSegment, next, !suppressDest));
}
diff --git a/OsmAnd/src/net/osmand/plus/views/MultiTouchSupport.java b/OsmAnd/src/net/osmand/plus/views/MultiTouchSupport.java
index 166d3f04ee..1e264e6d5d 100644
--- a/OsmAnd/src/net/osmand/plus/views/MultiTouchSupport.java
+++ b/OsmAnd/src/net/osmand/plus/views/MultiTouchSupport.java
@@ -5,6 +5,8 @@ import android.graphics.PointF;
import android.view.MotionEvent;
import net.osmand.PlatformUtil;
+import net.osmand.plus.OsmandApplication;
+import net.osmand.plus.views.corenative.NativeCoreContext;
import net.osmand.util.MapUtils;
import org.apache.commons.logging.Log;
@@ -36,6 +38,10 @@ public class MultiTouchSupport {
public void onActionPointerUp();
public void onActionCancel();
+
+ public void onChangingViewAngle(float angle);
+
+ public void onChangeViewAngleStarted();
}
private boolean multiTouchAPISupported = false;
@@ -62,6 +68,14 @@ public class MultiTouchSupport {
return inZoomMode;
}
+ public boolean isInTiltMode() {
+ return inTiltMode;
+ }
+
+ private boolean isTiltSupported() {
+ return ((OsmandApplication) ctx.getApplicationContext()).getSettings().USE_OPENGL_RENDER.get() && NativeCoreContext.isInit();
+ }
+
private void initMethods(){
try {
getPointerCount = MotionEvent.class.getMethod("getPointerCount"); //$NON-NLS-1$
@@ -76,9 +90,15 @@ public class MultiTouchSupport {
}
private boolean inZoomMode = false;
+ private boolean inTiltMode = false;
private double zoomStartedDistance = 100;
private double zoomRelative = 1;
private PointF centerPoint = new PointF();
+ private PointF firstFingerStart = new PointF();
+ private PointF secondFingerStart = new PointF();
+ private static final int TILT_X_THRESHOLD_PX = 40;
+ private static final int TILT_Y_THRESHOLD_PX = 40;
+ private static final int TILT_DY_THRESHOLD_PX = 40;
public boolean onTouchEvent(MotionEvent event){
if(!isMultiTouchSupported()){
@@ -91,10 +111,13 @@ public class MultiTouchSupport {
}
Integer pointCount = (Integer) getPointerCount.invoke(event);
if(pointCount < 2){
- if(inZoomMode){
+ if (inZoomMode) {
listener.onZoomOrRotationEnded(zoomRelative, angleRelative);
inZoomMode = false;
return true;
+ } else if (inTiltMode) {
+ inTiltMode = false;
+ return true;
}
return false;
}
@@ -114,27 +137,58 @@ public class MultiTouchSupport {
}
if (actionCode == ACTION_POINTER_DOWN) {
centerPoint = new PointF((x1 + x2) / 2, (y1 + y2) / 2);
+ firstFingerStart = new PointF(x1, y1);
+ secondFingerStart = new PointF(x2, y2);
listener.onGestureInit(x1, y1, x2, y2);
listener.onZoomStarted(centerPoint);
zoomStartedDistance = distance;
angleStarted = angle;
- inZoomMode = true;
return true;
} else if(actionCode == ACTION_POINTER_UP){
- if(inZoomMode){
+ if (inZoomMode) {
listener.onZoomOrRotationEnded(zoomRelative, angleRelative);
inZoomMode = false;
+ } else if (inTiltMode) {
+ inTiltMode = false;
}
return true;
- } else if(inZoomMode && actionCode == MotionEvent.ACTION_MOVE){
- // Keep zoom center fixed or flexible
- centerPoint = new PointF((x1 + x2) / 2, (y1 + y2) / 2);
+ } else if (actionCode == MotionEvent.ACTION_MOVE) {
+ if (inZoomMode) {
- if(angleDefined) {
- angleRelative = MapUtils.unifyRotationTo360(angle - angleStarted);
+ // Keep zoom center fixed or flexible
+ centerPoint = new PointF((x1 + x2) / 2, (y1 + y2) / 2);
+
+ if (angleDefined) {
+ angleRelative = MapUtils.unifyRotationTo360(angle - angleStarted);
+ }
+ zoomRelative = distance / zoomStartedDistance;
+ listener.onZoomingOrRotating(zoomRelative, angleRelative);
+ } else if (inTiltMode) {
+ float dy2 = secondFingerStart.y - y2;
+ float viewAngle = dy2 / 8f;
+ listener.onChangingViewAngle(viewAngle);
+ } else if (isTiltSupported()) {
+ float dx1 = Math.abs(firstFingerStart.x - x1);
+ float dx2 = Math.abs(secondFingerStart.x - x2);
+ float dy1 = Math.abs(firstFingerStart.y - y1);
+ float dy2 = Math.abs(secondFingerStart.y - y2);
+ float startDy = Math.abs(secondFingerStart.y - firstFingerStart.y);
+ if (dx1 < TILT_X_THRESHOLD_PX && dx2 < TILT_X_THRESHOLD_PX
+ && dy1 > TILT_Y_THRESHOLD_PX && dy2 > TILT_Y_THRESHOLD_PX
+ && startDy < TILT_Y_THRESHOLD_PX * 6
+ && Math.abs(dy2 - dy1) < TILT_DY_THRESHOLD_PX) {
+ listener.onChangeViewAngleStarted();
+ inTiltMode = true;
+ } else if (dx1 > TILT_X_THRESHOLD_PX || dx2 > TILT_X_THRESHOLD_PX
+ || Math.abs(dy2 - dy1) > TILT_DY_THRESHOLD_PX
+ || Math.abs(dy1 - dy2) > TILT_DY_THRESHOLD_PX) {
+ angleRelative = 0;
+ zoomRelative = 0;
+ inZoomMode = true;
+ }
+ } else {
+ inZoomMode = true;
}
- zoomRelative = distance / zoomStartedDistance;
- listener.onZoomingOrRotating(zoomRelative, angleRelative);
return true;
}
} catch (Exception e) {
diff --git a/OsmAnd/src/net/osmand/plus/views/OsmandMapTileView.java b/OsmAnd/src/net/osmand/plus/views/OsmandMapTileView.java
index eafefe7710..1f4f32c4c2 100644
--- a/OsmAnd/src/net/osmand/plus/views/OsmandMapTileView.java
+++ b/OsmAnd/src/net/osmand/plus/views/OsmandMapTileView.java
@@ -186,6 +186,7 @@ public class OsmandMapTileView implements IMapDownloaderCallback {
private long multiTouchStartTime;
private long multiTouchEndTime;
private boolean wasZoomInMultiTouch;
+ private float elevationAngle;
public OsmandMapTileView(MapActivity activity, int w, int h) {
this.activity = activity;
@@ -257,6 +258,7 @@ public class OsmandMapTileView implements IMapDownloaderCallback {
}
}
};
+ elevationAngle = settings.getLastKnownMapElevation();
}
public void setView(View view) {
@@ -439,6 +441,10 @@ public class OsmandMapTileView implements IMapDownloaderCallback {
return currentViewport.getZoom();
}
+ public float getElevationAngle() {
+ return elevationAngle;
+ }
+
public double getZoomFractionalPart() {
return currentViewport.getZoomFloatPart();
}
@@ -1127,6 +1133,7 @@ public class OsmandMapTileView implements IMapDownloaderCallback {
private LatLon initialCenterLatLon;
private boolean startRotating = false;
private static final float ANGLE_THRESHOLD = 30;
+ private float initialElevation;
@Override
public void onZoomOrRotationEnded(double relativeToStart, float angleRelative) {
@@ -1199,6 +1206,16 @@ public class OsmandMapTileView implements IMapDownloaderCallback {
multiTouch = false;
}
+ @Override
+ public void onChangingViewAngle(float angle) {
+ setElevationAngle(initialElevation - angle);
+ }
+
+ @Override
+ public void onChangeViewAngleStarted() {
+ initialElevation = elevationAngle;
+ }
+
@Override
public void onZoomStarted(PointF centerPoint) {
initialMultiTouchCenterPoint = centerPoint;
@@ -1287,6 +1304,16 @@ public class OsmandMapTileView implements IMapDownloaderCallback {
}
+ private void setElevationAngle(float angle) {
+ if (angle < 35f) {
+ angle = 35f;
+ } else if (angle > 90f) {
+ angle = 90f;
+ }
+ this.elevationAngle = angle;
+ ((MapActivity) activity).setMapElevation(angle);
+ }
+
private boolean isZoomingAllowed(int baseZoom, float dz) {
if (baseZoom > getMaxZoom()) {
return false;
@@ -1346,7 +1373,9 @@ public class OsmandMapTileView implements IMapDownloaderCallback {
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
- dragToAnimate(e2.getX() + distanceX, e2.getY() + distanceY, e2.getX(), e2.getY(), true);
+ if (!multiTouchSupport.isInTiltMode()) {
+ dragToAnimate(e2.getX() + distanceX, e2.getY() + distanceY, e2.getX(), e2.getY(), true);
+ }
return true;
}
diff --git a/OsmAnd/src/net/osmand/plus/views/TransportStopsLayer.java b/OsmAnd/src/net/osmand/plus/views/TransportStopsLayer.java
index 9246a49fab..ee19fce4f0 100644
--- a/OsmAnd/src/net/osmand/plus/views/TransportStopsLayer.java
+++ b/OsmAnd/src/net/osmand/plus/views/TransportStopsLayer.java
@@ -22,6 +22,7 @@ import net.osmand.data.RotatedTileBox;
import net.osmand.data.TransportStop;
import net.osmand.osm.edit.Node;
import net.osmand.osm.edit.Way;
+import net.osmand.plus.OsmandSettings;
import net.osmand.plus.R;
import net.osmand.plus.activities.MapActivity;
import net.osmand.plus.render.RenderingIcons;
@@ -36,6 +37,9 @@ import java.util.List;
import java.util.TreeSet;
public class TransportStopsLayer extends OsmandMapLayer implements ContextMenuLayer.IContextMenuProvider {
+
+ public static final String TRANSPORT_STOPS_OVER_MAP = "transportStops";
+
private static final int startZoom = 12;
private static final int startZoomRoute = 10;
@@ -53,13 +57,16 @@ public class TransportStopsLayer extends OsmandMapLayer implements ContextMenuLa
private MapLayerData> data;
private TransportStopRoute stopRoute = null;
- private boolean showTransportStops;
+ private OsmandSettings.CommonPreference showTransportStops;
+
private Path path;
private float backgroundIconHalfWidth;
private float backgroundIconHalfHeight;
public TransportStopsLayer(MapActivity mapActivity) {
this.mapActivity = mapActivity;
+ OsmandSettings settings = mapActivity.getMyApplication().getSettings();
+ showTransportStops = settings.getCustomRenderBooleanProperty(TRANSPORT_STOPS_OVER_MAP).cache();
}
@SuppressWarnings("deprecation")
@@ -168,14 +175,6 @@ public class TransportStopsLayer extends OsmandMapLayer implements ContextMenuLa
this.stopRoute = route;
}
- public boolean isShowTransportStops() {
- return showTransportStops;
- }
-
- public void setShowTransportStops(boolean showTransportStops) {
- this.showTransportStops = showTransportStops;
- }
-
private int getRadiusPoi(RotatedTileBox tb){
final double zoom = tb.getZoom();
int r;
@@ -227,7 +226,7 @@ public class TransportStopsLayer extends OsmandMapLayer implements ContextMenuLa
}
}
- if (showTransportStops && tb.getZoom() >= startZoom && objects == null) {
+ if (showTransportStops.get() && tb.getZoom() >= startZoom && objects == null) {
data.queryNewData(tb);
objects = data.getResults();
}
diff --git a/OsmAnd/src/net/osmand/plus/views/mapwidgets/MapInfoWidgetsFactory.java b/OsmAnd/src/net/osmand/plus/views/mapwidgets/MapInfoWidgetsFactory.java
index 2752dc3dc3..7f9bac6381 100644
--- a/OsmAnd/src/net/osmand/plus/views/mapwidgets/MapInfoWidgetsFactory.java
+++ b/OsmAnd/src/net/osmand/plus/views/mapwidgets/MapInfoWidgetsFactory.java
@@ -913,13 +913,13 @@ public class MapInfoWidgetsFactory {
public static class TopTextView {
private final RoutingHelper routingHelper;
private final MapActivity map;
- private View topBar;
- private TextView addressText;
- private TextView addressTextShadow;
- private TextView exitRefText;
- private ImageView shieldIcon;
- private ImageView turnIcon;
- private OsmAndLocationProvider locationProvider;
+ private final View topBar;
+ private final TextView addressText;
+ private final TextView addressTextShadow;
+ private final TextView exitRefText;
+ private final ImageView shieldIcon;
+ private final ImageView turnIcon;
+ private final OsmAndLocationProvider locationProvider;
private WaypointHelper waypointHelper;
private OsmandSettings settings;
private View waypointInfoBar;
@@ -927,9 +927,12 @@ public class MapInfoWidgetsFactory {
private TurnDrawable turnDrawable;
private boolean showMarker;
private int shadowRad;
+ RouteCalculationResult.NextDirectionInfo calc1;
+
private static final Log LOG = PlatformUtil.getLog(TopTextView.class);
public TopTextView(OsmandApplication app, MapActivity map) {
+ turnDrawable = new NextTurnInfoWidget.TurnDrawable(map, true);
topBar = map.findViewById(R.id.map_top_bar);
addressText = (TextView) map.findViewById(R.id.map_address_text);
addressTextShadow = (TextView) map.findViewById(R.id.map_address_text_shadow);
@@ -943,7 +946,7 @@ public class MapInfoWidgetsFactory {
settings = app.getSettings();
waypointHelper = app.getWaypointHelper();
updateVisibility(false);
- turnDrawable = new NextTurnInfoWidget.TurnDrawable(map, true);
+ calc1 = new RouteCalculationResult.NextDirectionInfo();
}
public boolean updateVisibility(boolean visible) {
@@ -979,13 +982,15 @@ public class MapInfoWidgetsFactory {
boolean showMarker = this.showMarker;
boolean showExitInfo = false;
boolean showShield = false;
+ boolean imminentTurn = false;
ExitInfo exitInfo = null;
RouteDataObject object = null;
if (routingHelper != null && routingHelper.isRouteCalculated() && !routingHelper.isDeviatedFromRoute()) {
if (routingHelper.isFollowingMode()) {
if (settings.SHOW_STREET_NAME.get()) {
- text = routingHelper.getCurrentName(type);
+ RouteCalculationResult.NextDirectionInfo nextDirInfo = routingHelper.getNextRouteDirectionInfo(calc1, true);
+ text = routingHelper.getCurrentName(type, nextDirInfo);
if (text == null) {
text = "";
} else {
@@ -995,10 +1000,15 @@ public class MapInfoWidgetsFactory {
turnDrawable.setColor(R.color.nav_arrow);
}
}
- RouteCalculationResult.NextDirectionInfo nextDirInfo = routingHelper.getNextRouteDirectionInfo(
- new RouteCalculationResult.NextDirectionInfo(), true);
+
RouteDirectionInfo directionInfo = nextDirInfo.directionInfo;
+ if (nextDirInfo.imminent >= 0) {
+ imminentTurn = true;
+ } else {
+ imminentTurn = false;
+ }
+
if (directionInfo != null && directionInfo.getExitInfo() != null) {
exitInfo = directionInfo.getExitInfo();
showExitInfo = true;
@@ -1072,19 +1082,15 @@ public class MapInfoWidgetsFactory {
AndroidUiHelper.updateVisibility(addressTextShadow, shadowRad > 0);
boolean update = turnDrawable.setTurnType(type[0]) || showMarker != this.showMarker;
this.showMarker = showMarker;
- if (showShield) {
- if (setRoadShield(shieldIcon, object)) {
- AndroidUiHelper.updateVisibility(shieldIcon, true);
- } else {
- AndroidUiHelper.updateVisibility(shieldIcon, false);
- }
+ if (showShield && setRoadShield(shieldIcon, object)) {
+ AndroidUiHelper.updateVisibility(shieldIcon, true);
} else {
AndroidUiHelper.updateVisibility(shieldIcon, false);
}
if (showExitInfo) {
String exitRef = exitInfo.getRef();
- if (!Algorithms.isEmpty(exitRef)) {
+ if (!Algorithms.isEmpty(exitRef) && imminentTurn) {
exitRefText.setText(exitRef);
AndroidUiHelper.updateVisibility(exitRefText, true);
} else {
@@ -1095,6 +1101,7 @@ public class MapInfoWidgetsFactory {
}
if (update) {
if (type[0] != null) {
+ turnIcon.invalidateDrawable(turnDrawable);
turnIcon.setImageDrawable(turnDrawable);
AndroidUiHelper.updateVisibility(turnIcon, true);
} else if (showMarker) {
diff --git a/OsmAnd/src/net/osmand/plus/voice/CommandBuilder.java b/OsmAnd/src/net/osmand/plus/voice/CommandBuilder.java
index 65a28b70e6..481b263d9a 100644
--- a/OsmAnd/src/net/osmand/plus/voice/CommandBuilder.java
+++ b/OsmAnd/src/net/osmand/plus/voice/CommandBuilder.java
@@ -179,12 +179,12 @@ public class CommandBuilder {
return alt(prepareStruct(C_TURN, param, dist, streetName), prepareStruct(C_TURN, param, dist));
}
- public CommandBuilder takeExit(String turnType, StreetName streetName) {
- return alt(prepareStruct(C_TAKE_EXIT, turnType, streetName), prepareStruct(C_TAKE_EXIT, turnType));
+ public CommandBuilder takeExit(String turnType, int exit, StreetName streetName) {
+ return alt(prepareStruct(C_TAKE_EXIT, turnType, exit, streetName), prepareStruct(C_TAKE_EXIT, turnType, exit));
}
- public CommandBuilder takeExit(String turnType, double dist, StreetName streetName) {
- return alt(prepareStruct(C_TAKE_EXIT, turnType, dist, streetName), prepareStruct(C_TAKE_EXIT, turnType, dist));
+ public CommandBuilder takeExit(String turnType, double dist, int exit, StreetName streetName) {
+ return alt(prepareStruct(C_TAKE_EXIT, turnType, dist, exit, streetName), prepareStruct(C_TAKE_EXIT, turnType, dist, exit));
}
/**
diff --git a/OsmAnd/src/net/osmand/plus/voice/JSCommandBuilder.java b/OsmAnd/src/net/osmand/plus/voice/JSCommandBuilder.java
index dfdfcea29a..057ba29a32 100644
--- a/OsmAnd/src/net/osmand/plus/voice/JSCommandBuilder.java
+++ b/OsmAnd/src/net/osmand/plus/voice/JSCommandBuilder.java
@@ -65,6 +65,10 @@ public class JSCommandBuilder extends CommandBuilder {
return this;
}
+ private boolean isJSCommandExists(String name) {
+ return jsScope.get(name) instanceof Function;
+ }
+
public JSCommandBuilder goAhead(){
return goAhead(-1, new StreetName());
}
@@ -115,12 +119,14 @@ public class JSCommandBuilder extends CommandBuilder {
return addCommand(C_TURN, param, dist, convertStreetName(streetName));
}
- public JSCommandBuilder takeExit(String turnType, StreetName streetName) {
- return takeExit(turnType, -1, streetName);
+ public JSCommandBuilder takeExit(String turnType, int exit, StreetName streetName) {
+ return takeExit(turnType, -1, exit, streetName);
}
- public JSCommandBuilder takeExit(String turnType, double dist, StreetName streetName) {
- return addCommand(C_TAKE_EXIT, turnType, dist, convertStreetName(streetName));
+ public JSCommandBuilder takeExit(String turnType, double dist, int exit, StreetName streetName) {
+ return isJSCommandExists(C_TAKE_EXIT) ?
+ addCommand(C_TAKE_EXIT, turnType, dist, exit, convertStreetName(streetName)) :
+ addCommand(C_TURN, turnType, dist, convertStreetName(streetName));
}
/**