commit
7931c9a872
69 changed files with 1328 additions and 694 deletions
67
.github/ISSUE_TEMPLATE/3-bug-report.md
vendored
67
.github/ISSUE_TEMPLATE/3-bug-report.md
vendored
|
@ -3,69 +3,16 @@ name: "\U0001F41E Bug report"
|
|||
about: Report a bug in OsmAnd
|
||||
---
|
||||
|
||||
<!--🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅
|
||||
|
||||
Oh hi there! 😄
|
||||
|
||||
To expedite issue processing please search open and closed issues before submitting a new one.
|
||||
Existing issues often contain information about workarounds, resolution, or progress updates.
|
||||
|
||||
GitHub is our main development tool for our developers. There are hundreds of requests a month and there are relatively few developers.
|
||||
So by opening an issue, please know that your issue will be sent out to all developers and acknowledge that it could be closed without explanation or with just a brief message.
|
||||
Comments on the closed issues are also sent to all developers, so you will definitely will be heard.
|
||||
However, there is no guarantee that a developer will pick up the issue to work on it.
|
||||
|
||||
Please be sure to read our [FAQ](https://osmand.net/help-online) before creating an issue here.
|
||||
|
||||
The best way to get help about an OsmAnd issue is to create a valid and detailed issue.
|
||||
Please give us the following information so that we can try to **reproduce** your issue:
|
||||
|
||||
🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅-->
|
||||
|
||||
# 🐞 bug report
|
||||
|
||||
### Is this a regression?
|
||||
|
||||
<!-- Did this behavior use to work in the previous version? -->
|
||||
<!-- ✍️--> Yes, the previous version in which this bug was not present was: ....
|
||||
|
||||
### Description
|
||||
|
||||
<!-- A clear and concise description of the problem... -->
|
||||
|
||||
## 🔬 Minimal Reproduction
|
||||
### How to reproduce?
|
||||
|
||||
<!--
|
||||
If the bug is reproducible, please describe steps below:
|
||||
-->
|
||||
<!-- ✍️--> 1. Open app, and click on ...
|
||||
|
||||
## 🔥 Exception or Error
|
||||
### Your Environment
|
||||
OsmAnd Version:
|
||||
Android/iOS version:
|
||||
Device model:
|
||||
|
||||
<pre><code>
|
||||
<!-- If the issue is accompanied by an exception or an error, please share it below: -->
|
||||
<!-- ✍️-->
|
||||
|
||||
</code></pre>
|
||||
|
||||
## 🌍 Your Environment
|
||||
|
||||
**OsmAnd Version:**
|
||||
|
||||
<pre><code>
|
||||
<!-- paste version below -->
|
||||
<!-- ✍️-->
|
||||
|
||||
</code></pre>
|
||||
|
||||
**Device and Android/iOS version:**
|
||||
|
||||
**Maps used (online or offline):**
|
||||
|
||||
<!-- Please tick the correct box [x] (or both) -->
|
||||
|
||||
- [ ] Offline maps offered within the OsmAnd app for download.
|
||||
<!-- If you have an issue related to offline maps, tell us the exact name of the map file where the issue occurs and its edition date. -->
|
||||
- [ ] Online (tile / raster) maps <!-- Please name it -->
|
||||
|
||||
**Anything else relevant?**
|
||||
**Maps used (online or offline):**
|
||||
If you have an issue related to offline maps, tell us the exact name of the map file where the issue occurs and its edition date.
|
||||
|
|
|
@ -334,14 +334,16 @@ public class GeocodingUtilities {
|
|||
boolean eqStreet = Algorithms.stringsEqual(gr1.streetName, gr2.streetName);
|
||||
if (eqStreet) {
|
||||
boolean sameObj = false;
|
||||
if (gr1.building != null && gr2.building != null) {
|
||||
if (Algorithms.stringsEqual(gr1.building.getName(), gr2.building.getName())) {
|
||||
// same building
|
||||
if (gr1.city != null && gr2.city != null) {
|
||||
if (gr1.building != null && gr2.building != null) {
|
||||
if (Algorithms.stringsEqual(gr1.building.getName(), gr2.building.getName())) {
|
||||
// same building
|
||||
sameObj = true;
|
||||
}
|
||||
} else if (gr1.building == null && gr2.building == null) {
|
||||
// same street
|
||||
sameObj = true;
|
||||
}
|
||||
} else if (gr1.building == null && gr2.building == null) {
|
||||
// same street
|
||||
sameObj = true;
|
||||
}
|
||||
if (sameObj) {
|
||||
double cityDist1 = MapUtils.getDistance(gr1.searchPoint, gr1.city.getLocation());
|
||||
|
|
|
@ -271,7 +271,7 @@ public class RouteSegmentResult implements StringExternalizable<RouteDataBundle>
|
|||
bundle.putString("turnLanes", TurnType.lanesToString(turnLanes));
|
||||
}
|
||||
}
|
||||
bundle.putLong("id", object.id);
|
||||
bundle.putLong("id", object.id >> 6); // OsmAnd ID to OSM ID
|
||||
bundle.putArray("types", convertTypes(object.types, rules));
|
||||
|
||||
int start = Math.min(startPointIndex, endPointIndex);
|
||||
|
@ -327,22 +327,21 @@ public class RouteSegmentResult implements StringExternalizable<RouteDataBundle>
|
|||
Location prevLocation = null;
|
||||
for (int i = 0; i < length; i++) {
|
||||
Location location = resources.getLocation(index);
|
||||
if (location == null) {
|
||||
continue;
|
||||
}
|
||||
double dist = 0;
|
||||
if (prevLocation != null) {
|
||||
dist = MapUtils.getDistance(prevLocation.getLatitude(), prevLocation.getLongitude(), location.getLatitude(), location.getLongitude());
|
||||
distance += dist;
|
||||
}
|
||||
prevLocation = location;
|
||||
object.pointsX[i] = MapUtils.get31TileNumberX(location.getLongitude());
|
||||
object.pointsY[i] = MapUtils.get31TileNumberY(location.getLatitude());
|
||||
if (location.hasAltitude() && object.heightDistanceArray.length > 0) {
|
||||
object.heightDistanceArray[i * 2] = (float) dist;
|
||||
object.heightDistanceArray[i * 2 + 1] = (float) location.getAltitude();
|
||||
} else {
|
||||
object.heightDistanceArray = new float[0];
|
||||
if (location != null) {
|
||||
double dist = 0;
|
||||
if (prevLocation != null) {
|
||||
dist = MapUtils.getDistance(prevLocation.getLatitude(), prevLocation.getLongitude(), location.getLatitude(), location.getLongitude());
|
||||
distance += dist;
|
||||
}
|
||||
prevLocation = location;
|
||||
object.pointsX[i] = MapUtils.get31TileNumberX(location.getLongitude());
|
||||
object.pointsY[i] = MapUtils.get31TileNumberY(location.getLatitude());
|
||||
if (location.hasAltitude() && object.heightDistanceArray.length > 0) {
|
||||
object.heightDistanceArray[i * 2] = (float) dist;
|
||||
object.heightDistanceArray[i * 2 + 1] = (float) location.getAltitude();
|
||||
} else {
|
||||
object.heightDistanceArray = new float[0];
|
||||
}
|
||||
}
|
||||
if (plus) {
|
||||
index++;
|
||||
|
|
|
@ -289,7 +289,8 @@ public class RoutingContext {
|
|||
if(excludeNotAllowed != null && !excludeNotAllowed.contains(ro.getId())) {
|
||||
ts.add(ro);
|
||||
}
|
||||
} else if(excludeNotAllowed != null && ro.getId() > 0){
|
||||
}
|
||||
if(excludeNotAllowed != null && ro.getId() > 0){
|
||||
excludeNotAllowed.add(ro.getId());
|
||||
if(ts.excludedIds == null ){
|
||||
ts.excludedIds = new TLongHashSet();
|
||||
|
|
|
@ -923,6 +923,7 @@ public class SearchCoreFactory {
|
|||
|
||||
public static class SearchAmenityByTypeAPI extends SearchBaseAPI {
|
||||
private static final int BBOX_RADIUS = 10000;
|
||||
private static final int BBOX_RADIUS_NEAREST = 1000;
|
||||
private SearchAmenityTypesAPI searchAmenityTypesAPI;
|
||||
private MapPoiTypes types;
|
||||
private AbstractPoiType unselectedPoiType;
|
||||
|
@ -1007,7 +1008,14 @@ public class SearchCoreFactory {
|
|||
}
|
||||
this.nameFilter = nameFilter;
|
||||
if (poiTypeFilter != null) {
|
||||
QuadRect bbox = phrase.getRadiusBBoxToSearch(BBOX_RADIUS);
|
||||
int radius = BBOX_RADIUS;
|
||||
if (phrase.getRadiusLevel() == 1 && poiTypeFilter instanceof CustomSearchPoiFilter) {
|
||||
String name = ((CustomSearchPoiFilter) poiTypeFilter).getFilterId();
|
||||
if ("std_null".equals(name)) {
|
||||
radius = BBOX_RADIUS_NEAREST;
|
||||
}
|
||||
}
|
||||
QuadRect bbox = phrase.getRadiusBBoxToSearch(radius);
|
||||
List<BinaryMapIndexReader> offlineIndexes = phrase.getOfflineIndexes();
|
||||
Set<String> searchedPois = new TreeSet<>();
|
||||
for (BinaryMapIndexReader r : offlineIndexes) {
|
||||
|
|
|
@ -15,6 +15,7 @@ import java.util.TreeSet;
|
|||
|
||||
import net.osmand.binary.BinaryMapIndexReader;
|
||||
|
||||
import net.osmand.data.LatLon;
|
||||
import org.junit.Assert;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
|
@ -29,42 +30,52 @@ public class RouteTestingTest {
|
|||
private TestEntry te;
|
||||
|
||||
|
||||
public RouteTestingTest(String name, TestEntry te) {
|
||||
this.te = te;
|
||||
}
|
||||
public RouteTestingTest(String name, TestEntry te) {
|
||||
this.te = te;
|
||||
}
|
||||
|
||||
@BeforeClass
|
||||
public static void setUp() throws Exception {
|
||||
RouteResultPreparation.PRINT_TO_CONSOLE_ROUTE_INFORMATION_TO_TEST = true;
|
||||
}
|
||||
@BeforeClass
|
||||
public static void setUp() throws Exception {
|
||||
RouteResultPreparation.PRINT_TO_CONSOLE_ROUTE_INFORMATION_TO_TEST = true;
|
||||
}
|
||||
|
||||
@Parameterized.Parameters(name = "{index}: {0}")
|
||||
public static Iterable<Object[]> data() throws IOException {
|
||||
String fileName = "/test_routing.json";
|
||||
Reader reader = new InputStreamReader(RouteTestingTest.class.getResourceAsStream(fileName));
|
||||
Gson gson = new GsonBuilder().setPrettyPrinting().create();
|
||||
TestEntry[] testEntries = gson.fromJson(reader, TestEntry[].class);
|
||||
ArrayList<Object[]> arrayList = new ArrayList<>();
|
||||
for(TestEntry te : testEntries) {
|
||||
if(te.isIgnore()) {
|
||||
continue;
|
||||
}
|
||||
arrayList.add(new Object[] {te.getTestName(), te});
|
||||
}
|
||||
reader.close();
|
||||
return arrayList;
|
||||
@Parameterized.Parameters(name = "{index}: {0}")
|
||||
public static Iterable<Object[]> data() throws IOException {
|
||||
String fileName = "/test_routing.json";
|
||||
Reader reader = new InputStreamReader(RouteTestingTest.class.getResourceAsStream(fileName));
|
||||
Gson gson = new GsonBuilder().setPrettyPrinting().create();
|
||||
TestEntry[] testEntries = gson.fromJson(reader, TestEntry[].class);
|
||||
ArrayList<Object[]> arrayList = new ArrayList<>();
|
||||
for (TestEntry te : testEntries) {
|
||||
if (te.isIgnore()) {
|
||||
continue;
|
||||
}
|
||||
arrayList.add(new Object[]{te.getTestName(), te});
|
||||
}
|
||||
reader.close();
|
||||
return arrayList;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
@Test
|
||||
public void testRouting() throws Exception {
|
||||
String fl = "src/test/resources/Routing_test.obf";
|
||||
RandomAccessFile raf = new RandomAccessFile(fl, "r");
|
||||
RoutePlannerFrontEnd fe = new RoutePlannerFrontEnd();
|
||||
|
||||
BinaryMapIndexReader[] binaryMapIndexReaders = { new BinaryMapIndexReader(raf, new File(fl)) };
|
||||
BinaryMapIndexReader[] binaryMapIndexReaders;// = { new BinaryMapIndexReader(raf, new File(fl)) };
|
||||
RoutingConfiguration.Builder builder = RoutingConfiguration.getDefault();
|
||||
Map<String, String> params = te.getParams();
|
||||
if (params.containsKey("map")) {
|
||||
String fl1 = "src/test/resources/" + params.get("map");
|
||||
RandomAccessFile raf1 = new RandomAccessFile(fl1, "r");
|
||||
binaryMapIndexReaders = new BinaryMapIndexReader[]{
|
||||
new BinaryMapIndexReader(raf1, new File(fl1)),
|
||||
new BinaryMapIndexReader(raf, new File(fl))
|
||||
};
|
||||
} else {
|
||||
binaryMapIndexReaders = new BinaryMapIndexReader[]{new BinaryMapIndexReader(raf, new File(fl))};
|
||||
}
|
||||
RoutingConfiguration config = builder.build(params.containsKey("vehicle") ? params.get("vehicle") : "car",
|
||||
RoutingConfiguration.DEFAULT_MEMORY_LIMIT * 3, params);
|
||||
RoutingContext ctx = fe.buildRoutingContext(config, null, binaryMapIndexReaders,
|
||||
|
@ -102,6 +113,4 @@ public class RouteTestingTest {
|
|||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -266,4 +266,5 @@
|
|||
<string name="location_history_desc">Cacher les contacts qui ne se sont pas déplacés depuis un temps donné.</string>
|
||||
<string name="set_time_description">Définissez l\'heure à laquelle les contacts et groupes sélectionnés verront votre position en temps réel.</string>
|
||||
<string name="osmand_connect">OsmAnd connect</string>
|
||||
<string name="time_ago">depuis</string>
|
||||
</resources>
|
|
@ -526,7 +526,7 @@ dependencies {
|
|||
implementation 'androidx.multidex:multidex:2.0.1'
|
||||
implementation 'androidx.gridlayout:gridlayout:1.0.0'
|
||||
implementation 'androidx.cardview:cardview:1.0.0'
|
||||
implementation 'androidx.appcompat:appcompat:1.1.0'
|
||||
implementation 'androidx.appcompat:appcompat:1.2.0'
|
||||
implementation 'com.google.android.material:material:1.2.1'
|
||||
implementation 'androidx.browser:browser:1.0.0'
|
||||
implementation 'androidx.preference:preference:1.1.0'
|
||||
|
|
|
@ -6,33 +6,59 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<net.osmand.plus.widgets.TextViewEx
|
||||
android:id="@+id/title"
|
||||
android:layout_width="wrap_content"
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingStart="@dimen/content_padding"
|
||||
android:paddingLeft="@dimen/content_padding"
|
||||
android:paddingTop="@dimen/measurement_tool_menu_title_padding_top"
|
||||
android:paddingEnd="@dimen/content_padding"
|
||||
android:paddingRight="@dimen/content_padding"
|
||||
android:paddingBottom="@dimen/measurement_tool_menu_title_padding_bottom"
|
||||
android:text="@string/plan_route_open_existing_track"
|
||||
android:textAppearance="@style/TextAppearance.ListItemTitle"
|
||||
osmand:typeface="@string/font_roboto_medium" />
|
||||
android:orientation="horizontal">
|
||||
|
||||
<net.osmand.plus.widgets.TextViewEx
|
||||
android:id="@+id/description"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingStart="@dimen/content_padding"
|
||||
android:paddingLeft="@dimen/content_padding"
|
||||
android:paddingEnd="@dimen/content_padding"
|
||||
android:paddingRight="@dimen/content_padding"
|
||||
android:paddingBottom="@dimen/content_padding"
|
||||
android:text="@string/plan_route_select_track_file_for_open"
|
||||
android:textColor="?android:textColorPrimary"
|
||||
android:textSize="@dimen/default_desc_text_size"
|
||||
osmand:typeface="@string/font_roboto_regular" />
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:orientation="vertical">
|
||||
|
||||
<net.osmand.plus.widgets.TextViewEx
|
||||
android:id="@+id/title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingStart="@dimen/content_padding"
|
||||
android:paddingLeft="@dimen/content_padding"
|
||||
android:paddingTop="@dimen/measurement_tool_menu_title_padding_top"
|
||||
android:paddingEnd="@dimen/content_padding"
|
||||
android:paddingRight="@dimen/content_padding"
|
||||
android:paddingBottom="@dimen/measurement_tool_menu_title_padding_bottom"
|
||||
android:text="@string/plan_route_open_existing_track"
|
||||
android:textAppearance="@style/TextAppearance.ListItemTitle"
|
||||
osmand:typeface="@string/font_roboto_medium" />
|
||||
|
||||
<net.osmand.plus.widgets.TextViewEx
|
||||
android:id="@+id/description"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingStart="@dimen/content_padding"
|
||||
android:paddingLeft="@dimen/content_padding"
|
||||
android:paddingEnd="@dimen/content_padding"
|
||||
android:paddingRight="@dimen/content_padding"
|
||||
android:paddingBottom="@dimen/content_padding"
|
||||
android:text="@string/plan_route_select_track_file_for_open"
|
||||
android:textColor="?android:textColorPrimary"
|
||||
android:textSize="@dimen/default_desc_text_size"
|
||||
osmand:typeface="@string/font_roboto_regular" />
|
||||
</LinearLayout>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/sort_button"
|
||||
android:layout_width="@dimen/wikipedia_options_button_width"
|
||||
android:layout_height="@dimen/dialog_button_height"
|
||||
android:layout_gravity="center"
|
||||
osmand:srcCompat="@drawable/ic_sort_waypoint_dark"
|
||||
android:tint="?attr/color_dialog_buttons"
|
||||
android:background="?attr/bg_dash_line"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"
|
||||
android:layout_marginEnd="@dimen/content_padding"
|
||||
android:layout_marginRight="@dimen/content_padding" />
|
||||
</LinearLayout>
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/folder_list"
|
||||
|
|
|
@ -718,7 +718,7 @@
|
|||
<string name="tts_language_not_supported">اللغة المحددة غير مدعومة من قبل محرك أندرويد لتحويل النص إلى كلام (TTS). ستُستخدم اللغة السابقة في المحرك ، هل تريد البحث عن محركات أخرى في السوق؟</string>
|
||||
<string name="tts_missing_language_data_title">البيانات ناقصة</string>
|
||||
<string name="tts_missing_language_data">لا توجد بيانات مُثبّتة للغة المحددة. هل تريد أن تذهب إلى السوق لتثبيتها؟</string>
|
||||
<string name="gpx_option_reverse_route">عكس المسار</string>
|
||||
<string name="gpx_option_reverse_route">عكس اتجاه المسار</string>
|
||||
<string name="gpx_option_destination_point">استخدم الوجهة الحالية</string>
|
||||
<string name="gpx_option_from_start_point">يمر على طول المسار باكمله</string>
|
||||
<string name="switch_to_vector_map_to_see">خريطة التنقل المتوفرة حاليا لهذا الموقع.
|
||||
|
|
|
@ -3843,4 +3843,5 @@
|
|||
<string name="poi_departures_board_delay">Затрымка</string>
|
||||
<string name="poi_recycling_small_electrical_appliances">Маленькія электрапрыборы</string>
|
||||
<string name="poi_beehive">Вулей</string>
|
||||
<string name="poi_nuts">Крама арэхаў</string>
|
||||
</resources>
|
|
@ -657,7 +657,7 @@
|
|||
<string name="tts_language_not_supported">Абраная мова не падтрымліваецца Android TTS (пераўтварэнне тэксту ў гук), таму будзе выкарыстоўвацца прадвызначаная мова TTS. Пашукаць іншы TTS у краме\?</string>
|
||||
<string name="tts_missing_language_data_title">Даныя адсутнічаюць</string>
|
||||
<string name="tts_missing_language_data">Перайсці ў краму, каб спампаваць абраную мову\?</string>
|
||||
<string name="gpx_option_reverse_route">Развярнуць кірунак GPX</string>
|
||||
<string name="gpx_option_reverse_route">Развярнуць кірунак следу</string>
|
||||
<string name="gpx_option_destination_point">Выкарыстоўваць дзейны пункт прызначэння</string>
|
||||
<string name="gpx_option_from_start_point">Прайсці ўвесь шлях</string>
|
||||
<string name="switch_to_vector_map_to_see">Для гэтага рэгіёну даступныя лакальныя вектарныя мапы.
|
||||
|
|
|
@ -3806,7 +3806,7 @@ Abasta l\'àrea: %1$s x %2$s</string>
|
|||
<string name="add_segment_to_the_track">Afegeix a un fitxer de traces</string>
|
||||
<string name="layer_gpx_layer">Traces</string>
|
||||
<string name="save_track_to_gpx_globally">Enregistra el trajecte a un fitxer GPX</string>
|
||||
<string name="navigate_to_track_descr">Navegua des de la meva ubicació fins a la traça</string>
|
||||
<string name="navigate_to_track_descr">Navega des de la meva ubicació fins a la traça</string>
|
||||
<string name="add_address">Afegeix una adreça</string>
|
||||
<string name="shared_string_file_name">Nom del fitxer</string>
|
||||
<string name="monitoring_control_start">REC</string>
|
||||
|
@ -3815,4 +3815,8 @@ Abasta l\'àrea: %1$s x %2$s</string>
|
|||
<string name="simplified_track">Traça simplificada</string>
|
||||
<string name="simplified_track_description">Només es desarà la línia del trajecte, les fites s\'esborraran.</string>
|
||||
<string name="number_of_gpx_files_selected_pattern">%s arxius de traces seleccionats</string>
|
||||
<string name="shared_string_save_as_gpx">Desa en un nou fitxer de traces</string>
|
||||
<string name="show_gpx">Traces</string>
|
||||
<string name="empty_state_my_tracks_desc">Importa o enregistra fitxers de traces</string>
|
||||
<string name="import_track_descr">Trieu un fitxer de traces a seguir o importeu-lo des del dispositiu.</string>
|
||||
</resources>
|
|
@ -983,7 +983,7 @@
|
|||
<string name="poi_information_guidepost">Rozcestník</string>
|
||||
<string name="poi_cuisine">Kuchyně</string>
|
||||
<string name="poi_water_characteristic_sulfuric">Síranová</string>
|
||||
<string name="poi_water_characteristic_mud">Charakteristika vody: bahnitá</string>
|
||||
<string name="poi_water_characteristic_mud">Bahno</string>
|
||||
<string name="poi_water_characteristic_mineral">Minerální</string>
|
||||
<string name="poi_pump_no">Bez čerpadla</string>
|
||||
<string name="poi_pump_powered">Poháněné</string>
|
||||
|
@ -1156,7 +1156,7 @@
|
|||
<string name="poi_tactile_paving_yes">Ano</string>
|
||||
<string name="poi_tactile_paving_no">Bez značení pro nevidomé</string>
|
||||
<string name="poi_traffic_signals_sound_yes">Ano</string>
|
||||
<string name="poi_traffic_signals_sound_no">Ne</string>
|
||||
<string name="poi_traffic_signals_sound_no">Zvuk: ne</string>
|
||||
<string name="poi_traffic_signals_sound_walk">Pouze pokud je chůze povolena</string>
|
||||
<string name="poi_rescue_station">Záchranná stanice</string>
|
||||
<string name="poi_services">Odpočívadlo se službami</string>
|
||||
|
@ -1258,7 +1258,7 @@
|
|||
<string name="poi_vending_parcel_pickup">Vyzvednutí balíků</string>
|
||||
<string name="poi_vending_milk">Mléko</string>
|
||||
<string name="poi_vending_chewing_gums">Žvýkačky</string>
|
||||
<string name="poi_vending_parking_tickets_public_transport_tickets">Parkovací lístky; lístky na veřejnou dopravu</string>
|
||||
<string name="poi_vending_parking_tickets_public_transport_tickets">Parkovací lístky a lístky na veřejnou dopravu</string>
|
||||
<string name="poi_vending_coffee">Káva</string>
|
||||
<string name="poi_vending_toll">Automat na mýto</string>
|
||||
<string name="poi_vending_toys">Hračky</string>
|
||||
|
@ -1588,13 +1588,13 @@
|
|||
<string name="poi_service_repair_no">Žádné opravy</string>
|
||||
<string name="poi_service_electrical">Opravy elektrických vozidel</string>
|
||||
<string name="poi_self_service_yes">Ano</string>
|
||||
<string name="poi_self_service_no">Bez samoobsluhy</string>
|
||||
<string name="poi_self_service_no">Ne</string>
|
||||
<string name="poi_automated_yes">Ano</string>
|
||||
<string name="poi_automated_no">Neautomatizované</string>
|
||||
<string name="poi_full_service_yes">Všechny služby</string>
|
||||
<string name="poi_brushless_yes">Ano</string>
|
||||
<string name="poi_brushless_no">Bez kartáčů: ne</string>
|
||||
<string name="poi_car_wash_no">Automyčka: ne</string>
|
||||
<string name="poi_car_wash_no">Ne</string>
|
||||
<string name="poi_public_bath">Veřejná sprcha</string>
|
||||
<string name="poi_male_yes">Muži</string>
|
||||
<string name="poi_male_no">Zakázané pro muže</string>
|
||||
|
@ -1955,7 +1955,7 @@
|
|||
<string name="poi_vending_public_transport_plans">Plány veřejné dopravy</string>
|
||||
<string name="poi_branch">Pobočka</string>
|
||||
<string name="poi_memorial_stele">Stéla</string>
|
||||
<string name="poi_memorial_cross">Ve tvaru kříže</string>
|
||||
<string name="poi_memorial_cross">Tvar kříže</string>
|
||||
<string name="poi_memorial_stolperstein">Kameny zmizelých</string>
|
||||
<string name="poi_memorial_stupa">Stúpa</string>
|
||||
<string name="poi_resource_tuff">Tuf</string>
|
||||
|
@ -2005,7 +2005,7 @@
|
|||
<string name="poi_fuel_100ll">Palivo 100LL</string>
|
||||
<string name="poi_fuel_autogas">LPG</string>
|
||||
<string name="poi_fuel_jeta1">Palivo tryskové A-1</string>
|
||||
<string name="poi_fuel_adblue">Palivo AdBlue</string>
|
||||
<string name="poi_fuel_adblue">Dieselové kapalné aditivum</string>
|
||||
<string name="poi_fuel_wood">Palivo: dřevo</string>
|
||||
<string name="poi_fuel_charcoal">Palivo: dřevěné uhlí</string>
|
||||
<string name="poi_fuel_coal">Palivo: uhlí</string>
|
||||
|
@ -3804,7 +3804,44 @@
|
|||
<string name="poi_seamark_water_level_above_mwl">Výška vody: nad střední hladinou</string>
|
||||
<string name="poi_seamark_water_level_below_mwl">Výška vody: pod střední hladinou</string>
|
||||
<string name="poi_seamark_obstruction">Překážka</string>
|
||||
<string name="poi_drinking_water_refill_yes">Doplňování pitné vody: ano</string>
|
||||
<string name="poi_drinking_water_refill_yes">Ano</string>
|
||||
<string name="poi_drinking_water_refill_no">Doplňování pitné vody: ne</string>
|
||||
<string name="poi_drinking_water_refill_network">Sít doplňování pitné vody</string>
|
||||
<string name="poi_beehive">Včelí úl</string>
|
||||
<string name="poi_departures_board_realtime">Data v reálném čase</string>
|
||||
<string name="poi_departures_board_yes">Ano</string>
|
||||
<string name="poi_elevator">Výtah</string>
|
||||
<string name="poi_borough">Městská část</string>
|
||||
<string name="poi_nuts">Obchod se suchými plody</string>
|
||||
<string name="poi_departures_board_timetable">Jízdní řád</string>
|
||||
<string name="poi_departures_board_delay">Zpoždění</string>
|
||||
<string name="poi_departures_board_no">Odjezdová tabule: ne</string>
|
||||
<string name="poi_city_block">Městský blok</string>
|
||||
<string name="poi_give_box">Darovací místo</string>
|
||||
<string name="poi_traffic_signals_arrow_no">Šipka: ne</string>
|
||||
<string name="poi_traffic_signals_arrow_yes">Ano</string>
|
||||
<string name="poi_traffic_signals_vibration_yes">Ano</string>
|
||||
<string name="poi_traffic_signals_vibration_no">Vibrace: ne</string>
|
||||
<string name="poi_pump_status_missing_beam">Stav pumpy: chybí rukojeť</string>
|
||||
<string name="poi_osmand_fire_hydrant_pressure_suction">Sání</string>
|
||||
<string name="poi_osmand_fire_hydrant_pressure_pressurized">Pod tlakem</string>
|
||||
<string name="poi_fire_hydrant_style_water_source_groundwater">Podzemní voda</string>
|
||||
<string name="poi_fire_hydrant_type_pipe">Roura</string>
|
||||
<string name="poi_internet_access_fee_customers">Internetový přístup: zdarma pro zákazníky</string>
|
||||
<string name="poi_monastery_type_clerks_regular">Typ klášteru: řeholnický</string>
|
||||
<string name="poi_monastery_type_hermitage">Typ klášteru: poustevnický</string>
|
||||
<string name="poi_monastery_type_canonry">Typ klášteru: kanovnický</string>
|
||||
<string name="poi_monastery_type_monastics">Typ klášteru: mnišský</string>
|
||||
<string name="poi_cash_withdrawal_type_self_checkout">Výběr hotovosti: u samoobslužné pokladny</string>
|
||||
<string name="poi_cash_withdrawal_type_checkout">Výběr hotovosti: u pokladny</string>
|
||||
<string name="poi_charge">Poplatek</string>
|
||||
<string name="poi_taxi_office">Taxi kancelář</string>
|
||||
<string name="poi_flare">Polní hořák; fléra</string>
|
||||
<string name="poi_glacier_type_tidewater">Dosahující k moři</string>
|
||||
<string name="poi_recycling_small_electrical_appliances">Malá elektrická zařízení</string>
|
||||
<string name="poi_departures_board">Odjezdová tabule</string>
|
||||
<string name="poi_drinking_water_refill">Doplňování pitné vody</string>
|
||||
<string name="poi_traffic_signals_arrow">Šipka</string>
|
||||
<string name="poi_traffic_signals_vibration">Vibrace</string>
|
||||
<string name="poi_fire_hydrant_pressure_filter">Tlak</string>
|
||||
</resources>
|
|
@ -3845,4 +3845,6 @@
|
|||
<string name="poi_departures_board">Anzeige der Abreisezeiten</string>
|
||||
<string name="poi_drinking_water_refill">Nachfüllen von Trinkwasser</string>
|
||||
<string name="poi_beehive">Bienenstock</string>
|
||||
<string name="poi_recycling_small_electrical_appliances">Kleine Elektrogeräte</string>
|
||||
<string name="poi_nuts">Nussladen</string>
|
||||
</resources>
|
|
@ -3780,7 +3780,7 @@
|
|||
<string name="speed_cameras_alert">Blitzer-Warnungen sind in einigen Ländern gesetzlich verboten.</string>
|
||||
<string name="shared_string_bearing">Peilung</string>
|
||||
<string name="item_deleted">%1$s gelöscht</string>
|
||||
<string name="speed_cameras_restart_descr">Ein Neustart ist erforderlich, um Blitzerdaten vollständig zu löschen.</string>
|
||||
<string name="speed_cameras_restart_descr">Starten Sie die Anwendung neu, um alle Blitzerdaten zu löschen.</string>
|
||||
<string name="shared_string_uninstall_and_restart">Deinstallieren und neu starten</string>
|
||||
<string name="speed_cameras_legal_descr">In einigen Ländern oder Regionen ist die Verwendung von Blitzer-Warneinrichtungen gesetzlich verboten.
|
||||
\n
|
||||
|
@ -3793,26 +3793,26 @@
|
|||
<string name="routing_attr_length_name">Längenbegrenzung</string>
|
||||
<string name="speed_cameras_removed_descr">Diese App hat keine Informationen zu Blitzern.</string>
|
||||
<string name="app_mode_inline_skates">Inline-Skates</string>
|
||||
<string name="use_volume_buttons_as_zoom_descr">Aktivieren Sie die Steuerung der Zoomstufe der Karte mit den Lautstärketasten des Geräts.</string>
|
||||
<string name="use_volume_buttons_as_zoom_descr">Steuern Sie die Zoomstufen der Karte mit den Lautstärketasten des Geräts.</string>
|
||||
<string name="use_volume_buttons_as_zoom">Lautstärketasten als Zoom</string>
|
||||
<string name="lenght_limit_description">Bitte geben Sie Ihre Fahrzeuglänge an. Für lange Fahrzeuge könnten einige Streckenabschnitte nicht befahrbar sein.</string>
|
||||
<string name="quick_action_remove_next_destination">Nächsten Zielpunkt löschen</string>
|
||||
<string name="quick_action_remove_next_destination">Nächstgelegenen Zielpunkt löschen</string>
|
||||
<string name="please_provide_point_name_error">Bitte geben Sie einen Namen für das Profil an</string>
|
||||
<string name="quick_action_remove_next_destination_descr">Der aktuelle Punkt auf der Route wird gelöscht. Wenn es das Ziel ist, wird die Navigation gestoppt.</string>
|
||||
<string name="search_download_wikipedia_maps">Wikipedia-Karten herunterladen</string>
|
||||
<string name="plugin_wikipedia_description">Informationen über Sehenswürdigkeiten erhalten Sie bei Wikipedia. Es ist Ihr Offline-Wegweiser für die Hosentasche - aktivieren Sie einfach das Wikipedia-Modul und genießen Sie Artikel über Objekte in Ihrer Umgebung.</string>
|
||||
<string name="plugin_wikipedia_description">Info über Sehenswürdigkeiten erhalten Sie bei Wikipedia. Es ist Ihr Offline-Wegweiser für die Hosentasche - aktivieren Sie einfach das Wikipedia-Modul und genießen Sie Artikel über Objekte in Ihrer Umgebung.</string>
|
||||
<string name="app_mode_enduro_motorcycle">Enduro</string>
|
||||
<string name="app_mode_motor_scooter">Motorroller</string>
|
||||
<string name="app_mode_wheelchair">Rollstuhl</string>
|
||||
<string name="app_mode_go_cart">Go-Kart</string>
|
||||
<string name="osm_edit_closed_note">Geschlossene OSM-Notiz</string>
|
||||
<string name="app_mode_wheelchair_forward">Rollstuhl vorwärts</string>
|
||||
<string name="set_working_days_to_continue">Zum Fortfahren müssen die Arbeitstage gesetzt sein</string>
|
||||
<string name="set_working_days_to_continue">Zum Fortfahren bitte Arbeitstage auswählen</string>
|
||||
<string name="route_between_points">Route zwischen Punkten</string>
|
||||
<string name="plan_a_route">Eine Route planen</string>
|
||||
<string name="add_to_a_track">Zu einem Track hinzufügen</string>
|
||||
<string name="add_hidden_group_info">Der hinzugefügte Punkt wird auf der Karte nicht sichtbar sein, da die ausgewählte Gruppe ausgeblendet ist, Sie können ihn in \"%s\" finden.</string>
|
||||
<string name="track_show_start_finish_icons">Start-Ziel-Symbole anzeigen</string>
|
||||
<string name="track_show_start_finish_icons">Start- und Ziel-Symbole anzeigen</string>
|
||||
<string name="select_track_width">Breite auswählen</string>
|
||||
<string name="gpx_split_interval_descr">Wählen Sie das Intervall, in dem Markierungen mit Abstand oder Zeit auf dem Track angezeigt werden.</string>
|
||||
<string name="gpx_split_interval_none_descr">Wählen Sie die gewünschte Aufteilungsoption: nach Zeit oder nach Entfernung.</string>
|
||||
|
@ -3831,7 +3831,7 @@
|
|||
<string name="reverse_route">Route umkehren</string>
|
||||
<string name="route_between_points_whole_track_button_desc">Der gesamte Track wird mit dem ausgewählten Profil neu berechnet.</string>
|
||||
<string name="route_between_points_next_segment_button_desc">Nur das nächste Segment wird mit dem ausgewählten Profil neu berechnet.</string>
|
||||
<string name="route_between_points_desc">Wählen Sie, wie Punkte mit einer geraden Linie verbunden werden sollen, oder berechnen Sie eine Route zwischen ihnen mit dem ausgewählten Profil.</string>
|
||||
<string name="route_between_points_desc">Wählen Sie, wie Punkte verbunden werden sollen; durch eine gerade Linie, oder eine berechnete Route zwischen ihnen, wie unten angegeben.</string>
|
||||
<string name="whole_track">Ganzer Track</string>
|
||||
<string name="next_segment">Nächstes Segment</string>
|
||||
<string name="navigation_profile">Navigationsprofil</string>
|
||||
|
@ -3841,7 +3841,7 @@
|
|||
<string name="add_address">Adresse hinzufügen</string>
|
||||
<string name="access_hint_enter_address">Adresse eingeben</string>
|
||||
<string name="street_level_imagery">Bilder auf Straßenebene</string>
|
||||
<string name="plan_route_exit_dialog_descr">Sind Sie sicher, die Routenplanung ohne speichern beenden zu wollen\? Sie werden alle Änderungen verlieren.</string>
|
||||
<string name="plan_route_exit_dialog_descr">Sind Sie sicher, dass Sie alle Änderungen an der geplanten Route verwerfen wollen, indem Sie sie schließen\?</string>
|
||||
<string name="plan_route_change_route_type_before">Routentyp davor ändern</string>
|
||||
<string name="plan_route_change_route_type_after">Routentyp danach ändern</string>
|
||||
<string name="plan_route_trim_before">Davor trimmen</string>
|
||||
|
@ -3854,7 +3854,7 @@
|
|||
<string name="context_menu_item_add_waypoint">Track-Wegpunkt hinzufügen</string>
|
||||
<string name="map_widget_monitoring">Streckenaufzeichnung</string>
|
||||
<string name="follow_track">Track folgen</string>
|
||||
<string name="navigate_to_track_descr">Von meinem Standort zum Track navigieren</string>
|
||||
<string name="navigate_to_track_descr">Von meiner Position zum Track navigieren</string>
|
||||
<string name="start_of_the_track">Startpunkt des Tracks</string>
|
||||
<string name="attach_to_the_roads">Auf Straßen einrasten</string>
|
||||
<string name="simplified_track">Vereinfachter Track</string>
|
||||
|
@ -3873,7 +3873,7 @@
|
|||
<string name="shared_string_is_saved">wird gespeichert</string>
|
||||
<string name="save_track_to_gpx">Während der Navigation automatisch Track aufzeichnen</string>
|
||||
<string name="shared_string_gpx_route">Track Route</string>
|
||||
<string name="import_track_descr">Track Datei zum Folgen auswählen, oder importieren.</string>
|
||||
<string name="import_track_descr">Track Datei zum Folgen auswählen, oder vom Gerät importieren.</string>
|
||||
<string name="disable_recording_once_app_killed_descrp">Die GPX-Aufzeichnung wird angehalten, wenn OsmAnd beendet wird (über „zuletzt verwendete Apps“). (Die Hintergrunddienst-Anzeige verschwindet aus der Android-Benachrichtigungsleiste.)</string>
|
||||
<string name="save_global_track_interval_descr">Aufzeichnungsintervall für die generelle Track-Aufzeichnung festlegen (via Schaltfläche \'GPX\' auf dem Kartenbildschirm).</string>
|
||||
<string name="route_between_points_warning_desc">Um diese Option nutzen zu können, muss OsmAnd den Track auf die Straßen der Karte einrasten.
|
||||
|
@ -3892,4 +3892,19 @@
|
|||
<string name="pass_whole_track_descr">Track-Punkt, zu dem navigiert werden soll</string>
|
||||
<string name="nearest_point">Nächstgelegener Punkt</string>
|
||||
<string name="shared_string_redo">Wiederholen</string>
|
||||
<string name="release_3_8">• Aktualisierte Funktion zum Planen einer Route: erlaubt die Verwendung verschiedener Navigationstypen pro Segment und die Einbeziehung von Tracks
|
||||
\n
|
||||
\n • Neues Menü zum Erscheinungsbild von Tracks: Wählen Sie Farbe, Dicke, Richtungspfeile, Start-/Ziel-Symbole
|
||||
\n
|
||||
\n • Verbesserte Darstellung von Fahrradknotenpunkten.
|
||||
\n
|
||||
\n • Tracks sind jetzt antippbar und haben ein Kontextmenü mit grundlegenden Informationen.
|
||||
\n
|
||||
\n • Verbesserte Suchalgorithmen
|
||||
\n
|
||||
\n • Verbesserte Trackverfolgungsoptionen in der Navigation
|
||||
\n
|
||||
\n • Probleme beim Import/Export von Profileinstellungen behoben
|
||||
\n
|
||||
\n</string>
|
||||
</resources>
|
|
@ -831,7 +831,7 @@
|
|||
<string name="poi_barbecue">Rostilo</string>
|
||||
<string name="poi_craft_agricultural_engines">Laborejo de agrokulturaj maŝinoj</string>
|
||||
<string name="poi_craft_basket_maker">Laborejo de korbisto</string>
|
||||
<string name="poi_craft_beekeeper">Abelistejo</string>
|
||||
<string name="poi_craft_beekeeper">Abelejo</string>
|
||||
<string name="poi_craft_blacksmith">Forĝejo</string>
|
||||
<string name="poi_craft_brewery">Bierfarejo</string>
|
||||
<string name="poi_craft_boatbuilder">Boat-konstruejo</string>
|
||||
|
@ -849,7 +849,7 @@
|
|||
<string name="poi_craft_watchmaker">Poŝ-horloĝistejo</string>
|
||||
<string name="poi_craft_insulation">Varmizolaĵistejo</string>
|
||||
<string name="poi_craft_jeweller">Laborejo de juvelisto</string>
|
||||
<string name="poi_craft_locksmith">Seruristejo</string>
|
||||
<string name="poi_craft_locksmith">Laborejo de seruristo</string>
|
||||
<string name="poi_craft_key_cutter">Ŝlosil-kopiistejo</string>
|
||||
<string name="poi_craft_metal_construction">Laborejo de metal-konstruaĵisto</string>
|
||||
<string name="poi_craft_optician">Okulvitristejo</string>
|
||||
|
@ -1852,7 +1852,7 @@
|
|||
<string name="poi_consulting">Oficejo de konsilado</string>
|
||||
<string name="poi_cooperative">Oficejo de kunlaborado</string>
|
||||
<string name="poi_office_forestry">Oficejo de arbarkultivo</string>
|
||||
<string name="poi_logistics">Oficejo de provizarto</string>
|
||||
<string name="poi_logistics">Oficejo de ekspedo</string>
|
||||
<string name="poi_parish">Oficejo de paroĥo</string>
|
||||
<string name="poi_publisher">Oficejo de eldonisto</string>
|
||||
<string name="poi_fuel_91ul">benzino 91-oktannombra senplumba</string>
|
||||
|
@ -3031,7 +3031,7 @@
|
|||
<string name="poi_feeding_place">Bestonutrejo</string>
|
||||
<string name="poi_party">Okazaĵaj-provizoj-vendejo</string>
|
||||
<string name="poi_electrical">Elektraĵ-vendejo</string>
|
||||
<string name="poi_locksmith">Seruristejo</string>
|
||||
<string name="poi_locksmith">Laborejo de seruristo</string>
|
||||
<string name="poi_lighting">Prilumigad-aparata vendejo</string>
|
||||
<string name="poi_lottery">Loteri-bileta kiosko</string>
|
||||
<string name="poi_gambling">Hazardludejo</string>
|
||||
|
@ -3719,7 +3719,7 @@
|
|||
<string name="poi_craft_bakery">Bakejo (ne vendejo)</string>
|
||||
<string name="poi_craft_cabinet_maker">Laborejo de meblisto</string>
|
||||
<string name="poi_charge">Pago</string>
|
||||
<string name="poi_pet_grooming">Dombesta beligejo</string>
|
||||
<string name="poi_pet_grooming">Hejmbesta beligejo</string>
|
||||
<string name="poi_atm_yes">Bankaŭtomato: jes</string>
|
||||
<string name="poi_cash_withdrawal_bank_card">Elpago de mono</string>
|
||||
<string name="poi_cash_withdrawal_yes">Elpago de mono: jes</string>
|
||||
|
|
|
@ -1129,7 +1129,7 @@
|
|||
<string name="tts_language_not_supported">El idioma elegido es incompatible con el motor TTS (texto a voz) instalado en Android, se usará el idioma TTS predefinido. ¿Buscar otro motor TTS en la tienda de aplicaciones\?</string>
|
||||
<string name="tts_missing_language_data_title">Faltan datos</string>
|
||||
<string name="tts_missing_language_data">¿Ir a la tienda de aplicaciones para descargar el idioma elegido?</string>
|
||||
<string name="gpx_option_reverse_route">Invertir la dirección GPX</string>
|
||||
<string name="gpx_option_reverse_route">Invertir la dirección de la traza</string>
|
||||
<string name="gpx_option_destination_point">Usar destino actual</string>
|
||||
<string name="gpx_option_from_start_point">Pasar a lo largo de la traza completa</string>
|
||||
<string name="switch_to_vector_map_to_see">Mapa vectorial presente para esta ubicación.
|
||||
|
@ -3904,4 +3904,7 @@
|
|||
\n • Se han solucionado los problemas de la importación y exportación en los ajustes de los perfiles
|
||||
\n
|
||||
\n</string>
|
||||
<string name="sort_last_modified">Último modificado</string>
|
||||
<string name="sort_name_descending">Nombre: Z – A</string>
|
||||
<string name="sort_name_ascending">Nombre: A – Z</string>
|
||||
</resources>
|
|
@ -3,7 +3,7 @@
|
|||
<string name="poi_shop">Pood</string>
|
||||
<string name="poi_emergency">Hädaabi</string>
|
||||
<string name="poi_transportation">Transport</string>
|
||||
<string name="poi_man_made">Käsitsi tehtud</string>
|
||||
<string name="poi_man_made">Rajatis</string>
|
||||
<string name="poi_education">Haridus</string>
|
||||
<string name="poi_administrative">Administratiiv</string>
|
||||
<string name="poi_healthcare">Tervishoid</string>
|
||||
|
|
|
@ -811,7 +811,7 @@
|
|||
<string name="turn_screen_on_router">Ärka pöördel</string>
|
||||
<string name="turn_screen_on_time_descr">Reguleeri kui kaua ekraan peaks olema sisse lülitatud.</string>
|
||||
<string name="turn_screen_on_sensor">Kasuta lähedusandurit</string>
|
||||
<string name="turn_screen_on_sensor_descr">Liiguta oma kätt üle ekraani ülaosa selle navigeerimise ajal sisse lülitamiseks.</string>
|
||||
<string name="turn_screen_on_sensor_descr">Käe liigutamine üle ekraani lülitab selle sisse.</string>
|
||||
<string name="rendering_attr_highway_class_track_grade1_name">1. järk</string>
|
||||
<string name="rendering_attr_highway_class_track_grade2_name">2. järk</string>
|
||||
<string name="rendering_attr_highway_class_track_grade3_name">3. järk</string>
|
||||
|
@ -879,7 +879,7 @@
|
|||
<string name="analytics_pref_title">Analüütika</string>
|
||||
<string name="turn_screen_on_info">Kuva navigeerimise ajal lukustuskuval kaarti.</string>
|
||||
<string name="route_parameters_info">Marsruutimise seaded valitud profiilis \"%1$s\".</string>
|
||||
<string name="wake_time">Ärkamisaeg</string>
|
||||
<string name="wake_time">Aegumine peale ärkamist</string>
|
||||
<string name="units_and_formats">Ühikud ja formaadid</string>
|
||||
<string name="appearance">Välimus</string>
|
||||
<string name="map_look_descr">Kaardi välimus</string>
|
||||
|
@ -1200,11 +1200,11 @@
|
|||
<string name="shared_string_currently_recording_track">Raja salvestamine</string>
|
||||
<string name="track_segments">Rajalõigud</string>
|
||||
<string name="track_points">Rajapunktid</string>
|
||||
<string name="osmand_rastermaps_plugin_description">Selle lisaga saad ligipääsu mitut liiki veebikaartidele (nn paanid või rasterkaardid), alates eelnevalt määratletud OpenStreetMap-i paanidest (nagu Mapnik) kuni satelliidipiltide ja eriotstarbeliste kihtideni nagu ilmakaardid, kliimakaardid, geoloogilised kaardid, künklikihi kihid jne.
|
||||
\n
|
||||
\nKõiki neid kaarte saab kasutada kas peamise (põhi) kaardina, mida kuvatakse OsmAnd kaardil, või ülekattena või aluskihina mõnele muule põhikaardile (nagu OsmAndi standardsed võrguühenduseta kaardid). Mis tahes aluskihi paremini nähtavamaks muutmiseks saab OsmAndi vektorkaartide teatud elemente soovi korral hõlpsalt peita menüü \'Kaardi seadistamine\' abil.
|
||||
\n
|
||||
\nPlaatide kaarte saab hankida otse veebiallikatest või neid saab võrguühenduseta kasutamiseks ette valmistada (ja käsitsi kopeerida OsmAndi andmekataloogi) SQLite andmebaasina, mida saab toota mitmesuguste kolmandate osapoolte kaardi ettevalmistamise tööriistade abil.</string>
|
||||
<string name="osmand_rastermaps_plugin_description">Selle lisaga saad ligipääsu mitut liiki veebikaartidele (nn paanid või rasterkaardid), alates eelnevalt määratletud OpenStreetMap-i paanidest (nagu Mapnik) kuni satelliidipiltide ja eriotstarbeliste kihtideni nagu ilmakaardid, kliimakaardid, geoloogilised kaardid, künklikihi kihid jne.
|
||||
\n
|
||||
\nKõiki neid kaarte saad kasutada kas peamise (põhi) kaardina, mida kuvatakse OsmAnd kaardil, või ülekattena või aluskihina mõnele muule põhikaardile (nagu OsmAndi standardsed võrguühenduseta kaardid). Mis tahes aluskihi paremini nähtavamaks muutmiseks saad OsmAndi vektorkaartide teatud elemente soovi korral hõlpsalt peita menüü „Kaardi seadistamine“ abil.
|
||||
\n
|
||||
\nKaardipaane saad hankida otse veebiallikatest või neid saad võrguühenduseta kasutamiseks ette valmistada (ja käsitsi kopeerida OsmAndi andmekataloogi) SQLite andmebaasina, mida võid luua mitmesuguste kolmandate osapoolte kaardi ettevalmistamise tööriistade abil.</string>
|
||||
<string name="srtm_paid_version_title">Kõrgusjoonte lisa</string>
|
||||
<string name="osmand_srtm_short_description_80_chars">OsmAnd lisa võrguühenduseta kõrgusjoontele</string>
|
||||
<string name="srtm_plugin_name">Kõrgusjooned</string>
|
||||
|
@ -1511,14 +1511,14 @@
|
|||
<string name="base_world_map">Maailma aluskaart</string>
|
||||
<string name="about_version">Versioon:</string>
|
||||
<string name="about_settings_descr">Versiooni info, litsentsid, projekti liikmed</string>
|
||||
<string name="local_index_tile_data_zooms">Suurendab laetud: %1$s</string>
|
||||
<string name="local_index_tile_data_expire">Aegub (minutit): %1$s</string>
|
||||
<string name="local_index_tile_data_zooms">Allalaetud suumitasemed: %1$s</string>
|
||||
<string name="local_index_tile_data_expire">Aegumine (minutites): %1$s</string>
|
||||
<string name="local_index_tile_data_downloadable">Alla laetav: %1$s</string>
|
||||
<string name="local_index_tile_data_maxzoom">Maksimaalne suurendus: %1$s</string>
|
||||
<string name="local_index_tile_data_minzoom">Minimaalne suurendus: %1$s</string>
|
||||
<string name="edit_tilesource_elliptic_tile">Elliptiline merkator</string>
|
||||
<string name="edit_tilesource_elliptic_tile">Mercatori elliptiline projektsioon</string>
|
||||
<string name="edit_tilesource_maxzoom">Maksimaalne suurendus</string>
|
||||
<string name="edit_tilesource_expiration_time">Aegumine (minutit)</string>
|
||||
<string name="edit_tilesource_expiration_time">Aegumine (minutites)</string>
|
||||
<string name="edit_tilesource_minzoom">Minimaalne suurendus</string>
|
||||
<string name="edit_tilesource_url_to_load">URL</string>
|
||||
<string name="edit_tilesource_choose_existing">Vali olemasolev…</string>
|
||||
|
@ -1529,7 +1529,7 @@
|
|||
<string name="driving_region_us">Ameerika Ühendriigid</string>
|
||||
<string name="driving_region_canada">Kanada</string>
|
||||
<string name="driving_region_europe_asia">Euroopa, Aasia, Ladina-Ameerika ja sarnased</string>
|
||||
<string name="driving_region_uk">UK, India, Austraalia ja sarnased</string>
|
||||
<string name="driving_region_uk">Suurbritannia, India, Austraalia ja sarnased</string>
|
||||
<string name="speak_title">Teata…</string>
|
||||
<string name="speak_street_names">Tänavanimed (TTS)</string>
|
||||
<string name="speak_speed_limit">Kiiruspiirang</string>
|
||||
|
@ -2018,7 +2018,7 @@
|
|||
<string name="tts_language_not_supported_title">Mittetoetatud keel</string>
|
||||
<string name="tts_missing_language_data_title">Puuduvad andmed</string>
|
||||
<string name="tts_missing_language_data">Mine turule valitud keele alla laadimiseks\?</string>
|
||||
<string name="gpx_option_reverse_route">Vastupidine GPX suund</string>
|
||||
<string name="gpx_option_reverse_route">Raja vastupidine suund</string>
|
||||
<string name="gpx_option_destination_point">Kasuta olemasoleva sihtkohta</string>
|
||||
<string name="gpx_option_from_start_point">Mööda kogu rada</string>
|
||||
<string name="choose_audio_stream">Hääljuhiste väljund</string>
|
||||
|
@ -2417,7 +2417,7 @@
|
|||
<string name="no_inet_connection_desc_map">Vajalik kaartide alla laadimiseks.</string>
|
||||
<string name="search_location">Asukoha otsing…</string>
|
||||
<string name="storage_free_space">Vaba ruum</string>
|
||||
<string name="storage_place_description">OsmAnd andmekasutus (kaardid, GPX failid, jne.): %1$s.</string>
|
||||
<string name="storage_place_description">OsmAnd\'i andmekasutus (kaardid, rajafailid, jne.): %1$s.</string>
|
||||
<string name="give_permission">Anna luba</string>
|
||||
<string name="allow_access_location">Anna ligipääs asukohale</string>
|
||||
<string name="first_usage_greeting">Hangi juhiseid ja avasta uusi kohti ilma internetiühenduseta</string>
|
||||
|
@ -2468,10 +2468,10 @@
|
|||
<string name="shared_string_record">Salvesta</string>
|
||||
<string name="gpx_logging_no_data">Andmed puuduvad</string>
|
||||
<string name="trip_rec_notification_settings">Lülita sisse kiire salvestamine</string>
|
||||
<string name="trip_rec_notification_settings_desc">Kuva teekonna salvestamist lubav süsteemi märguanne.</string>
|
||||
<string name="trip_rec_notification_settings_desc">Kuva teekonna salvestamise algust lubav süsteemi märguanne.</string>
|
||||
<string name="shared_string_notifications">Märguanded</string>
|
||||
<string name="gpx_no_tracks_title">Sul pole veel ühtegi GPX faili</string>
|
||||
<string name="gpx_no_tracks_title_folder">Võid lisada kausta ka GPX faile</string>
|
||||
<string name="gpx_no_tracks_title">Sul pole veel ühtegi rajafaili</string>
|
||||
<string name="gpx_no_tracks_title_folder">Võid lisada kausta ka rajafaile</string>
|
||||
<string name="gpx_add_track">Lisa veel…</string>
|
||||
<string name="shared_string_appearance">Välimus</string>
|
||||
<string name="rendering_value_fine_name">Peen</string>
|
||||
|
@ -2674,9 +2674,9 @@
|
|||
<string name="routing_attr_width_description">Määra teedel lubatud sõiduki laius.</string>
|
||||
<string name="simulate_your_location_gpx_descr">Simuleeri oma asukohta kasutades salvestatud GPX rada.</string>
|
||||
<string name="quick_action_directions_from_desc">Nupp ekraani keskkoha lähtekohaks muutmiseks. Seejärel on kas võimalik valida sihtkohta või alustada teekonna arvutamist.</string>
|
||||
<string name="record_plugin_description">See lisa aktiveerib radade salvestamise funktsionaalsuse, puudutades käsitsi kaardil GPX logimisvidinat või logides automaatselt kõik oma navigeerimise marsruudid GPX faili.
|
||||
<string name="record_plugin_description">See lisa aktiveerib radade salvestamise funktsionaalsuse, puudutades käsitsi kaardil GPX logimisvidinat või logides automaatselt kõik oma teekonnad GPX faili.
|
||||
\n
|
||||
\nSalvestatud radu saab jagada oma sõpradega või kasutada OSM kaastöödeks. Sportlased saavad kasutada salvestatud radu oma treeningute jälgimiseks. Mõningast raja põhianalüüsi saab teha otse OsmAnd sees, näiteks ringiajad, keskmine kiirus jne. Lisaks muidugi saab radu hiljem analüüsia ka spetsiaalsetete 3. osapoolte analüüsitööriistadega.</string>
|
||||
\nSalvestatud radu saad jagada oma sõpradega või kasutada OSM kaastöödeks. Sportlased saavad kasutada salvestatud radu oma treeningute jälgimiseks. Mõningast raja põhianalüüsi saad teha otse OsmAnd sees, näiteks ringiajad, keskmine kiirus jne. Lisaks muidugi saad radu hiljem analüüsida ka spetsiaalsetete kolmandate osapoolte analüüsitööriistadega.</string>
|
||||
<string name="osmand_srtm_long_description_1000_chars">See lisa pakub nii kõrgusjoonte ülekatte kui ka (reljeefse) künkavarjutuse kihi, mida kuvatakse OsmAnd standardkaartidel. Seda funktsionaalsust hindavad sportlased, matkajad, rändajad ja kõik teised, kes on huvitatud maastiku reljeefstruktuurist.
|
||||
\n
|
||||
\nGlobaalsed andmed (vahemikus 70 ° põhja ja 70 ° lõuna) põhinevad mõõtmistel, mille on teinud SRTM (süstiku radari topograafiamissioon) ja ASTER (täiustatud kosmose termilise kiirguse ja peegelduse radiomeeter), NASA maavaatlussatelliitide süsteemi lipulaeva Terra pardal olev pildistamisinstrument. ASTER on NASA, Jaapani majandus-, kaubandus- ja tööstusministeeriumi (METI) ja Jaapani kosmosesüsteemide (J-kosmosesüsteemid) koostöö.</string>
|
||||
|
@ -2707,9 +2707,9 @@
|
|||
\nNii asukoht kui aeg on nähtavad nii OsmAnd armatuurlaual kui kaardi vidinas. Meeldetuletust saab lisada Androidi kalendrisse.</string>
|
||||
<string name="unit_of_length_descr">Muuda kauguse mõõtmise ühikuid.</string>
|
||||
<string name="osmand_distance_planning_plugin_description">Selleks, et reise kavandada ja punktide vahelist kaugust mõõta, loo teekondi kaardil koputades või olemasolevaid GPX-faile kasutades, Tulemusi saad salvestada GPX-failina, mida on hiljem võimalik juhendamiseks kasutada.</string>
|
||||
<string name="osmand_accessibility_description">See lisa teeb seadme erivajadusega kasutajatele mõeldud funktsioonid otse OsmAndis kättesaadavaks. See lihtsustab nt. kõnesünteesi häälte kõnekiiruse reguleerimist, ekraanil navigeerimise suuna seadistamist, rulliku kasutamist suurenduse juhtimiseks või kõnesünteesi tagasisidet, näiteks oma asukoha automaatseks teatamiseks.</string>
|
||||
<string name="osm_editing_plugin_description">See lisa võimaldab OsmAnd abil OSM kaastöid teha, näiteks OSM huvipunkte luua või muuta, OSM märkmeid avada või kommenteerida ning salvestatud GPX faile lisada. OSM on kogukonna juhitud globaalne üldkasutatav kaardistamisprojekt. Üksikasju leiad https://openstreetmap.org. Aktiivset osalemist hinnatakse ja panust saab teha otse OsmAnd rakendusest, kui seadistada rakenduses oma isiklikud OSM kasutajatunnused.</string>
|
||||
<string name="osmand_development_plugin_description">See lisa kuvab arendus- ja silumisfunktsioonide sätteid nagu teekonna arvutamine, renderdamise jõudlus või hääljuhiste testimine ja simuleerimine. Need seaded on mõeldud arendajatele ja pole tavakasutaja jaoks vajalikud.</string>
|
||||
<string name="osmand_accessibility_description">Teeb seadme erivajadusega kasutajatele mõeldud funktsioonid otse OsmAndis kättesaadavaks. See lihtsustab näiteks kõnesünteesi häälte kõnekiiruse reguleerimist, ekraanil navigeerimise suuna seadistamist, rulliku kasutamist suurenduse juhtimiseks või kõnesünteesi tagasisidet, näiteks oma asukoha automaatseks teatamiseks.</string>
|
||||
<string name="osm_editing_plugin_description">Tee OsmAnd\'i abil OSM\'i kaastöid, näiteks loo või muuda OSM\'i huvipunkte, ava või kommenteeri OSM\'i märkmeid ning lisa salvestatud GPX faile. Selleks sisesta oma OSM\'i kasutajanimi ja salasõna. OSM on kogukonna juhitud globaalne vaba litsentsi alusel avaldatud kaardistamisprojekt.</string>
|
||||
<string name="osmand_development_plugin_description">Arendus- ja silumisfunktsioonide seadistused, nagu teekonna simulatsioon, renderdamise jõudlus või hääljuhiste testimine. Need seaded on mõeldud arendajatele ja pole tavakasutaja jaoks vajalikud.</string>
|
||||
<string name="avoid_roads_msg">Vali alternatiivne teekond, valides välditavad teed</string>
|
||||
<string name="use_opengl_render_descr">Kasuta riistvarakiirendatud OpenGL tuge (võib kasutada rohkem akut või mitte töötada väga vanades seadmetes).</string>
|
||||
<string name="lock_screen_request_explanation">%1$s vajab seda luba ekraani välja lülitamiseks energiasäästu nimel.</string>
|
||||
|
@ -3226,7 +3226,7 @@
|
|||
\n Enamik maailma riike üle on allalaadimiseks saadaval!
|
||||
\n Hangi oma riigis usaldusväärne navigaator - olgu see siis Prantsusmaa, Saksamaa, Mehhiko, UK, Hispaania, Holland, USA, Venemaa, Brasiilia või mõni muu.</string>
|
||||
<string name="osmand_plus_extended_description_part1">OsmAnd + (OSM automatiseeritud navigeerimisjuhised) on kaardi- ja navigatsioonirakendus, millel on juurdepääs tasuta, ülemaailmsetele ja kvaliteetsetele OpenStreetMap (OSM) andmetele.
|
||||
\n Naudi hääl- ja optilist navigeerimist, HP-de (huvipunktide) vaatamist, GPX radade loomist ja haldamist, kasutades kõrgusjoonte visuaalset kuvamist ja kõrgusteavet, valikut autosõidu, jalgrattasõidu, jalakäijate režiimide, OSM redigeerimise ja palju muu vahel.
|
||||
\n Naudi hääl- ja optilist navigeerimist, HP-de (huvipunktide) vaatamist, GPX radade loomist ja haldamist, kasutades kõrgusjoonte visuaalset kuvamist ja kõrgusteavet, valikut autosõidu, jalgrattasõidu, jalakäijate režiimide, OSM\'i andmete muutmuise ja palju muu vahel.
|
||||
\n
|
||||
\n OsmAnd+ on rakenduse tasuline versioon. Selle ostmisega toetad projekti, rahastad uute funktsioonide arendamist ja saad kõige värskemaid uuendusi.
|
||||
\n
|
||||
|
@ -3267,19 +3267,19 @@
|
|||
\n • Valikuline reisi salvestamine ka taustrežiimis (kui seade on puhkeolekus)
|
||||
\n OsmAnd on aktiivselt arendatud avatud lähtekoodiga tarkvara. Kõik saavad rakendusse panustada, teatades vigadest, parandades tõlkeid või kodeerides uusi funktsioone. Lisaks toetub projekt rahalisele toetusele koodide kodeerimiseks ja uute funktsioonide testimiseks.
|
||||
\n</string>
|
||||
<string name="osmand_plus_extended_description_part8">Ligikaudne kaardi leviala ja kvaliteet:
|
||||
\n • Lääne-Euroopa: ****
|
||||
\n • Ida-Euroopa: ***
|
||||
\n • Venemaa: ***
|
||||
\n • Põhja-Ameerika: ***
|
||||
\n • Lõuna-Ameerika: **
|
||||
\n • Aasia: **
|
||||
\n • Jaapan ja Korea: ***
|
||||
\n • Lähis-Ida: **
|
||||
\n • Aafrika: **
|
||||
\n • Antarktika: *
|
||||
\n Enamik riike kogu maailmas on saadaval alla laadimiseks
|
||||
\n Afganistanist Zimbabweni, Austraaliast USA-ni. Argentiina, Brasiilia, Kanada, Prantsusmaa, Saksamaa, Mehhiko, UK, Hispaania, …
|
||||
<string name="osmand_plus_extended_description_part8">Ligikaudne kaardi leviala ja kvaliteet:
|
||||
\n • Lääne-Euroopa: ****
|
||||
\n • Ida-Euroopa: ***
|
||||
\n • Venemaa: ***
|
||||
\n • Põhja-Ameerika: ***
|
||||
\n • Lõuna-Ameerika: **
|
||||
\n • Aasia: **
|
||||
\n • Jaapan ja Korea: ***
|
||||
\n • Lähis-Ida: **
|
||||
\n • Aafrika: **
|
||||
\n • Antarktika: *
|
||||
\n Enamike riikide andmed üle maailma on saadaval allalaadimiseks
|
||||
\n Afganistanist Zimbabweni, Austraaliast Ameerika Ühendriikideni. Argentina, Brasiilia, Kanada, Prantsusmaa, Saksamaa, Mehhiko, Suurbritannia, Hispaania, …
|
||||
\n</string>
|
||||
<string name="save_poi_too_many_uppercase">Nimi sisaldab liiga palju suurtähti. Jätkata\?</string>
|
||||
<string name="retry">Proovi uuesti</string>
|
||||
|
@ -3753,4 +3753,6 @@
|
|||
\n • Parandatud on profiili seadistuste impordi ja ekspordiga seotud vead
|
||||
\n
|
||||
\n</string>
|
||||
<string name="gpx_monitoring_stop">Peata teekonna salvestamine</string>
|
||||
<string name="gpx_monitoring_start">Jätka teekonna salvestamist</string>
|
||||
</resources>
|
|
@ -147,7 +147,7 @@
|
|||
<string name="tts_language_not_supported">La langue sélectionnée n\'est pas disponible dans le moteur de synthèse vocale installé. Souhaitez-vous rechercher d\'autres moteurs de synthèse vocale sur Google Play \? Sinon la langue par défaut sera utilisée.</string>
|
||||
<string name="tts_missing_language_data_title">Données manquantes</string>
|
||||
<string name="tts_missing_language_data">Souhaitez-vous installer la langue sélectionnée depuis Google Play ?</string>
|
||||
<string name="gpx_option_reverse_route">Inverser l\'itinéraire GPX</string>
|
||||
<string name="gpx_option_reverse_route">Inverser le sens de la trace</string>
|
||||
<string name="gpx_option_destination_point">Utiliser la destination en cours</string>
|
||||
<string name="gpx_option_from_start_point">Suivre l\'ensemble de la trace</string>
|
||||
<string name="switch_to_vector_map_to_see">Cartes vectorielles hors-lignes disponibles pour cette position.
|
||||
|
@ -3880,4 +3880,7 @@
|
|||
<string name="plan_route_change_route_type_after">Modifier le type d’itinéraire après</string>
|
||||
<string name="simplified_track_description">Seule la ligne d\'itinéraire sera enregistrée, les points de passage seront supprimés.</string>
|
||||
<string name="shared_string_redo">Rétablir</string>
|
||||
<string name="sort_last_modified">Dernière modification</string>
|
||||
<string name="sort_name_descending">Nom : Z – A</string>
|
||||
<string name="sort_name_ascending">Nom : A – Z</string>
|
||||
</resources>
|
|
@ -36,7 +36,7 @@
|
|||
<string name="poi_mobile_phone">Tenda de telefonía móbil</string>
|
||||
<string name="poi_motorcycle">Tenda de motos</string>
|
||||
<string name="poi_musical_instrument">Instrumentos musicais</string>
|
||||
<string name="poi_newsagent">Axencia de xornalismo</string>
|
||||
<string name="poi_newsagent">Venda de prensa</string>
|
||||
<string name="poi_organic">Produtos ecolóxicos</string>
|
||||
<string name="poi_paint">Tenda de pinturas</string>
|
||||
<string name="poi_pet">Tenda de animais</string>
|
||||
|
@ -3800,7 +3800,7 @@
|
|||
<string name="poi_tactile_paving_incorrect">Incorrecto</string>
|
||||
<string name="poi_drinking_water_refill_network">Rede de recarga de auga potábel</string>
|
||||
<string name="poi_drinking_water_refill_no">Recarga de auga potábel: non</string>
|
||||
<string name="poi_drinking_water_refill_yes">Recarga de auga potábel: si</string>
|
||||
<string name="poi_drinking_water_refill_yes">Si</string>
|
||||
<string name="poi_seamark_obstruction">Obstrución</string>
|
||||
<string name="poi_seamark_water_level_below_mwl">Nivel da auga: por debaixo do nivel medio da auga</string>
|
||||
<string name="poi_seamark_water_level_above_mwl">Nivel da auga: por encima do nivel medio da auga</string>
|
||||
|
@ -3825,4 +3825,16 @@
|
|||
<string name="poi_give_box">Caixa de distribución</string>
|
||||
<string name="poi_city_block">Predio</string>
|
||||
<string name="poi_borough">Concello</string>
|
||||
<string name="poi_nuts">Froitos secos</string>
|
||||
<string name="poi_beehive">Colmea</string>
|
||||
<string name="poi_departures_board_timetable">Horarios</string>
|
||||
<string name="poi_departures_board_realtime">Tempo real</string>
|
||||
<string name="poi_departures_board_delay">Atraso</string>
|
||||
<string name="poi_departures_board_yes">Si</string>
|
||||
<string name="poi_departures_board_no">Taboleiro de saídas: non</string>
|
||||
<string name="poi_elevator">Ascensor</string>
|
||||
<string name="poi_traffic_signals_arrow_no">Frecha: non</string>
|
||||
<string name="poi_recycling_small_electrical_appliances">Pequenos aparellos eléctricos</string>
|
||||
<string name="poi_departures_board">Taboleiro de saídas</string>
|
||||
<string name="poi_drinking_water_refill">Recarga de auga potábel</string>
|
||||
</resources>
|
|
@ -13,7 +13,7 @@
|
|||
<string name="fav_point_emoticons_message">Favorito renomeado a \'%1$s\' para gardar a cadea que contén emoticonas nun ficheiro.</string>
|
||||
<string name="print_route">Imprimir o itinerario</string>
|
||||
<string name="fav_point_dublicate">Favorito especificado con nome duplicado</string>
|
||||
<string name="traffic_warning_calming">Lomba</string>
|
||||
<string name="traffic_warning_calming">Redutor de velocidade</string>
|
||||
<string name="traffic_warning">Aviso do tráfico</string>
|
||||
<string name="way_alarms">Avisos de tráfico</string>
|
||||
<string name="background_service_is_enabled_question">O servizo en segundo plano do OsmAnd aínda está en execución. Desexas detelo tamén\?</string>
|
||||
|
@ -897,7 +897,7 @@
|
|||
<string name="tts_language_not_supported">A lingua escollida é incompatíbel co motor TTS (texto lido a voz) instalado no Android, empregarase a lingua TTS predefinida. Procurar outro motor TTS na tenda de aplicacións\?</string>
|
||||
<string name="tts_missing_language_data_title">faltan datos</string>
|
||||
<string name="tts_missing_language_data">Ir á tenda de aplicacións para baixar a lingua escollida\?</string>
|
||||
<string name="gpx_option_reverse_route">Inverter a dirección do GPX</string>
|
||||
<string name="gpx_option_reverse_route">Inverter dirección da pista</string>
|
||||
<string name="gpx_option_destination_point">Empregar o destino actual</string>
|
||||
<string name="gpx_option_from_start_point">Percorrer toda a pista</string>
|
||||
<string name="switch_to_vector_map_to_see">Hai un mapa vectorial sen conexión para este sitio.
|
||||
|
@ -1878,8 +1878,8 @@ Lon %2$s</string>
|
|||
<string name="route_roundabout_short">Colla a %1$d saída e siga</string>
|
||||
<string name="upload_poi">Enviar PDI</string>
|
||||
<string name="route_calculation">Cálculo da ruta</string>
|
||||
<string name="gpx_no_tracks_title">Aínda non tes ningún ficheiro GPX</string>
|
||||
<string name="gpx_no_tracks_title_folder">Tamén podes engadir ficheiros GPX ó cartafol</string>
|
||||
<string name="gpx_no_tracks_title">Aínda non tes ningún ficheiro de pistas</string>
|
||||
<string name="gpx_no_tracks_title_folder">Tamén podes engadir ficheiros de pistas ó cartafol</string>
|
||||
<string name="gpx_add_track">Engadir máis…</string>
|
||||
<string name="shared_string_appearance">Aparencia</string>
|
||||
<string name="trip_rec_notification_settings">Activar a gravación rápida</string>
|
||||
|
@ -1931,7 +1931,7 @@ Lon %2$s</string>
|
|||
<string name="location_not_found">Localización non atopada</string>
|
||||
<string name="no_inet_connection">Non hai conexión á Internet</string>
|
||||
<string name="storage_free_space">Espazo baleiro</string>
|
||||
<string name="storage_place_description">Almacenamento dos datos do OsmAnd (para mapas, ficheiros GPX, etc.): %1$s.</string>
|
||||
<string name="storage_place_description">Almacenamento dos datos do OsmAnd (para mapas, ficheiros de pistas, etc.): %1$s.</string>
|
||||
<string name="give_permission">Fornecer permiso</string>
|
||||
<string name="allow_access_location">Permitir acceso á localización</string>
|
||||
<string name="first_usage_greeting">Obtén indicacións e descobre lugares novos sen conexión á Internet</string>
|
||||
|
@ -2708,7 +2708,7 @@ Lon %2$s</string>
|
|||
<string name="nautical_renderer">Náutico</string>
|
||||
<string name="toast_empty_name_error">Localización sen nome</string>
|
||||
<string name="tunnel_warning">Túnel adiante</string>
|
||||
<string name="show_tunnels">Túneis</string>
|
||||
<string name="show_tunnels">Túneles</string>
|
||||
<string name="download_wikipedia_description">Baixa os artigos da Wikipedia de %1$s para lelos sen conexión.</string>
|
||||
<string name="download_wikipedia_label">Baixar datos da Wikipedia</string>
|
||||
<string name="open_in_browser_wiki">Abrir artigo en liña</string>
|
||||
|
@ -2901,10 +2901,10 @@ Lon %2$s</string>
|
|||
<string name="shared_string_swap">Trocar</string>
|
||||
<string name="show_more">Amosar máis</string>
|
||||
<string name="tracks_on_map">Pistas amosadas</string>
|
||||
<string name="quick_action_show_hide_gpx_tracks">Amosar/agochar pistas GPX</string>
|
||||
<string name="quick_action_show_hide_gpx_tracks_descr">Un botón que amosa ou agocha as pistas GPX escollidas no mapa.</string>
|
||||
<string name="quick_action_gpx_tracks_hide">Agochar pistas GPX</string>
|
||||
<string name="quick_action_gpx_tracks_show">Amosar pistas GPX</string>
|
||||
<string name="quick_action_show_hide_gpx_tracks">Amosar/agochar pistas</string>
|
||||
<string name="quick_action_show_hide_gpx_tracks_descr">Un botón que amosa ou agocha as pistas escollidas no mapa.</string>
|
||||
<string name="quick_action_gpx_tracks_hide">Agochar pistas</string>
|
||||
<string name="quick_action_gpx_tracks_show">Amosar pistas</string>
|
||||
<string name="transfers_size">%1$d transferencias</string>
|
||||
<string name="add_start_and_end_points">Engadir orixe e destino</string>
|
||||
<string name="route_add_start_point">Engadir punto de comezo</string>
|
||||
|
@ -3804,7 +3804,7 @@ Lon %2$s</string>
|
|||
\nEscolle %2$s. Todos os datos relacionados de radares de velocidade: alertas, notificacións e PDI serán eliminados até que o OsmAnd sexa reinstalado de xeito completo.</string>
|
||||
<string name="keep_active">Manter activo</string>
|
||||
<string name="shared_string_uninstall">Desinstalar</string>
|
||||
<string name="speed_cameras_restart_descr">É necesario reiniciar para eliminar de xeito completo os datos do radar de velocidade.</string>
|
||||
<string name="speed_cameras_restart_descr">Reiniciar para eliminar todos os datos do radar de velocidade.</string>
|
||||
<string name="speed_cameras_alert">As alertas de radares de velocidade nalgúns países están prohibidas por lei.</string>
|
||||
<string name="shared_string_bearing">Levando</string>
|
||||
<string name="item_deleted">%1$s eliminado</string>
|
||||
|
@ -3813,21 +3813,21 @@ Lon %2$s</string>
|
|||
<string name="routing_attr_length_name">Límite de lonxitude</string>
|
||||
<string name="speed_cameras_removed_descr">Este dispositivo non ten radares de velocidade.</string>
|
||||
<string name="app_mode_inline_skates">Patíns en liña</string>
|
||||
<string name="use_volume_buttons_as_zoom_descr">Activar para controlar o nivel de achegamento (zoom) do mapa cos botóns de volume do dispositivo.</string>
|
||||
<string name="use_volume_buttons_as_zoom_descr">Controlar o nivel de achegamento (zoom) do mapa cos botóns de volume do dispositivo.</string>
|
||||
<string name="use_volume_buttons_as_zoom">Os botóns de volume mudan o achegamento</string>
|
||||
<string name="lenght_limit_description">Fornece a lonxitude do teu vehículo. Algunhas restricións de ruta poden ser aplicadas a vehículos longos.</string>
|
||||
<string name="quick_action_remove_next_destination">Eliminar seguinte punto de destino</string>
|
||||
<string name="quick_action_remove_next_destination">Eliminar punto de destino máis preto</string>
|
||||
<string name="please_provide_point_name_error">Fornece un nome para o punto</string>
|
||||
<string name="quick_action_remove_next_destination_descr">O punto de destino actual na ruta será eliminado. Se fora o destino, a navegación sería interrompida.</string>
|
||||
<string name="search_download_wikipedia_maps">Baixar mapas da Wikipedia</string>
|
||||
<string name="plugin_wikipedia_description">Obter información sobre os puntos de interesse da Wikipédia. É o teu guía de peto sen conexión - só activar o complemento da Wikipédia e desfrutar dos artigos sobre os elementos ó teu redor.</string>
|
||||
<string name="plugin_wikipedia_description">Obter información sobre os puntos de interese da Wikipedia. É o teu guía de peto sen conexión - só activar o complemento da Wikipedia e desfrutar dos artigos sobre os elementos ó teu redor.</string>
|
||||
<string name="app_mode_enduro_motorcycle">Enduro</string>
|
||||
<string name="app_mode_motor_scooter">Scooter</string>
|
||||
<string name="app_mode_wheelchair">Cadeira de rodas</string>
|
||||
<string name="app_mode_wheelchair_forward">Cadeira de rodas só cara adiante</string>
|
||||
<string name="app_mode_go_cart">Kart</string>
|
||||
<string name="osm_edit_closed_note">Nota do OSM pechada</string>
|
||||
<string name="set_working_days_to_continue">Tes que definir os días laborais para continuar</string>
|
||||
<string name="set_working_days_to_continue">Definir os días laborais para continuar</string>
|
||||
<string name="route_between_points">Ruta entre puntos</string>
|
||||
<string name="plan_a_route">Planificar unha ruta</string>
|
||||
<string name="add_to_a_track">Engadir a unha pista</string>
|
||||
|
@ -3852,4 +3852,77 @@ Lon %2$s</string>
|
|||
<string name="shared_string_is_saved">está gardado</string>
|
||||
<string name="one_point_error">Engade polo menos dous puntos.</string>
|
||||
<string name="shared_string_redo">Refacer</string>
|
||||
<string name="release_3_8">• Actualizouse a función \"Planificar ruta\": permite empregar diferentes tipos de navegación por segmento e o engadido de pistas
|
||||
\n
|
||||
\n • Novo menú coa aparencia das pistas: escoller a cor, o grosor, amosar as frechas de dirección e as iconas de comezo/final.
|
||||
\n
|
||||
\n • Melloras na visibilidade dos nós de bicicleta.
|
||||
\n
|
||||
\n • As pistas agora pódense premer, contén un menú con información básica.
|
||||
\n
|
||||
\n • Algoritmos de procura mellorados
|
||||
\n
|
||||
\n • Melloras nas opcións de seguimento da navegación
|
||||
\n
|
||||
\n • Solucionáronse os problemas da importación e exportación nos axustes dos perfís
|
||||
\n
|
||||
\n</string>
|
||||
<string name="save_track_to_gpx">Gravar a pista de xeito automático ó navegar</string>
|
||||
<string name="plan_route_last_edited">Última edición</string>
|
||||
<string name="plan_route_import_track">Importar pista</string>
|
||||
<string name="plan_route_open_existing_track">Abrir pista existente</string>
|
||||
<string name="plan_route_create_new_route">Crear nova ruta</string>
|
||||
<string name="plan_route_select_track_file_for_open">Seleccionar un ficheiro de pista para abrir.</string>
|
||||
<string name="shared_string_done">Feito</string>
|
||||
<string name="overwrite_track">Substituír pista</string>
|
||||
<string name="save_as_new_track">Gardar coma nova pista</string>
|
||||
<string name="reverse_route">Ruta inversa</string>
|
||||
<string name="route_between_points_whole_track_button_desc">Recalcular toda a pista empregando o perfil escollido.</string>
|
||||
<string name="route_between_points_next_segment_button_desc">Recalcular só o seguinte segmento empregando o perfil escollido.</string>
|
||||
<string name="route_between_points_desc">Marca de que xeito conectar os puntos, cunha liña recta ou calcular unha ruta entre eles como se detalla deseguido.</string>
|
||||
<string name="whole_track">Pista enteira</string>
|
||||
<string name="next_segment">Seguinte segmento</string>
|
||||
<string name="route_between_points_warning_desc">Deseguido, axusta a pista á estrada permitida máis preto cun perfil de navegación.</string>
|
||||
<string name="threshold_distance">Distancia limiar</string>
|
||||
<string name="navigation_profile">Perfil de navegación</string>
|
||||
<string name="route_between_points_add_track_desc">Escolle un ficheiro de pista ó que se engadirá un novo segmento.</string>
|
||||
<string name="street_level_imagery">Imaxes a nivel de rúa</string>
|
||||
<string name="plan_route_exit_dialog_descr">Pechar o plan de ruta sen gardar\?, desbotaranse todas as modificacións.</string>
|
||||
<string name="in_case_of_reverse_direction">En caso de dirección inversa</string>
|
||||
<string name="shared_string_save_as_gpx">Gardar coma novo ficheiro de pista</string>
|
||||
<string name="add_segment_to_the_track">Engadir a un ficheiro de pistas</string>
|
||||
<string name="shared_string_gpx_files">Pistas</string>
|
||||
<string name="layer_gpx_layer">Pistas</string>
|
||||
<string name="show_gpx">Pistas</string>
|
||||
<string name="save_track_to_gpx_globally">Gardar pista en ficheiro GPX</string>
|
||||
<string name="shared_string_gpx_route">Ruta da pista</string>
|
||||
<string name="empty_state_my_tracks">Engadir ficheiros de pista</string>
|
||||
<string name="empty_state_my_tracks_desc">Importar ou gravar ficheiros de pista</string>
|
||||
<string name="context_menu_item_add_waypoint">Engadir punto de referencia da pista</string>
|
||||
<string name="quick_action_add_gpx">Engadir punto de pasaxe da pista</string>
|
||||
<string name="map_widget_monitoring">Gravación da viaxe</string>
|
||||
<string name="marker_save_as_track">Gardar coma ficheiro de pista</string>
|
||||
<string name="follow_track">Seguir pista</string>
|
||||
<string name="follow_track_descr">Escoller o ficheiro da pista a seguir</string>
|
||||
<string name="import_track_descr">Escoller o ficheiro da pista a seguir ou importar dende o dispositivo.</string>
|
||||
<string name="select_another_track">Escoller outra pista</string>
|
||||
<string name="navigate_to_track_descr">Navegar dende a miña posición á pista</string>
|
||||
<string name="pass_whole_track_descr">Punto da pista para navegar</string>
|
||||
<string name="start_of_the_track">Comezo da pista</string>
|
||||
<string name="nearest_point">Punto máis preto</string>
|
||||
<string name="attach_to_the_roads">Unir ás estradas</string>
|
||||
<string name="delete_address">Eliminar enderezo</string>
|
||||
<string name="add_address">Engadir enderezo</string>
|
||||
<string name="access_hint_enter_address">Inserir o enderezo</string>
|
||||
<string name="plan_route_trim_before">Recurtar antes</string>
|
||||
<string name="plan_route_trim_after">Recurtar despois</string>
|
||||
<string name="plan_route_change_route_type_before">Mudar o tipo de ruta anterior</string>
|
||||
<string name="plan_route_change_route_type_after">Mudar o tipo de ruta seguinte</string>
|
||||
<string name="simplified_track">Pista simplificada</string>
|
||||
<string name="simplified_track_description">Só gravarase a liña da ruta, os puntos intermedios serán eliminados.</string>
|
||||
<string name="shared_string_file_name">Nome do ficheiro</string>
|
||||
<string name="number_of_gpx_files_selected_pattern">%s ficheiros de pista seleccionados</string>
|
||||
<string name="monitoring_control_start">Gravar</string>
|
||||
<string name="disable_recording_once_app_killed_descrp">A gravación da pista deterase ó pechar a aplicación (mediante aplicacións recentes). (A indicación de fondo do OsmAnd, desaparecerá da barra de notificacións do Android.)</string>
|
||||
<string name="save_global_track_interval_descr">Especifica o intre de gravación xeral para pistas (habilitado a través do trebello de gravación no mapa).</string>
|
||||
</resources>
|
|
@ -213,7 +213,7 @@
|
|||
<string name="tts_language_not_supported">A kijelölt nyelvet az Android TTS (text-to-speech, szövegfelolvasó) rendszere nem támogatja, helyette az előre beállított szövegfelolvasási nyelv lesz használatban. Keresen másik TTS rendszert a Play Áruházban\?</string>
|
||||
<string name="tts_missing_language_data_title">Hiányzó adat</string>
|
||||
<string name="tts_missing_language_data">Átváltasz az áruházra a kiválasztott nyelv letöltéséhez?</string>
|
||||
<string name="gpx_option_reverse_route">GPX irány megfordítása</string>
|
||||
<string name="gpx_option_reverse_route">Nyomvonal irányának megfordítása</string>
|
||||
<string name="gpx_option_destination_point">Jelenlegi célpont használata</string>
|
||||
<string name="gpx_option_from_start_point">Végig az egész útvonalon</string>
|
||||
<string name="switch_to_vector_map_to_see">Offline vektoros térkép érhető el ezen a helyen.
|
||||
|
|
|
@ -3816,15 +3816,15 @@
|
|||
<string name="select_track_width">Seleziona larghezza</string>
|
||||
<string name="plan_route_last_edited">Ultima modificata</string>
|
||||
<string name="plan_route_import_track">Importa una traccia</string>
|
||||
<string name="plan_route_open_existing_track">Apri una traccia esistente</string>
|
||||
<string name="plan_route_open_existing_track">Apri traccia esistente</string>
|
||||
<string name="plan_route_create_new_route">Crea un nuovo percorso</string>
|
||||
<string name="plan_route_select_track_file_for_open">Scegli il file di una traccia da aprire.</string>
|
||||
<string name="plan_route_select_track_file_for_open">Scegli un file traccia da aprire.</string>
|
||||
<string name="shared_string_done">Fatto</string>
|
||||
<string name="navigation_profile">Profilo di navigazione</string>
|
||||
<string name="route_between_points_warning_desc">Poi approssima la traccia alle strade più vicine permesse da uno dei tuoi profili di navigazione per utilizzare questa opzione.</string>
|
||||
<string name="route_between_points_desc">Scegli come collegare i punti, con una linea retta, o calcolando un percorso che li colleghi utilizzando il profilo scelto.</string>
|
||||
<string name="route_between_points_desc">Scegli come collegare i punti, con una linea retta, o calcolando un percorso che li colleghi come specificato sotto.</string>
|
||||
<string name="overwrite_track">Sovrascrivi traccia</string>
|
||||
<string name="save_as_new_track">Salva come nuova Traccia</string>
|
||||
<string name="save_as_new_track">Salva come nuova traccia</string>
|
||||
<string name="reverse_route">Inverti il percorso</string>
|
||||
<string name="route_between_points_next_segment_button_desc">Solo il nuovo segmento sarà ricalcolato utilizzando il profilo scelto.</string>
|
||||
<string name="route_between_points_whole_track_button_desc">Tutta la traccia sarà ricalcolata utilizzando il profilo scelto.</string>
|
||||
|
@ -3870,7 +3870,7 @@
|
|||
<string name="shared_string_file_name">Nome del file</string>
|
||||
<string name="number_of_gpx_files_selected_pattern">%s file traccia selezionati</string>
|
||||
<string name="disable_recording_once_app_killed_descrp">Metterà in pausa la registrazione della traccia quando l\'applicazione viene terminata (attraverso le app recenti). (L\'indicazione di OsmAnd in background scomparirà dalla barra delle notifiche di Android.)</string>
|
||||
<string name="save_global_track_interval_descr">Specifica l\'intervallo di registrazione per la registrazione delle tracce (abilitata attraverso il pulsante di Registrazione del viaggio sulla mappa).</string>
|
||||
<string name="save_global_track_interval_descr">Specifica l\'intervallo per la registrazione delle tracce (abilitata attraverso il pulsante di Registrazione del viaggio sulla mappa).</string>
|
||||
<string name="gpx_monitoring_stop">Sospendi la registrazione del viaggio</string>
|
||||
<string name="gpx_monitoring_start">Riprendi la registrazione del viaggio</string>
|
||||
<string name="system_default_theme">Preimpostazioni di sistema</string>
|
||||
|
@ -3881,7 +3881,7 @@
|
|||
<string name="all_next_segments_will_be_recalc">Tutti i segmenti successivi verranno ricalcolati con il profilo selezionato.</string>
|
||||
<string name="all_previous_segments_will_be_recalc">Tutti i segmenti precedenti verranno ricalcolati con il profilo selezionato.</string>
|
||||
<string name="open_saved_track">Apri una traccia salvata</string>
|
||||
<string name="shared_string_is_saved">è stato salvato</string>
|
||||
<string name="shared_string_is_saved">è salvato</string>
|
||||
<string name="one_point_error">Per favore aggiungi almeno due punti.</string>
|
||||
<string name="shared_string_redo">Ripeti</string>
|
||||
<string name="release_3_8">• Aggiornata la modalità Pianificazione dell\'Itinerario che permette l\'utilizzo di diversi profili di navigazione per ogni segmento e incolla le tracce alle strade
|
||||
|
@ -3890,7 +3890,7 @@
|
|||
\n
|
||||
\n • Migliorata la visibilità dei nodi ciclistici
|
||||
\n
|
||||
\n • Menù contestuale con informazioni di base
|
||||
\n • Le tracce adesso sono tappabili, hanno un nuovo menù contestuale con informazioni di base
|
||||
\n
|
||||
\n • Migliorato l\'algoritmo di ricerca
|
||||
\n
|
||||
|
|
|
@ -400,7 +400,7 @@
|
|||
<string name="tts_language_not_supported">השפה הנבחרת אינה נתמכת על ידי המנגנון של Android הממיר טקסט לדיבור (TTS) המותקן, ייעשה שימוש בשפת ההמרה במקום. לחפש מנוע המרה אחר של טקסט לדיבור בחנות\?</string>
|
||||
<string name="tts_missing_language_data_title">חסרים נתונים</string>
|
||||
<string name="tts_missing_language_data">לגשת לחנות להוריד את השפה הנבחרת?</string>
|
||||
<string name="gpx_option_reverse_route">היפוך כיוון ה־GPX</string>
|
||||
<string name="gpx_option_reverse_route">היפוך כיוון המסלול</string>
|
||||
<string name="gpx_option_destination_point">שימוש ביעד הנוכחי</string>
|
||||
<string name="gpx_option_from_start_point">לעבור לאורך דרך שלמה</string>
|
||||
<string name="switch_to_vector_map_to_see">קיימת מפה וקטורית עבור מיקום זה.
|
||||
|
@ -3838,9 +3838,7 @@
|
|||
<string name="route_between_points_whole_track_button_desc">כל המסלול יחושב מחדש באמצעות הפרופיל הנבחר.</string>
|
||||
<string name="route_between_points_next_segment_button_desc">רק המקטע הבא יחושב מחודש באמצעות הפרופיל הנבחר.</string>
|
||||
<string name="route_between_points_desc">נא לבחור כיצד לחבר נקודות, בקו ישר, או לחבר מסלול ביניהן כפי שצוין להלן.</string>
|
||||
<string name="route_between_points_warning_desc">כדי להשתמש באפשרות זו על OsmAnd להצמיד את המסלול שלך לדרכים שעל המפה.
|
||||
\n
|
||||
\n בשלב הבא יהיה עליך לבחור בפרופיל ניווט כדי לזהות את הדרכים המורשות ואת סף המרחק כדי להעריך את המסלול שלך ביחס לדרכים.</string>
|
||||
<string name="route_between_points_warning_desc">בשלב הבא עליך להצמיד את הדרך המורשית הקרובה ביותר לאחד מפרופילי הניווט שלך כדי להשתמש באפשרות הזו.</string>
|
||||
<string name="street_level_imagery">תמונות ברמת רחוב</string>
|
||||
<string name="plan_route_exit_dialog_descr">להתעלם מהשינויים במסלול המתוכנן על ידי סגירתו\?</string>
|
||||
<string name="in_case_of_reverse_direction">במקרה של כיוון הפוך</string>
|
||||
|
@ -3893,4 +3891,22 @@
|
|||
<string name="shared_string_is_saved">נשמר</string>
|
||||
<string name="one_point_error">נא להוסיף שתי נקודות לפחות.</string>
|
||||
<string name="shared_string_redo">ביצוע מחדש</string>
|
||||
<string name="release_3_8">• פונקציית תכנון המסלול עודכנה: מאפשרת שימוש בסוגי ניווט שונים לפי מקטע והכללת מסלולית
|
||||
\n
|
||||
\n • תפריט מראה חדש למסלולים: ניתן לבחור צבע, עובי, להציג חצי כיוון, סמלי התחלה/סיום
|
||||
\n
|
||||
\n • אופן הצגת שבילי האופניים השתפר.
|
||||
\n
|
||||
\n • אפשר לגעת במסלולים, יש להם גם תפריט הקשר עם מידע בסיסי.
|
||||
\n
|
||||
\n • אלגוריתמי החיפוש השתפרו
|
||||
\n
|
||||
\n • אפשרות המעקב אחר המסלול בניווט השתפרה
|
||||
\n
|
||||
\n • תוקנו תקלות בייבוא/ייצוא הגדרות פרופיל
|
||||
\n
|
||||
\n</string>
|
||||
<string name="sort_last_modified">שינוי אחרון</string>
|
||||
<string name="sort_name_descending">שם: ת – א</string>
|
||||
<string name="sort_name_ascending">שם: א – ת</string>
|
||||
</resources>
|
|
@ -118,7 +118,7 @@
|
|||
<string name="routing_settings_descr">Mainīt maršruta iestatījumus</string>
|
||||
<string name="global_settings">Globālie iestatījumi</string>
|
||||
<string name="index_settings">Kartes faili</string>
|
||||
<string name="index_settings_descr">"Lejupielādēt un pārraudzīt kartes daļas, balss pakas un vikipēdijas interešu punktus (POI)"</string>
|
||||
<string name="index_settings_descr">Lejupielādēt un pārvaldīt bezsaistes kartes failus, kas saglabāti jūsu ierīcē.</string>
|
||||
<string name="general_settings">Vispārīgie iestatījumi</string>
|
||||
<string name="general_settings_descr">Mainīt lietotnes iestatījumus.</string>
|
||||
<string name="global_app_settings">Globālie lietotnes iestatījumi</string>
|
||||
|
@ -220,7 +220,7 @@
|
|||
<string name="installing_new_resources">Atpako jaunos datus…</string>
|
||||
<string name="internet_connection_required_for_online_route">Lai darbotos tiešsaistes navigācijas serviss, ir nepieciešams interneta savienojums.</string>
|
||||
<string name="tts_language_not_supported_title">Valoda netiek atbalstīta</string>
|
||||
<string name="tts_language_not_supported">Izvēlētā valoda nav atbalstīta instalētajā ierīces Android TTS (teksta izrunāšana) dzinējā. Vai vēlaties meklēt citu TTS dzinēju? Pretējā gadījumā tiks lietota iepriekš uzstādītā TTS valoda.</string>
|
||||
<string name="tts_language_not_supported">Izvēlētā valoda nav atbalstīta ierīces Android TTS (teksta izrunāšana) dzinējā, tāpēc tiks lietota instalētā TTS valoda. Vai meklēt Google Play veikalā citu TTS dzinēju\?</string>
|
||||
<string name="tts_missing_language_data_title">Iztrūkst dati</string>
|
||||
<string name="tts_missing_language_data">Valodas dati nav instalēti. Vai atvērt Google Play veikalu, lai instalētu?</string>
|
||||
<string name="gpx_option_reverse_route">Pretējs GPX virziens</string>
|
||||
|
@ -327,7 +327,7 @@
|
|||
<string name="select_build_to_install">Izvēlieties, kuru OsmAnd versiju instalēt</string>
|
||||
<string name="contribution_activity">Instalācijas versija</string>
|
||||
<string name="gps_status_app_not_found">GPS statusa lietotne nav instalēta. Meklēt Google Play veikalā\?</string>
|
||||
<string name="voice_is_not_available_msg">"Nav pieejama balss vadība, lūdzu ejiet uz \'Iestatījumi\' → \'Vispārīgie Iestatījumi\' → \'Balss vadība\' un izvēlieties vai lejupielādējiet balss pakotni."</string>
|
||||
<string name="voice_is_not_available_msg">Nav pieejama balss vadība, lūdzu ejiet uz \'Iestatījumi\' → \'Vispārīgie Iestatījumi\' → \'Balss vadība\' un izvēlieties kādu vai lejupielādējiet balss pakotni.</string>
|
||||
<string name="voice_is_not_available_title">Nav izvēlēta balss vadība</string>
|
||||
<string name="daynight_mode_day">Diena</string>
|
||||
<string name="daynight_mode_night">Nakts</string>
|
||||
|
@ -440,7 +440,7 @@
|
|||
<string name="route_head">Turpināt</string>
|
||||
<string name="first_time_continue">Vēlāk</string>
|
||||
<string name="first_time_download">Lejupielādēt reģionus</string>
|
||||
<string name="first_time_msg">"Paldies, ka izvēlējāties OsmAnd. Lejupielādējiet reģiona datus bezsaistes lietošanai caur \'Izvēlne\' -> → \'Lejupielādes\'. Pēc tam jūs varēsiet skatīt kartes, atrast adreses, interešu punktus (POI), meklēt sabiedrisko transportu un vēl."</string>
|
||||
<string name="first_time_msg">"Paldies, ka izvēlējāties OsmAnd. Lejupielādējiet reģiona datus bezsaistes lietošanai caur \'Izvēlne\' -> → \'Lejupielādes\', lai skatītu kartes, atrastu adreses, interešu punktus (POI), meklētu sabiedrisko transportu un vēl."</string>
|
||||
<string name="search_poi_location">Meklē signālu…</string>
|
||||
<string name="search_near_map">Meklēt blakus kartes centram</string>
|
||||
<string name="search_nearby">Meklēt tuvumā</string>
|
||||
|
@ -544,7 +544,7 @@
|
|||
<string name="data_settings_descr">Iestatiet valodu, lejupielādējiet/atjaunojiet datus</string>
|
||||
<string name="data_settings">Dati</string>
|
||||
<string name="osm_settings">OSM labošana</string>
|
||||
<string name="auto_zoom_map_descr">Automātiski mērogot karti atkarībā no pārvietošanās ātruma</string>
|
||||
<string name="auto_zoom_map_descr">Automātiski mērogot karti atkarībā no pārvietošanās ātruma.</string>
|
||||
<string name="auto_zoom_map">Automātiski mērogot karti</string>
|
||||
<string name="additional_settings">Papildus iestatījumi</string>
|
||||
<string name="shared_string_settings">Iestatījumi</string>
|
||||
|
@ -663,11 +663,11 @@
|
|||
<string name="map_online_data_descr">Lietot tiešaistes kartes (lejuplādējot un kešojot bildes SD kartē)</string>
|
||||
<string name="shared_string_online_maps">Tiešsaistes kartes</string>
|
||||
<string name="online_map_settings_descr">Konfigurēt tiešaistes vai kešotās kartes bildes</string>
|
||||
<string name="osmand_rastermaps_plugin_description">"Ar šo spraudni jūs varēsiet piekļūt dažādām tiešsaistes (t.s. bilžu vai rastru) kartēm, sākot no iepriekš definētām OpenStreetMap bildēm ( kā Mapnik) līdz satelītu fotoattēliem un īpašajiem klājumiem kā laikapstākļu kartes, klimata kartes, ğeoloğiskās kartes, kalnu reljefi u.t.t.
|
||||
<string name="osmand_rastermaps_plugin_description">"Ar šo spraudni jūs varēsiet piekļūt dažādām tiešsaistes (t.s. bilžu vai rastru) kartēm, sākot no iepriekš definētām OpenStreetMap bildēm (kā Mapnik) līdz satelītu fotoattēliem un īpašajiem klājumiem kā laikapstākļu kartes, klimata kartes, ğeoloğiskās kartes, kalnu reljefi u.t.t.
|
||||
\n
|
||||
\nJebkuras no šīm kartēm var tik pielietotas kā pamata (bāzes) kartes vai kā virsklājs vai apakšklājs citai bāzes kartei (kā piemēram, OsmAnd standarta bezsaistes kartei). Lai apakšklāja kartes būtu labāk redzamas, noteiktus elementus no OsmAnd vektoru kartēm ir iespējams paslēpt caur kartes konfigurācijas izvēlni.
|
||||
\n
|
||||
\nBilžu kartes var lietot no tiešsaistes avotiem vai sagatavot bezsaistes lietošanai (iekopējot OsmAnd datu mapē) kā SQLite databāzi, to izveidojot ar kādu no atsevišķi pieejamajām kartēšanas aplikācijām. "</string>
|
||||
\nBilžu kartes var lietot no tiešsaistes avotiem vai sagatavot bezsaistes lietošanai (iekopējot OsmAnd datu mapē) kā SQLite databāzi, to izveidojot ar kādu no atsevišķi pieejamajām kartēšanas aplikācijām."</string>
|
||||
<string name="osmand_background_plugin_description">Rāda iestatījumus navigācijas darbībai fonā (izslēgts ekrāns), periodiski ieslēdzot GPS.</string>
|
||||
<string name="osmand_accessibility_description">Rādīt iestatījumus atsevišķām pieejamības iespējām kā TTS runas ātrums, atrašanās vietas izruna, ekrāna mērogošana u.t.t.</string>
|
||||
<string name="osmand_development_plugin_description">Rādīt izstrādes un atkļūdošanas iestatījumus, kā piemēram, animētā navigācija, renderēšanas izpildījuma attēlošana vai balss uzvednes. Šie iestatījumi ir paredzēti izstrādātājiem un nav vajadzīgi gala lietotājam.</string>
|
||||
|
@ -762,7 +762,7 @@
|
|||
<string name="avoid_ferries">Izvairīties no pārceltuvēm</string>
|
||||
<string name="avoid_in_routing_title">Izvairīties no…</string>
|
||||
<string name="show_warnings_title">Rādīt signālus…</string>
|
||||
<string name="show_warnings_descr">Satiksmes ierobežojumus (ātruma limitus, stopzīmes, rampas), gājēju pārejas, fotoradarus, ceļa joslas</string>
|
||||
<string name="show_warnings_descr">Iestatīt satiksmes brīdinājumus (ātruma limitus, apstāšanās vietas, ātrumvaļņus, tuneļus), foto radarus un ceļa joslas.</string>
|
||||
<string name="map_widget_fluorescent">Fluorescējošs maršruts</string>
|
||||
<string name="map_widget_show_ruler">Lineāls</string>
|
||||
<string name="map_widget_view_direction">Skata virziens</string>
|
||||
|
@ -860,9 +860,9 @@
|
|||
<string name="driving_region_europe_asia">Eiropa, Āzija, Latīņamerika</string>
|
||||
<string name="driving_region_uk">Apvienotā Karaliste, Indija un citas</string>
|
||||
<string name="speak_title">Paziņot…</string>
|
||||
<string name="speak_descr">Ielu nosaukumus, satiksmes brīdinājumus (stopzīmes, ceļa rampas), fotoradarus, ātruma ierobežojumus</string>
|
||||
<string name="speak_descr">Izrunāt ielu nosaukumus, satiksmes brīdinājumus (piespiedu apstāšanos, ātrumvaļņus), fotoradarus un ātruma ierobežojumus.</string>
|
||||
<string name="speak_street_names">Ielu nosaukumi (TTS)</string>
|
||||
<string name="speak_speed_limit">Ātruma ierrobežojums</string>
|
||||
<string name="speak_speed_limit">Ātruma ierobežojums</string>
|
||||
<string name="speak_cameras">Fotoradari</string>
|
||||
<string name="speak_traffic_warnings">Satiksmes brīdinājumi</string>
|
||||
<string name="osb_author_or_password_not_specified">Lūdzu norādiet iestatījumos OSM lietotāja vārdu un paroli</string>
|
||||
|
@ -900,7 +900,7 @@
|
|||
<string name="distance_measurement_clear_route">Noņemt visus mērķus</string>
|
||||
<string name="distance_measurement_load_gpx">Atvērt GPX failu</string>
|
||||
<string name="wait_current_task_finished">Lūdzu uzgaidiet, kamēr tiks pabeigta patreizējā darbība</string>
|
||||
<string name="use_kalman_filter_compass_descr">"Samazina kompasa svārstības, palielinot inertumu"</string>
|
||||
<string name="use_kalman_filter_compass_descr">Samazina kompasa svārstības, palielinot inertumu.</string>
|
||||
<string name="use_kalman_filter_compass">Lietot Kalmana filtru</string>
|
||||
<string name="use_magnetic_sensor_descr">Lietot magnētisko sensoru orientācijas sensora vietā, lai noteiktu kompasa stāvokli</string>
|
||||
<string name="use_magnetic_sensor">Lietot magnētisko sensoru</string>
|
||||
|
@ -949,7 +949,7 @@
|
|||
<string name="intermediate_points_change_order">Mainīt kārtību</string>
|
||||
<string name="srtm_paid_version_msg">Lūdzu apsveriet iespēju pirkt Contour Lines spraudni, lai atbalstītu tā tālāko attīstību.</string>
|
||||
<string name="srtm_paid_version_title">Kontūrlīniju spraudnis</string>
|
||||
<string name="av_def_action_choose">Atlasīt pēc pieprasījuma</string>
|
||||
<string name="av_def_action_choose">Pēc pieprasījuma\?</string>
|
||||
<string name="av_def_action_video">Ierakstīt video</string>
|
||||
<string name="av_def_action_audio">Ierakstīt audio</string>
|
||||
<string name="av_widget_action_descr">Izvēlieties noklusēto logrīka darbību</string>
|
||||
|
@ -996,7 +996,7 @@
|
|||
<string name="download_roads_only_maps">Ceļu kartes</string>
|
||||
<string name="rendering_attr_noAdminboundaries_name">Robežas</string>
|
||||
<string name="rendering_attr_noAdminboundaries_description">Noņemt reģionālo robežu attēlošanu (admin līmeņi 5-9)</string>
|
||||
<string name="map_widget_max_speed">Ātruma limiti</string>
|
||||
<string name="map_widget_max_speed">Ātruma ierobežojumi</string>
|
||||
<string name="no_buildings_found">Nav atrastas ēkas.</string>
|
||||
<string name="search_villages_and_postcodes">Meklēt apdzīvotās vietas/pasta indeksus</string>
|
||||
<string name="rendering_attr_showRoadMaps_description">Izvēlieties, kad rādīt tikai ceļu tīkla kartes:</string>
|
||||
|
@ -1204,9 +1204,9 @@
|
|||
<string name="lang_fa">Persiešu</string>
|
||||
<string name="map_preferred_locale_descr">Nosaukumi kartē (ja valoda nebūs pieejama, tiks lietoti vietvārdi vai angļu valoda)</string>
|
||||
<string name="map_preferred_locale">Kartes pamatvaloda</string>
|
||||
<string name="record_plugin_description">"Ar šo spraudni jūs varat manuāli saglabāt trekus, nospiežot GPX ieraksta logrīku uz kartes vai veikt automātisku visu maršrutu ierakstu GPX failā.
|
||||
<string name="record_plugin_description">Ar šo spraudni jūs varat manuāli saglabāt trekus, nospiežot GPX ieraksta logrīku uz kartes vai veikt automātisku visu maršrutu ierakstu GPX failā.
|
||||
\n
|
||||
\nIerakstītie treki vēlāk var tikt izmantoti treka analīzei, koplietošanai ar draugiem vai OSM izstrādei. Atlēti var izmantot trekus, lai monitorētu treniņus. Pamata treku analīze var tikt veikta tieši caur OsmAnd kā piemēram, apļu laiki, vidējais ātrums utt., bet paplašinātai analīzei trekus var atvērt citās programmās. "</string>
|
||||
\nIerakstītie treki vēlāk var tikt izmantoti treka analīzei, koplietošanai ar draugiem vai OSM izstrādei. Atlēti var izmantot trekus, lai monitorētu treniņus. Pamata treku analīze var tikt veikta tieši caur OsmAnd kā piemēram, apļu laiki, vidējais ātrums utt., bet paplašinātai analīzei trekus var atvērt citās programmās.</string>
|
||||
<string name="record_plugin_name">Ceļa ieraksts</string>
|
||||
<string name="int_hour">h</string>
|
||||
<string name="duration">Laiks</string>
|
||||
|
@ -1290,7 +1290,7 @@
|
|||
<string name="impassable_road">Izvairīties no ceļiem…</string>
|
||||
<string name="rendering_attr_trainLightrailRoutes_name">Vilciena maršruti</string>
|
||||
<string name="rendering_attr_tramRoutes_name">Tramvaja maršruti</string>
|
||||
<string name="rendering_attr_shareTaxiRoutes_name">"Kopīgot taksometru maršrutus"</string>
|
||||
<string name="rendering_attr_shareTaxiRoutes_name">Kopīgot taksometru maršrutus</string>
|
||||
<string name="rendering_attr_trolleybusRoutes_name">Trolejbusu maršruti</string>
|
||||
<string name="rendering_attr_busRoutes_name">Autobusu maršruti</string>
|
||||
<string name="rendering_category_hide">Paslēpt</string>
|
||||
|
@ -1315,10 +1315,10 @@
|
|||
<string name="fav_point_emoticons_message">Izlases vietas vārds tika pārdēvēts uz %1$s, lai varētu saglabāt kopu ar sejiņām failā.</string>
|
||||
<string name="print_route">Printēt maršrutu</string>
|
||||
<string name="fav_point_dublicate">Šāds vārds izlasē jau eksistē</string>
|
||||
<string name="fav_point_dublicate_message">"Norādītais izlases vārds tika pārdēvēts uz %1$s lai izvairītos no dublēšanas."</string>
|
||||
<string name="fav_point_dublicate_message">"Izlases vārds tika nomainīts uz %1$s, lai izvairītos no dublikāta."</string>
|
||||
<string name="text_size_descr">Teksta lielums uz kartes.</string>
|
||||
<string name="text_size">Teksta izmērs</string>
|
||||
<string name="traffic_warning_speed_limit">Ātruma robeža</string>
|
||||
<string name="traffic_warning_speed_limit">Ātruma ierobežojums</string>
|
||||
<string name="traffic_warning_border_control">Robežkontrole</string>
|
||||
<string name="traffic_warning_payment">Nodevu kabīne</string>
|
||||
<string name="traffic_warning_stop">STOP zīme</string>
|
||||
|
@ -1529,7 +1529,9 @@
|
|||
<string name="osm_live_region_desc">Daļa no jūsu ziedojuma tiks nosūtīta OSM lietotājiem, kas veic labojumus apgabala kartē</string>
|
||||
<string name="osm_live_subscription_settings">Abonomenta iestatījumi</string>
|
||||
<string name="osm_live_ask_for_purchase">Lūdzu, vispirms nopērciet abonomentu OSM atjauninājumiem</string>
|
||||
<string name="osm_live_header">"Abonēšana nodrošina ik stundu karšu atjauninājumus no visas pasaules. Daļa no ienākumiem nonāk OSM kopienai par ieguldījumu OSM. Ja jums patīk OsmAnd un OSM un vēlaties tos atbalstīt, tad šis ir lielisks veids, kā to darīt."</string>
|
||||
<string name="osm_live_header">Abonēšana nodrošina ik stundu karšu atjauninājumus no visas pasaules.
|
||||
\nDaļa ienākumu nonāk OSM kopienā un tiek izmaksāta par ieguldījumu OSM.
|
||||
\nJa jums patīk OsmAnd un OSM un vēlaties sniegt, kā arī saņemt atbalstu, šis ir lielisks veids, kā to izdarīt.</string>
|
||||
<string name="select_map_marker">Izvēlieties marķieri</string>
|
||||
<string name="map_markers_other">Citi marķieri</string>
|
||||
<string name="upload_anonymously">Augšupielādēt anonīmi</string>
|
||||
|
@ -1646,7 +1648,7 @@
|
|||
<string name="srtm_plugin_disabled">Kontūrlīnijas ir deaktivizētas</string>
|
||||
<string name="favorite_category_add_new">Izveidot jaunu</string>
|
||||
<string name="favorite_category_select">Izvēlieties kategoriju</string>
|
||||
<string name="default_speed_system_descr">Izvēlieties ātruma mērvienību</string>
|
||||
<string name="default_speed_system_descr">Izvēlieties ātruma mērvienību.</string>
|
||||
<string name="default_speed_system">Ātruma mērvienības</string>
|
||||
<string name="si_nm">Jūras jūdze</string>
|
||||
<string name="si_kmh">Kilometri stundā</string>
|
||||
|
@ -1721,7 +1723,7 @@
|
|||
<string name="rendering_value_disabled_name">Izslēgts</string>
|
||||
<string name="rendering_value_walkingRoutesScopeOSMC_name">Krāsas pēc infrastruktūras veida</string>
|
||||
<string name="rendering_value_walkingRoutesOSMC_name">Krāsas pēc OSMC simbola</string>
|
||||
<string name="local_recordings_delete_all_confirm">"Vai vēlaties izdzēst %1$d ierakstus?"</string>
|
||||
<string name="local_recordings_delete_all_confirm">Vai vēlaties izdzēst %1$d ierakstus\?</string>
|
||||
<string name="rendering_attr_pisteRoutes_name">Slēpošanas trases</string>
|
||||
<string name="rendering_attr_roadStyle_description">Pārklājuma veidi</string>
|
||||
<string name="routing_attr_avoid_stairs_name">Izvairīties no kāpnēm</string>
|
||||
|
@ -1771,7 +1773,7 @@
|
|||
<string name="are_you_sure">Vai esiet pārliecināts?</string>
|
||||
<string name="unsaved_changes_will_be_lost">Izmaiņas netiks saglabātas. Vai turpināt?</string>
|
||||
<string name="roads">Ceļi</string>
|
||||
<string name="downloading_number_of_files">"Lejupielādē - %1$d failu"</string>
|
||||
<string name="downloading_number_of_files">Lejupielādē - %1$d failu</string>
|
||||
<string name="show_free_version_banner">Rādīt bezmaksas versijas banneri</string>
|
||||
<string name="show_free_version_banner_description">Arī maksas versijā jūs varat redzēt bezmaksas versijas banneri</string>
|
||||
<string name="activate_seamarks_plugin">Lūdzu aktivizējiet jūras kartes spraudni</string>
|
||||
|
@ -1857,7 +1859,7 @@ failu(s)?
|
|||
<string name="no_map_markers_found">Lūdzu, pievienojiet marķierus caur karti</string>
|
||||
<string name="no_waypoints_found">Nav atrasts neviens ceļa punkts</string>
|
||||
<string name="report">Pārskats</string>
|
||||
<string name="storage_permission_restart_is_required">"Lietotnei tika piešķirta atļauja rakstīt ārējā glabātuvē, tagad nepieciešams restartēt lietotni."</string>
|
||||
<string name="storage_permission_restart_is_required">Lietotnei tika piešķirta atļauja rakstīt ārējā glabātuvē. Ir nepieciešams restartēt lietotni.</string>
|
||||
<string name="shared_string_move_up">Uz augšu</string>
|
||||
<string name="shared_string_move_down">Uz leju</string>
|
||||
<string name="finish_navigation">Beigt navigāciju</string>
|
||||
|
@ -1925,7 +1927,7 @@ failu(s)?
|
|||
<string name="osm_live_payment_desc">Abonoments tiks apmaksāts automātiski katru mēnesi. Jūs varat atteikties no abonomenta Google Play jebkurā laikā.</string>
|
||||
<string name="donation_to_osm">Ziedojums OpenStreetMap kopienai</string>
|
||||
<string name="donation_to_osm_desc">Daļa no jūsu ziedojuma tiks OSM lietotājiem, kuri piedalās OpenStreetMaps kartes veidošanā. Abonomenta izmaksas paliek nemainīgas.</string>
|
||||
<string name="osm_live_subscription_desc">"Abonoments iespējo ik stundu, dienu vai nedēļu atjauninājumus un neierobežotas lejupielādes visām pasaules kartēm."</string>
|
||||
<string name="osm_live_subscription_desc">Abonoments iespējo ik stundu, dienu vai nedēļu atjauninājumus un neierobežotas lejupielādes visām pasaules kartēm.</string>
|
||||
<string name="get_it">Saņemt</string>
|
||||
<string name="get_for">Saņemt par %1$s</string>
|
||||
<string name="osm_live_banner_desc">Saņemt neierobežotas karšu lejupielādes un atjauninājumus biežāk nekā reizi mēnesī: reizi stundā, dienā vai nedēļā.</string>
|
||||
|
@ -2185,7 +2187,7 @@ Apraksta laukumu: %1$s x %2$s</string>
|
|||
<string name="search_favorites">Meklēt Izlasē</string>
|
||||
<string name="hillshade_menu_download_descr">Lai attēlotu reljefa griezumu kartē, ir nepieciešams lejupielādēt reljefa virsklāja karti šim reğionam.</string>
|
||||
<string name="hillshade_purchase_header">Lai attēlotu reljefa griezumu kartē, ir nepieciešams iegādāties un instalēt Kontūrlīniju spraudni</string>
|
||||
<string name="srtm_menu_download_descr">"Lejupielādējiet \"Kontūrlīnijas\" karti šim reğionam."</string>
|
||||
<string name="srtm_menu_download_descr">Lejupielādējiet \"Kontūrlīnijas\" karti šim reğionam.</string>
|
||||
<string name="shared_string_plugin">Spraudnis</string>
|
||||
<string name="srtm_purchase_header">Lai redzētu kontūrlīnijas uz kartes, jums ir nepieciešams nopirkt un instalēt \"Kontūrlīniju\" spraudni</string>
|
||||
<string name="srtm_color_scheme">Krāsu shēma</string>
|
||||
|
@ -2213,17 +2215,17 @@ Apraksta laukumu: %1$s x %2$s</string>
|
|||
<string name="quick_action_showhide_osmbugs_title">Rādīt/nerādīt OSM piezīmes</string>
|
||||
<string name="routing_attr_allow_private_description">Atļaut piekļūšanu privātajām teritorijām.</string>
|
||||
<string name="animate_my_location_desc">Maršruta gaitā iespējot kartes pagriešanas animāciju no manas atrašanās vietas.</string>
|
||||
<string name="quick_action_auto_zoom_desc">Darbības pogas nospiešana ieslēdz vai izslēdz kartes auto mērogošanu pēc kustības ātruma.</string>
|
||||
<string name="quick_action_auto_zoom_desc">Ieslēdz vai izslēdz automātisko tālummaiņu, atkarībā no kustības ātruma.</string>
|
||||
<string name="quick_action_add_destination">Pievienot mērķi</string>
|
||||
<string name="quick_action_replace_destination">Nomainīt mērķi</string>
|
||||
<string name="quick_action_add_first_intermediate">Pievienot pirmo starppunktu</string>
|
||||
<string name="quick_action_add_destination_desc">Spiežot šo darbības pogu, ekrāna centrs kļūst par galamērķi, bet iepriekš izvēlētais galamērķis par pēdējo starppunktu.</string>
|
||||
<string name="quick_action_replace_destination_desc">"Spiežot šo darbības pogu, ekrāna centrs kļūst par jauno galamērķi, nomainot iepriekšējo (ja tāds bija)."</string>
|
||||
<string name="quick_action_replace_destination_desc">Poga ekrāna centra iestatīšanai par jauno galamērķi, nomainot iepriekšējo galamērķi (ja tāds bija).</string>
|
||||
<string name="quick_action_add_first_intermediate_desc">Spiežot šo darbības pogu, ekrāna centrs kļūst par pirmo starppunku maršrutā.</string>
|
||||
<string name="no_overlay">Nav virsklāja</string>
|
||||
<string name="no_underlay">Nav apakšklāja</string>
|
||||
<string name="subscribe_email_error">Kļūda</string>
|
||||
<string name="subscribe_email_desc">"Pierakstieties epastu ziņojumiem par lietotnes atlaidēm un saņemiet 3 papildus lejupielādes kartēm!"</string>
|
||||
<string name="subscribe_email_desc">Pierakstieties ziņojumu sūtīšanai uz epastu par izdevīgiem lietotnes piedāvājumiem un saņemiet 3 papildus kartes lejupielādei!</string>
|
||||
<string name="depth_contour_descr">Kartes, kas satur jūras dziļuma kontūrlīnijas un punktus.</string>
|
||||
<string name="sea_depth_thanks">Paldies par jūras dziļuma kontūrkaršu pirkumu!</string>
|
||||
<string name="index_item_depth_contours_osmand_ext">Jūras dziļuma kontūras</string>
|
||||
|
@ -2475,7 +2477,7 @@ No Afganistānas līdz Zimbabvei, no Austrālijas līdz ASV, Argentīna, Brazīl
|
|||
<string name="import_file">Importēt failu</string>
|
||||
<string name="marker_show_distance_descr">Izvēlieties kā rādīt distanci un virzienu uz marķieriem kartē:</string>
|
||||
<string name="map_orientation_change_in_accordance_with_speed">Kartes orientācijas maiņa</string>
|
||||
<string name="map_orientation_change_in_accordance_with_speed_descr">Izvēlieties zem kāda ātruma kartes orientācija pārslēgsies no \'kustības virzienā\' uz \'pēc kompasa\'.</string>
|
||||
<string name="map_orientation_change_in_accordance_with_speed_descr">Izvēlieties ātrumu, pie kura pārslēgsies kartes orientācija no \'kustības virzienā\' uz \'kompasa virzienā\'.</string>
|
||||
<string name="all_markers_moved_to_history">Visi kartes marķieri ir pārvietoti uz vēsturi</string>
|
||||
<string name="marker_moved_to_history">Kartes marķieris ir pārvietots uz vēsturi</string>
|
||||
<string name="marker_moved_to_active">Kartes marķieris ir aktivizēts</string>
|
||||
|
@ -2515,7 +2517,7 @@ No Afganistānas līdz Zimbabvei, no Austrālijas līdz ASV, Argentīna, Brazīl
|
|||
<string name="mapillary_menu_edit_text_hint">Ievadiet lietotājvārdu</string>
|
||||
<string name="mapillary_menu_descr_username">Skatīt lietotāja bildes</string>
|
||||
<string name="mapillary_menu_title_username">Lietotājvārds</string>
|
||||
<string name="mapillary_menu_filter_description">"Filtrē bildes pēc iesūtītāja, datuma vai tipa. Filtri darbojas tikai tuvos mērogos."</string>
|
||||
<string name="mapillary_menu_filter_description">Filtrē bildes pēc iesūtītāja, datuma vai tipa. Filtri darbojas tikai tuvos mērogos.</string>
|
||||
<string name="distance_moving">Distance ir koriģēta</string>
|
||||
<string name="rendering_value_darkyellow_name">Tumši dzeltens</string>
|
||||
<string name="rendering_value_translucent_pink_name">Caurspīdīgs rozā</string>
|
||||
|
@ -2555,7 +2557,7 @@ No Afganistānas līdz Zimbabvei, no Austrālijas līdz ASV, Argentīna, Brazīl
|
|||
<string name="shared_string_one">Viens</string>
|
||||
<string name="quick_action_switch_day_night_descr">Spiežot darbības pogu, tiks pārslēgts dienas un nakts režīms</string>
|
||||
<string name="rendering_attr_whiteWaterSports_name">Smaiļošana pa upēm</string>
|
||||
<string name="rate_dialog_descr">"Lūdzu veltiet 30 sekundes laika atsauksmēm un novērtējiet mūsu darbu Google Play."</string>
|
||||
<string name="rate_dialog_descr">Lūdzu veltiet 30 sekundes laika atsauksmēm un novērtējiet mūsu darbu Google Play.</string>
|
||||
<string name="shared_string_privacy_policy">Privātuma politika</string>
|
||||
<string name="help_us_make_osmand_better">Palīdziet mums veidot OsmAnd labāku!</string>
|
||||
<string name="process_downloading_service">OsmAnd lejupielādes serviss</string>
|
||||
|
@ -2568,7 +2570,7 @@ No Afganistānas līdz Zimbabvei, no Austrālijas līdz ASV, Argentīna, Brazīl
|
|||
<string name="default_speed_setting_descr">Mainīt noklusētā ātruma iestatījumus</string>
|
||||
<string name="minmax_speed_dialog_title">Iestatīt min./maks. ātrumu</string>
|
||||
<string name="new_profile">Jauns profils</string>
|
||||
<string name="last_launch_crashed">"Pēdējā OsmAnd palaišana beidzās ar avāriju. Palīdziet uzlabot OsmAnd, nosūtot kļūdas ziņojumu."</string>
|
||||
<string name="last_launch_crashed">Pēdējā OsmAnd palaišana beidzās ar avāriju. Palīdziet uzlabot OsmAnd, nosūtot kļūdas ziņojumu.</string>
|
||||
<string name="app_mode_ufo">NLO</string>
|
||||
<string name="app_mode_personal_transporter">Segway</string>
|
||||
<string name="app_mode_monowheel">Monoritenis</string>
|
||||
|
@ -2586,7 +2588,7 @@ No Afganistānas līdz Zimbabvei, no Austrālijas līdz ASV, Argentīna, Brazīl
|
|||
<string name="turn_screen_on_router">Pamodināt pagriezienos</string>
|
||||
<string name="turn_screen_on_time_descr">Iestatīt ekrāna pamošanās laiku.</string>
|
||||
<string name="turn_screen_on_sensor">Lietot tuvuma sensoru</string>
|
||||
<string name="turn_screen_on_sensor_descr">"Novelciet ar roku pāri ekrāna augšmalai, lai ieslēgtu ekrānu navigācijas laikā."</string>
|
||||
<string name="turn_screen_on_sensor_descr">pārvelkot roku pāri ierīcei, ekrāns ieslēgsies.</string>
|
||||
<string name="rendering_attr_winter_road_name">Ziemas ceļi</string>
|
||||
<string name="rendering_attr_ice_road_name">Ledus ceļi</string>
|
||||
<string name="routeInfo_winter_ice_road_name">Ziemas un ledus ceļi</string>
|
||||
|
@ -2610,8 +2612,9 @@ No Afganistānas līdz Zimbabvei, no Austrālijas līdz ASV, Argentīna, Brazīl
|
|||
<string name="coord_input_save_as_track_descr">Jūs pievienojāt %1$s punktus. Ievadiet faila vārdu un nospiediet \"Saglabāt\".</string>
|
||||
<string name="point_deleted">Punkts %1$s izdzēsts</string>
|
||||
<string name="shared_string_world">Pasaule</string>
|
||||
<string name="send_search_query_description">Mēs nosūtīsim jūsu meklēšanas pieprasījumu: \"%1$s\", kā arī atrašanās vietas datus. \n
|
||||
\n" Personīgā informācija netiks iekļauta, šie dati tiks izmantoti vienīgi meklēšanas algoritma uzlabošanai. "</string>
|
||||
<string name="send_search_query_description">Mēs nosūtīsim jūsu meklēšanas pieprasījumu: \"%1$s\" kopā ar jūsu atrašanos vietu.
|
||||
\n
|
||||
\nPersonīgā informācija netiek iekļauta un iegūtie dati tiek izmantoti vienīgi meklēšanas pieredzes uzlabošanai.</string>
|
||||
<string name="send_search_query">Sūtīt meklēšanas pieprasījumu\?</string>
|
||||
<string name="thank_you_for_feedback">Paldies par Jūsu atsauksmi</string>
|
||||
<string name="poi_cannot_be_found">Vietu vai objektu nevar atrast.</string>
|
||||
|
@ -2743,7 +2746,7 @@ No Afganistānas līdz Zimbabvei, no Austrālijas līdz ASV, Argentīna, Brazīl
|
|||
<string name="shared_string_degrees">Grādi</string>
|
||||
<string name="shared_string_milliradians">Miliradiāni</string>
|
||||
<string name="angular_measeurement">Azimuts</string>
|
||||
<string name="angular_measeurement_descr">"Mainīt azimuta mērvienības."</string>
|
||||
<string name="angular_measeurement_descr">Mainīt azimuta mērvienības.</string>
|
||||
<string name="routing_attr_avoid_tram_name">Nelietot tramvajus</string>
|
||||
<string name="routing_attr_avoid_tram_description">Nelietot tramvajus</string>
|
||||
<string name="routing_attr_avoid_bus_name">Nelietot autobusus</string>
|
||||
|
@ -2817,7 +2820,7 @@ No Afganistānas līdz Zimbabvei, no Austrālijas līdz ASV, Argentīna, Brazīl
|
|||
<string name="select_base_profile_dialog_title">Izvēlieties sākuma profilu</string>
|
||||
<string name="select_base_profile_dialog_message">Balstiet savu profilu uz vienu no noklusētajiem profiliem, kas definēs tādus pamata iestatījumus kā logrīku redzamību un attāluma vai ātruma mērvienības. Šie ir noklusētie lietotnes profili, kopā ar lietotāja veidotajiem profiliem tie var tikt paplašināti uz:</string>
|
||||
<string name="select_nav_profile_dialog_title">Izvēlieties navigācijas veidu</string>
|
||||
<string name="base_profile_descr_car">"Auto, kravas auto, motocikls"</string>
|
||||
<string name="base_profile_descr_car">Auto, kravas auto, motocikls</string>
|
||||
<string name="base_profile_descr_bicycle">MTB, mopēds, zirgs</string>
|
||||
<string name="base_profile_descr_pedestrian">Iešana kājām, pastaigas, skriešana</string>
|
||||
<string name="base_profile_descr_public_transport">Visi sabiedriskie transporti</string>
|
||||
|
@ -2986,8 +2989,8 @@ No Afganistānas līdz Zimbabvei, no Austrālijas līdz ASV, Argentīna, Brazīl
|
|||
<string name="shared_string_do">Darīt</string>
|
||||
<string name="shared_string_only_with_wifi">Tikai WiFi tīklā</string>
|
||||
<string name="wikivoyage_download_pics">Lejupielādēt bildes</string>
|
||||
<string name="wikivoyage_download_pics_descr">"Rakstu bildes iespējams lejupielādēt arī bezsaistes lietošanai.
|
||||
\nIestatījums pieejams caur \"Pārlūkot\" → \"Iespējas\"."</string>
|
||||
<string name="wikivoyage_download_pics_descr">Rakstu bildes iespējams lejupielādēt bezsaistes lietošanai.
|
||||
\nIestatījums pieejams caur \"Pārlūkot\" → \"Iespējas\".</string>
|
||||
<string name="shared_string_wifi_only">Tikai Wi-Fi tīklā</string>
|
||||
<string name="select_travel_book">Izvēlieties ceļojumu grāmatu</string>
|
||||
<string name="shared_string_travel_book">Ceļojumu grāmata</string>
|
||||
|
@ -3045,12 +3048,12 @@ No Afganistānas līdz Zimbabvei, no Austrālijas līdz ASV, Argentīna, Brazīl
|
|||
<string name="nautical_render_descr">Jūras navigācijas stils: bojas, bākas, upju ceļi, jūras līnijas un zīmes, tauvas joslas, pakalpojumi, dziļuma kontūras.</string>
|
||||
<string name="ski_map_render_descr">Slēpošanas stils: rāda slēpošanas trases, pacēlājus un citus ar slēpošanu saistītus izcēlumus. Mazāk uzmanību novērsoši sekundārie objekti uz kartes.</string>
|
||||
<string name="light_rs_render_descr">Vienkāršs un kontrastains stils auto navigācijai. Saudzējošs acīm nakts režīmā. Īpašības: kontūrlīnijas, kontrastējoši oranži ceļi, mazāk uzmanību novērsoši sekundārie objekti uz kartes.</string>
|
||||
<string name="topo_render_descr">"Kontrastējošs stils pārgājieniem, trekingam un velo braukšanai brīvā dabā. Īpašības: kontrastējoši ceļi un dabas objekti, dažādi maršruti, kontūrlīnijas ar paplašinātiem iestatījumiem, vairāk detaļu mērogojot karti nekā noklusētajā stilā. Seguma integritātes opcija ļauj noteikt ceļa seguma kvalitāti. Nav nakts režīms."</string>
|
||||
<string name="topo_render_descr">Pārgājieniem, trekingam un velobraucieniem ārpus pilsētas. Vieglāk salasāms saulainā laikā, ar kontrastējošiem ceļiem un dabas objektiem, maršrutu tipiem, paplašinātiem iestatījumiem kontūrlīnijām, papildus detaļas. Ceļa seguma kvalitātes rādīšana. Bez nakts režīma.</string>
|
||||
<string name="mapnik_render_descr">Vecāks \"Mapnik\" noklusētais stils. Īpašības: krāsu palete veidota \"Mapnik\" stilā.</string>
|
||||
<string name="default_render_descr">Vispārējas lietošanas stils. Vienkāršota caurskatāma renderēšana blīvi apdzīvotās vietās. Īpašības: kontūrlīnijas, maršruti, seguma kvalitāte, iebraukšanas ierobežojumi, ceļu numurācija, renderēšana pēc SAC skalas, ūdenssporta veidi.</string>
|
||||
<string name="touring_view_render_descr">Palielināts detaļu daudzums tūristu vajadzībām. Iekļauj visas noklusētā stila konfigurēšanas opcijas, papildus: rāda pēc iespējas vairāk detaļu, īpaši ceļus, takas un pārējās iespējas pārvietoties. Vizuāli izceļ atšķirīgus ceļu veidus, līdzinoties tūristu kartēm. Augsta kontrasta krāsu palete lietošanai dienas un nakts režīmā.</string>
|
||||
<string name="shared_string_bookmark">Grāmatzīme</string>
|
||||
<string name="off_road_render_descr">"Piemērots braukšanai bezceļa apstākļos, kā arī piemērots lietošanai kopā ar zaļās krāsas satelīta bildēm apakšklāja veidā. Īpašības: samazināts galveno ceļu biezums, palielināts taku, celiņu, veloceliņu u.c. maršrutu līniju biezums. Veidots \"Topo\" stilā."</string>
|
||||
<string name="off_road_render_descr">Bezceļa braukšanai ar \'Topo\' stila karti un lietošanai kopā ar zaļajiem satelīta uzņēmumiem kā apakšklāju. Samazināts galvenu ceļu līniju biezums, izcelti treki, takas, velo celiņi u.c. maršruti.</string>
|
||||
<string name="access_intermediate_arrival_time">Starppunkta ierašanās laiks</string>
|
||||
<string name="map_widget_intermediate_time">Ierašanās laiks</string>
|
||||
<string name="unirs_render_descr">Uzlabots kontrasts kājāmgājēju un velosipēdu celiņiem. Izmanto vecākas Mapnik krāsas.</string>
|
||||
|
@ -3118,7 +3121,7 @@ No Afganistānas līdz Zimbabvei, no Austrālijas līdz ASV, Argentīna, Brazīl
|
|||
\n • Rāda azimutu iekš Mērīt Attālumu
|
||||
\n
|
||||
\n</string>
|
||||
<string name="release_3_4">"• Lietotnes profili: veidojiet personisku profilu savām vajadzībām, izvēlieties ikonu un krāsu
|
||||
<string name="release_3_4">• Lietotnes profili: veidojiet personisku profilu savām vajadzībām, izvēlieties ikonu un krāsu
|
||||
\n
|
||||
\n • Tagad mainiet katra profila noklusējumus un min/max ātrumus
|
||||
\n
|
||||
|
@ -3138,7 +3141,7 @@ No Afganistānas līdz Zimbabvei, no Austrālijas līdz ASV, Argentīna, Brazīl
|
|||
\n
|
||||
\n • Citi kļūdu labojumi
|
||||
\n
|
||||
\n"</string>
|
||||
\n</string>
|
||||
<string name="configure_profile_info">Visi zemāk esošie iestatījumi attiecas tikai uz izvēlēto profilu.</string>
|
||||
<string name="utm_format_descr">OsmAnd lieto UTM standarta formātu, kas ir līdzīgs, bet ne vienāds ar UTM NATO formātu.</string>
|
||||
<string name="shared_string_example">Piemērs</string>
|
||||
|
@ -3269,7 +3272,7 @@ No Afganistānas līdz Zimbabvei, no Austrālijas līdz ASV, Argentīna, Brazīl
|
|||
<string name="shared_string_revert">Atjaunot</string>
|
||||
<string name="reorder_profiles">Rediģēt profilu sarakstu</string>
|
||||
<string name="edit_profiles">Rediģēt profilus</string>
|
||||
<string name="edit_profiles_descr">"OsmAnd pamata profilus nevar izdzēst, bet atspējot (no iepriekšējā ekrāna) vai pārkārtot uz leju."</string>
|
||||
<string name="edit_profiles_descr">OsmAnd pamata profilus nevar izdzēst, bet atspējot (uz iepriekšējā ekrāna) vai pārkārtot uz leju.</string>
|
||||
<string name="selected_profile">Izvēlētais profils</string>
|
||||
<string name="shared_string_nothing_selected">Nekas nav izvēlēts</string>
|
||||
</resources>
|
|
@ -1556,7 +1556,7 @@
|
|||
<string name="poi_fire_hydrant_type_pipe">Rør</string>
|
||||
<string name="poi_drinking_water_refill_network">Nettverk for påfyll av drikkevann</string>
|
||||
<string name="poi_drinking_water_refill_no">Drikkevannspåfylling: Nei</string>
|
||||
<string name="poi_drinking_water_refill_yes">Drikkevannspåfylling: Ja</string>
|
||||
<string name="poi_drinking_water_refill_yes">Ja</string>
|
||||
<string name="poi_seamark_water_level_submerged">Vann-nivå: Nedsenket</string>
|
||||
<string name="poi_seamark_obstruction">Hindring</string>
|
||||
<string name="poi_seamark_water_level_below_mwl">Vann-nivå: Under vanlig vann-nivå</string>
|
||||
|
|
|
@ -3705,14 +3705,12 @@
|
|||
<string name="plan_route_select_track_file_for_open">Velg en sporfil for åpning.</string>
|
||||
<string name="reverse_route">Snu rute</string>
|
||||
<string name="overwrite_track">Overskriv spor</string>
|
||||
<string name="route_between_points_whole_track_button_desc">Hele sporet vil bli omregnet ved bruk av valgt profil.</string>
|
||||
<string name="route_between_points_desc">Velg hvordan punkter skal knyttes sammen, i rett linje, eller utregnet rute mellom dem med valgt profil.</string>
|
||||
<string name="route_between_points_next_segment_button_desc">Kun neste segment vil bli omregnet ved bruk av valgt profil.</string>
|
||||
<string name="route_between_points_whole_track_button_desc">Hele sporet blir beregnet på nytt med den valgte profilen.</string>
|
||||
<string name="route_between_points_desc">Velg hvordan punkter skal forbindes; med en rett linje, eller beregn en rute mellom dem som spesifisert nedenfor.</string>
|
||||
<string name="route_between_points_next_segment_button_desc">Kun det neste segmentet blir beregnet på nytt med den valgte profilen.</string>
|
||||
<string name="whole_track">Hele sporet</string>
|
||||
<string name="next_segment">Neste segment</string>
|
||||
<string name="route_between_points_warning_desc">For å bruke dette valget må OsmAnd rute sporet ditt til kartveiene.
|
||||
\n
|
||||
\n På neste steg vil du måtte velge navigasjonsprofil for oppdagelse av tillatte veier, og terskeldistanse for å anslå sporet ditt til veier.</string>
|
||||
<string name="route_between_points_warning_desc">Deretter juster ditt spor til nærmeste tillatte vei med en av navigeringsprofilene for å bruke dette alternativet.</string>
|
||||
<string name="route_between_points_add_track_desc">Velg en sporfil å legge til det nye segmentet i.</string>
|
||||
<string name="save_as_new_track">Lagre som nytt spor</string>
|
||||
<string name="plan_route_create_new_route">Opprett ny rute</string>
|
||||
|
@ -3739,11 +3737,11 @@
|
|||
<string name="all_next_segments">Alle påfølgende segmenter</string>
|
||||
<string name="all_previous_segments">Alle foregående segmenter</string>
|
||||
<string name="previous_segment">Forrige segment</string>
|
||||
<string name="only_selected_segment_recalc">Kun valgt segment vil bli utregnet på ny i valgt profil.</string>
|
||||
<string name="all_next_segments_will_be_recalc">Alle påfølgende segmenter vil bli utregnet på ny i valgt profil.</string>
|
||||
<string name="all_previous_segments_will_be_recalc">Alle tidligere segmenter vil bli utregnet på ny i valgt profil.</string>
|
||||
<string name="only_selected_segment_recalc">Kun det valgte segmentet blir beregnet på nytt med den valgte profilen.</string>
|
||||
<string name="all_next_segments_will_be_recalc">Alle påfølgende segmenter blir beregnet på nytt med den valgte profilen.</string>
|
||||
<string name="all_previous_segments_will_be_recalc">Alle tidligere segmenter blir beregnet på nytt med den valgte profilen.</string>
|
||||
<string name="open_saved_track">Åpne lagret spor</string>
|
||||
<string name="shared_string_is_saved">har blitt lagret</string>
|
||||
<string name="one_point_error">Legg til minst to punkter.</string>
|
||||
<string name="shared_string_redo">Gjenta</string>
|
||||
<string name="shared_string_redo">Gjør om</string>
|
||||
</resources>
|
|
@ -1174,7 +1174,7 @@
|
|||
<string name="tts_language_not_supported">O idioma selecionado não é suportado pelo mecanismo Android TTS (conversão de texto em fala) instalado; o idioma predefinido do TTS será usado. Procura outro mecanismo TTS no mercado\?</string>
|
||||
<string name="tts_missing_language_data_title">Faltam dados</string>
|
||||
<string name="tts_missing_language_data">Ir a loja para baixar o idioma selecionado\?</string>
|
||||
<string name="gpx_option_reverse_route">Inverter direção GPX</string>
|
||||
<string name="gpx_option_reverse_route">Inverter direção da trilha</string>
|
||||
<string name="gpx_option_destination_point">Usar destino atual</string>
|
||||
<string name="gpx_option_from_start_point">Percorrer toda a trilha</string>
|
||||
<string name="switch_to_vector_map_to_see">Mapa vetorial off-line presente para esse local.
|
||||
|
@ -3883,7 +3883,7 @@
|
|||
<string name="shared_string_redo">Refazer</string>
|
||||
<string name="release_3_8">"• Função de planejamento de rota atualizada: permite o uso de diferentes tipos de navegação por segmento e a inclusão de trilhas
|
||||
\n
|
||||
\n • Novo menu de aparência para trilhas: selecione cor, espessura, setas de direção de exibição, ícones de início / término
|
||||
\n • Novo menu de aparência para trilhas: selecione cor, espessura, setas de direção de exibição, ícones de início / término
|
||||
\n
|
||||
\n • Melhor visibilidade dos nós da bicicleta.
|
||||
\n
|
||||
|
|
|
@ -3828,4 +3828,5 @@
|
|||
<string name="poi_drinking_water_refill">Reabastecimento de água potável</string>
|
||||
<string name="poi_recycling_small_electrical_appliances">Pequenos aparelhos elétricos</string>
|
||||
<string name="poi_beehive">Colmeia</string>
|
||||
<string name="poi_nuts">Loja de nozes</string>
|
||||
</resources>
|
|
@ -91,7 +91,7 @@
|
|||
<string name="transport_search_again">Reinicializar pesquisa de transporte</string>
|
||||
<string name="voice">Voz gravada</string>
|
||||
<string name="no_vector_map_loaded">Nenhum mapa vetorial foi carregado</string>
|
||||
<string name="gpx_option_reverse_route">Caminho reverso</string>
|
||||
<string name="gpx_option_reverse_route">Inverter a direção do trilho</string>
|
||||
<string name="gpx_files_not_found">Nenhum ficheiro GPX encontrado na pasta tracks</string>
|
||||
<string name="error_reading_gpx">Não foi possível ler os dados de GPX.</string>
|
||||
<string name="vector_data">Mapas vetoriais offline</string>
|
||||
|
|
|
@ -66,15 +66,15 @@
|
|||
<string name="select_street">Выберите улицу</string>
|
||||
<string name="shared_string_in_name">в %1$s</string>
|
||||
<string name="type_address">Введите адрес</string>
|
||||
<string name="type_city_town">Введите город/населённый пункт/место</string>
|
||||
<string name="type_city_town">Город/место/район</string>
|
||||
<string name="type_postcode">Введите почтовый индекс</string>
|
||||
<string name="nearest_cities">Ближайшие города</string>
|
||||
<string name="select_city">Выберите город</string>
|
||||
<string name="select_postcode">Поиск почтового индекса</string>
|
||||
<string name="quick_action_take_audio_note">Записать аудио</string>
|
||||
<string name="quick_action_take_video_note">Записать видео</string>
|
||||
<string name="quick_action_take_photo_note">Сделать фото</string>
|
||||
<string name="quick_action_add_osm_bug">Добавить заметку OSM</string>
|
||||
<string name="quick_action_take_audio_note">Аудиозаметка</string>
|
||||
<string name="quick_action_take_video_note">Видеозаметка</string>
|
||||
<string name="quick_action_take_photo_note">Фотозаметка</string>
|
||||
<string name="quick_action_add_osm_bug">OSM-заметка</string>
|
||||
<string name="parking_options">Функции парковки</string>
|
||||
<string name="full_version_thanks">Благодарим вас за покупку платной версии OsmAnd.</string>
|
||||
<string name="do_not_show_startup_messages">Не показывать сообщения при запуске</string>
|
||||
|
@ -99,13 +99,13 @@
|
|||
<string name="quick_action_auto_zoom_desc">Кнопка переключения автомасштабирования на основе скорости.</string>
|
||||
<string name="quick_action_auto_zoom_on">Включение автомасштаба</string>
|
||||
<string name="quick_action_auto_zoom_off">Выключение автомасштаба</string>
|
||||
<string name="quick_action_add_destination">Добавить точку маршрута</string>
|
||||
<string name="quick_action_add_destination">Пункт назначения</string>
|
||||
<string name="quick_action_replace_destination">Заменить пункт назначения</string>
|
||||
<string name="quick_action_add_first_intermediate">Добавить первую промежуточную точку</string>
|
||||
<string name="quick_action_add_destination_desc">Кнопка для установки центра экрана пунктом назначения маршрута, любой ранее выбранный пункт назначения станет последним промежуточным пунктом.</string>
|
||||
<string name="quick_action_directions_from_desc">Кнопка для установки центра экрана пунктом отправления. Затем будет предложено установить пункт назначения или запустить расчёт маршрута.</string>
|
||||
<string name="quick_action_add_first_intermediate">Первый промежуточный пункт</string>
|
||||
<string name="quick_action_add_destination_desc">Установка центра экрана пунктом назначения; ранее выбранный пункт назначения станет последним промежуточным пунктом.</string>
|
||||
<string name="quick_action_directions_from_desc">Кнопка для установки центра экрана пунктом отправления. Затем нужно будет выбрать пункт назначения или запустить расчёт маршрута.</string>
|
||||
<string name="quick_action_replace_destination_desc">Кнопка для установки центра экрана пунктом назначения с заменой предыдущего (если был задан).</string>
|
||||
<string name="quick_action_add_first_intermediate_desc">Кнопка для установки центра экрана первой промежуточной точкой маршрута.</string>
|
||||
<string name="quick_action_add_first_intermediate_desc">Установка центра экрана первой промежуточной точкой маршрута.</string>
|
||||
<string name="no_overlay">Нет покрытия</string>
|
||||
<string name="no_underlay">Нет подложки</string>
|
||||
<string name="routing_attr_relief_smoothness_factor_hills_name">Холмистый</string>
|
||||
|
@ -148,7 +148,7 @@
|
|||
<string name="quick_action_showhide_favorites_descr">Переключатель, чтобы показать или скрыть избранные точки на карте.</string>
|
||||
<string name="quick_action_showhide_poi_descr">Переключатель, чтобы показать или скрыть POI на карте.</string>
|
||||
<string name="quick_action_showhide_favorites_title">Показать/скрыть избранные</string>
|
||||
<string name="quick_action_add_category">Добавить категорию</string>
|
||||
<string name="quick_action_add_category">Категория</string>
|
||||
<string name="quick_action_add_create_items">Действия</string>
|
||||
<string name="quick_action_fav_name_descr">Если оставить это поле пустым, то оно будет автоматически заполнено адресом или названием места.</string>
|
||||
<string name="quick_action_bug_descr">Это сообщение будет добавлено в комментарий.</string>
|
||||
|
@ -185,7 +185,7 @@
|
|||
<string name="legacy_search">Старый поиск</string>
|
||||
<string name="show_legacy_search">Показывать старый поиск</string>
|
||||
<string name="show_legacy_search_desc">Добавить старый поиск в меню.</string>
|
||||
<string name="routing_attr_allow_motorway_name">Использовать автомагистрали</string>
|
||||
<string name="routing_attr_allow_motorway_name">Разрешить автомагистрали</string>
|
||||
<string name="routing_attr_allow_motorway_description">Разрешает автомагистрали.</string>
|
||||
<string name="wiki_around">Статьи Википедии рядом</string>
|
||||
<string name="search_map_hint">Город или регион</string>
|
||||
|
@ -219,8 +219,8 @@
|
|||
<string name="rendering_value_dark_brown_name">Тёмно-коричневый</string>
|
||||
<string name="rendering_attr_contourColorScheme_name">Цветовая гамма горизонталей</string>
|
||||
<string name="rendering_attr_surfaceIntegrity_name">Качество дорожного покрытия</string>
|
||||
<string name="search_hint">Введите название города, адрес, POI</string>
|
||||
<string name="new_filter_desc">Введите имя для нового фильтра. Вы сможете его найти в списке «Категории».</string>
|
||||
<string name="search_hint">Город, адрес, POI</string>
|
||||
<string name="new_filter_desc">Введите имя для нового фильтра. Он добавится в список «Категории».</string>
|
||||
<string name="translit_name_if_miss">Транслитерация если имя на %1$s отсутствует</string>
|
||||
<string name="translit_names">Транслитерация названий</string>
|
||||
<string name="edit_filter">Редактировать категории</string>
|
||||
|
@ -233,7 +233,7 @@
|
|||
<string name="save_filter">Сохранить фильтр</string>
|
||||
<string name="delete_filter">Удалить фильтр</string>
|
||||
<string name="new_filter">Новый фильтр</string>
|
||||
<string name="change_markers_position">Изменить положение</string>
|
||||
<string name="change_markers_position">Изменить позицию</string>
|
||||
<string name="current_track">Текущий путь</string>
|
||||
<string name="use_osm_live_routing">Навигация OsmAnd Live</string>
|
||||
<string name="map_widget_battery">Уровень заряда батареи</string>
|
||||
|
@ -270,7 +270,7 @@
|
|||
<string name="no_address_found">Адрес не определён</string>
|
||||
<string name="shared_string_near">Около</string>
|
||||
<string name="shared_string_location">Местоположение</string>
|
||||
<string name="poi_context_menu_modify_osm_change">Редактировать POI</string>
|
||||
<string name="poi_context_menu_modify_osm_change">Изменить POI</string>
|
||||
<string name="osm_edit_reopened_note">Заметка OSM открыта снова</string>
|
||||
<string name="osm_edit_commented_note">К заметке OSM добавлен комментарий</string>
|
||||
<string name="osm_edit_created_note">Заметка OSM создана</string>
|
||||
|
@ -286,7 +286,7 @@
|
|||
<string name="osm_edit_deleted_poi">Удалённая OSM POI</string>
|
||||
<string name="osm_edit_modified_poi">Отредактированная OSM POI</string>
|
||||
<string name="osm_save_offline">Сохранить локально</string>
|
||||
<string name="context_menu_item_open_note">Добавить заметку OSM</string>
|
||||
<string name="context_menu_item_open_note">OSM-заметка</string>
|
||||
<string name="rendering_attr_currentTrackColor_description">Цвет трека GPX</string>
|
||||
<string name="rendering_attr_currentTrackWidth_description">Толщина трека GPX</string>
|
||||
<string name="copied_to_clipboard">Скопировано в буфер обмена</string>
|
||||
|
@ -309,16 +309,16 @@
|
|||
<string name="av_video_format">Формат вывода видео</string>
|
||||
<string name="av_use_external_recorder_descr">Использовать системное приложение для записи видео.</string>
|
||||
<string name="av_use_external_recorder">Использовать системную программу</string>
|
||||
<string name="av_settings_descr">Установка настроек аудио и видео.</string>
|
||||
<string name="av_settings_descr">Параметры записи звука и видео.</string>
|
||||
<string name="recording_error">Ошибка записи</string>
|
||||
<string name="recording_camera_not_available">Камера недоступна</string>
|
||||
<string name="recording_is_recorded">Аудио/видео записывается. Для остановки нажмите виждет AV.</string>
|
||||
<string name="recording_is_recorded">Идёт запись медиа. Для остановки нажмите на виджет AV.</string>
|
||||
<string name="recording_playing">Проигрывается аудио.\n%1$s</string>
|
||||
<string name="recording_open_external_player">Открыть внешний проигрыватель</string>
|
||||
<string name="recording_delete_confirm">Удалить эту запись?</string>
|
||||
<string name="recording_unavailable">недоступно</string>
|
||||
<string name="recording_context_menu_arecord">Записать аудио</string>
|
||||
<string name="recording_context_menu_vrecord">Записать видео</string>
|
||||
<string name="recording_context_menu_arecord">Аудиозаметка</string>
|
||||
<string name="recording_context_menu_vrecord">Видеозаметка</string>
|
||||
<string name="layer_recordings">Слой аудиозаписей</string>
|
||||
<string name="recording_can_not_be_played">Запись не может быть воспроизведена.</string>
|
||||
<string name="recording_context_menu_delete">Удалить запись</string>
|
||||
|
@ -330,8 +330,8 @@
|
|||
<string name="map_widget_distancemeasurement">Измерение расстояний</string>
|
||||
<string name="audionotes_location_not_defined">Нажмите «Использовать местоположение…» чтобы добавить заметку к данному местоположению.</string>
|
||||
<string name="map_widget_audionotes">Аудиозаметки</string>
|
||||
<string name="audionotes_plugin_description">Делайте аудио/фото/видеозаметки во время поездки, используя либо кнопку на карте, либо контекстное меню местоположения.</string>
|
||||
<string name="audionotes_plugin_name">Аудио/видеозаметки</string>
|
||||
<string name="audionotes_plugin_description">Создавайте аудио-, видео- и фотозаметки в поездке, используя виджет или контекстное меню.</string>
|
||||
<string name="audionotes_plugin_name">Медиазаметки</string>
|
||||
<string name="index_srtm_parts">частей</string>
|
||||
<string name="index_srtm_ele">Линии высот</string>
|
||||
<string name="srtm_plugin_name">Контурные линии</string>
|
||||
|
@ -368,10 +368,10 @@
|
|||
<string name="map_online_data_descr">Использовать онлайн-карты (загрузка и кеширование на SD-карте).</string>
|
||||
<string name="shared_string_online_maps">Онлайн-карты</string>
|
||||
<string name="online_map_settings_descr">Выберите источник онлайн или кешированных растровых карт.</string>
|
||||
<string name="osmand_rastermaps_plugin_description">Получение доступа ко множеству видов онлайн-карт (тайловых или растровых): от предопределённых тайловых OSM (как Mapnik), до спутниковых снимков и слоёв специального назначения, таких как карты погоды, климатические карты, геологические карты, слои затемнения высот и т. д.
|
||||
\n
|
||||
\n Любая из этих карт может быть использована в качестве основной (базовой) карты для отображения или в виде наложения или подложки к другой базовой карте (например стандартной локальной карте OsmAnd). Некоторые элементы векторной карты OsmAnd могут быть по желанию скрыты через меню «Настройки карты».
|
||||
\n
|
||||
<string name="osmand_rastermaps_plugin_description">Доступ ко множеству онлайн-карт (т. н. тайловых или растровых): от встроенных OSM (как Mapnik), до спутниковых снимков и слоёв специального назначения, таких как карты погоды, климатические, геологические карты, затенения рельефа и др.
|
||||
\n
|
||||
\n Любая из этих карт может быть использована в качестве базовой либо как наложение или подложка к другой базовой карте (например стандартной локальной карте OsmAnd). Некоторые элементы векторной карты OsmAnd можно скрыть в меню «Настройки карты».
|
||||
\n
|
||||
\n Карты можно загрузить непосредственно из интернета или подготовить для использования в автономном режиме (и вручную скопировать в папку данных OsmAnd) в виде базы данных sqlite, которая может быть создана с помощью различных инструментов подготовки карт сторонних производителей.</string>
|
||||
<string name="osmand_background_plugin_description">Показывает настройки для включения фонового отслеживания и навигации путём периодического пробуждения устройства GPS (с выключенным экраном).</string>
|
||||
<string name="osmand_accessibility_description">Добавляет поддержку специальных возможностей устройства непосредственно в OsmAnd. Это облегчает, например, регулировку скорости речи для синтезированного голоса, настройку направленности экрана навигации, управление масштабом при помощи трекбола или использование голосовых команд обратной связи для автоматической аннотации вашего местоположения.</string>
|
||||
|
@ -466,7 +466,7 @@
|
|||
<string name="shared_string_undefined">Неопределённо</string>
|
||||
<string name="search_position_map_view">Текущий центр карты</string>
|
||||
<string name="select_search_position">Начало:</string>
|
||||
<string name="context_menu_item_search">Искать рядом</string>
|
||||
<string name="context_menu_item_search">Поиск рядом</string>
|
||||
<string name="route_successfully_saved_at">Маршрут успешно сохранён в «%1$s».</string>
|
||||
<string name="filename_input">Имя файла: </string>
|
||||
<string name="file_with_name_already_exist">Файл с таким именем уже существует.</string>
|
||||
|
@ -515,7 +515,7 @@
|
|||
<string name="tts_language_not_supported">Выбранный язык не поддерживается установленным движком Android TTS (text-to-speech или текст-в-речь), вместо него будет использоваться предустановленный язык TTS. Посмотреть в Google Play другой TTS\?</string>
|
||||
<string name="tts_missing_language_data_title">Данные отсутствуют</string>
|
||||
<string name="tts_missing_language_data">Перейти в маркет для загрузки выбранного языка?</string>
|
||||
<string name="gpx_option_reverse_route">Обратное направление GPX</string>
|
||||
<string name="gpx_option_reverse_route">Обратное направление трека</string>
|
||||
<string name="gpx_option_destination_point">Использовать текущий пункт назначения</string>
|
||||
<string name="gpx_option_from_start_point">Пройти весь путь</string>
|
||||
<string name="switch_to_vector_map_to_see">Для этого региона доступны локальные векторные карты.
|
||||
|
@ -563,7 +563,7 @@
|
|||
<string name="send_location_sms_pattern">Координаты: %1$s\n%2$s</string>
|
||||
<string name="send_location_email_pattern">Чтобы увидеть местоположение, перейдите по ссылке %1$s или Android-ссылке %2$s</string>
|
||||
<string name="send_location">Отправить местоположение</string>
|
||||
<string name="context_menu_item_share_location">Поделиться местоположением</string>
|
||||
<string name="context_menu_item_share_location">Отправка геопозиции</string>
|
||||
<string name="add_waypoint_dialog_added">Путевая точка GPX «{0}» добавлена</string>
|
||||
<string name="add_waypoint_dialog_title">Добавить точку в записанный трек</string>
|
||||
<string name="amenity_type_administrative">Административное</string>
|
||||
|
@ -657,7 +657,7 @@
|
|||
<string name="download_type_to_filter">фильтровать</string>
|
||||
<string name="use_high_res_maps">Дисплей высокого разрешения</string>
|
||||
<string name="use_high_res_maps_descr">Не растягивать (с размытием) растровые карты на дисплеях высокого разрешения.</string>
|
||||
<string name="context_menu_item_search_transport">Искать общественный транспорт</string>
|
||||
<string name="context_menu_item_search_transport">Поиск транспорта</string>
|
||||
<string name="transport_context_menu">Искать транспорт на остановке</string>
|
||||
<string name="transport_searching_transport">Результат поиска транспорта (нет пункта назначения):</string>
|
||||
<string name="transport_searching_route">Результат поиска транспорта (до пункта {0}):</string>
|
||||
|
@ -691,7 +691,7 @@
|
|||
<string name="layer_poi">POI…</string>
|
||||
<string name="layer_map">Источник карты</string>
|
||||
<string name="menu_layers">Слои</string>
|
||||
<string name="context_menu_item_search_poi">Искать POI</string>
|
||||
<string name="context_menu_item_search_poi">Поиск POI</string>
|
||||
<string name="use_trackball_descr">Использовать трекбол для перемещения по карте.</string>
|
||||
<string name="use_trackball">Использовать трекбол</string>
|
||||
<string name="background_service_wait_int_descr">Устанавливает максимально допустимое время ожидания для каждого фонового фиксирования местоположения.</string>
|
||||
|
@ -738,7 +738,7 @@
|
|||
<string name="first_time_download">Загрузить детальные карты регионов</string>
|
||||
<string name="search_poi_location">Поиск сигнала…</string>
|
||||
<string name="search_near_map">Искать вокруг текущего центра карты</string>
|
||||
<string name="search_nearby">Искать рядом</string>
|
||||
<string name="search_nearby">Поиск рядом</string>
|
||||
<string name="map_orientation_default">По умолчанию</string>
|
||||
<string name="map_orientation_portrait">Портрет</string>
|
||||
<string name="map_orientation_landscape">Ландшафт</string>
|
||||
|
@ -768,7 +768,7 @@
|
|||
<string name="update_poi_no_offline_poi_index">В данной области нет локальных POI</string>
|
||||
<string name="update_poi_is_not_available_for_zoom">Увеличение масштаба позволяет обновить POI</string>
|
||||
<string name="context_menu_item_update_poi">Обновить POI</string>
|
||||
<string name="context_menu_item_update_map_confirm">Вы хотите обновить локальные данные из интернета\?</string>
|
||||
<string name="context_menu_item_update_map_confirm">Обновить локальные данные из интернета\?</string>
|
||||
<string name="search_history_city">Город: {0}</string>
|
||||
<string name="search_history_street">Улица: {0}, {1}</string>
|
||||
<string name="search_history_int_streets">Пересечение улиц: {0} x {1} в {2}</string>
|
||||
|
@ -901,14 +901,14 @@
|
|||
<string name="search_address_building_option">Дом</string>
|
||||
<string name="search_address_street_option">Пересечение улиц</string>
|
||||
<string name="context_menu_item_update_map">Обновить карту</string>
|
||||
<string name="context_menu_item_create_poi">Добавить POI</string>
|
||||
<string name="context_menu_item_create_poi">Создать POI</string>
|
||||
<string name="shared_string_yes">Да</string>
|
||||
<string name="shared_string_cancel">Отмена</string>
|
||||
<string name="shared_string_no">Нет</string>
|
||||
<string name="add_favorite_dialog_top_text">Название точки</string>
|
||||
<string name="add_favorite_dialog_default_favourite_name">Избранная</string>
|
||||
<string name="add_favorite_dialog_favourite_added_template">Точка «{0}» была успешно добавлена к избранным.</string>
|
||||
<string name="favourites_context_menu_edit">Редактировать место</string>
|
||||
<string name="favourites_context_menu_edit">Изменить</string>
|
||||
<string name="favourites_context_menu_delete">Удалить из моих</string>
|
||||
<string name="favourites_remove_dialog_msg">Удалить точку «%s» из избранных\?</string>
|
||||
<string name="favourites_remove_dialog_success">Точка {0} удалена.</string>
|
||||
|
@ -1051,8 +1051,8 @@
|
|||
<string name="osmand_parking_plugin_description">Запись места и времени парковки вашего авто.
|
||||
\nИ место, и время отображаются на панели управления или как виджет на карте. Можно добавить напоминание в календаре Android.</string>
|
||||
<string name="osmand_parking_plugin_name">Место парковки</string>
|
||||
<string name="context_menu_item_add_parking_point">Отметить парковку</string>
|
||||
<string name="context_menu_item_delete_parking_point">Удалить метку места парковки</string>
|
||||
<string name="context_menu_item_add_parking_point">Место парковки</string>
|
||||
<string name="context_menu_item_delete_parking_point">Удалить парковку</string>
|
||||
<string name="starting_point_too_far">Точка отправления слишком далеко от ближайшей дороги.</string>
|
||||
<string name="shared_location">Общие места</string>
|
||||
<string name="select_animate_speedup">Скорость моделирования маршрута:</string>
|
||||
|
@ -1164,7 +1164,7 @@
|
|||
<string name="snap_to_road">Привязка к дороге</string>
|
||||
<string name="intermediate_point_too_far">Промежуточный пункт %1$s слишком далеко от ближайшей дороги.</string>
|
||||
<string name="arrived_at_intermediate_point">Достигнут промежуточный пункт</string>
|
||||
<string name="context_menu_item_intermediate_point">Добавить промежуточный пункт</string>
|
||||
<string name="context_menu_item_intermediate_point">Промежуточный пункт</string>
|
||||
<string name="map_widget_intermediate_distance">Промежуточный пункт</string>
|
||||
<string name="ending_point_too_far">Конец маршрута слишком далеко от ближайшей дороги.</string>
|
||||
<string name="add_tag">Добавить тег</string>
|
||||
|
@ -1176,8 +1176,8 @@
|
|||
<string name="poi_filter_accomodation">Жильё</string>
|
||||
<string name="poi_filter_restaurants">Рестораны</string>
|
||||
<string name="poi_filter_sightseeing">Достопримечательности</string>
|
||||
<string name="context_menu_item_last_intermediate_point">Добавить последним промежуточным пунктом</string>
|
||||
<string name="context_menu_item_first_intermediate_point">Добавить первым промежуточным пунктом</string>
|
||||
<string name="context_menu_item_last_intermediate_point">Последний промежуточный пункт</string>
|
||||
<string name="context_menu_item_first_intermediate_point">Первый промежуточный пункт</string>
|
||||
<string name="add_as_last_destination_point">Добавить последним промежуточным пунктом</string>
|
||||
<string name="add_as_first_destination_point">Добавить первым промежуточным пунктом</string>
|
||||
<string name="replace_destination_point">Заменить пункт назначения</string>
|
||||
|
@ -1203,13 +1203,13 @@
|
|||
<string name="recording_context_menu_show">Просмотр</string>
|
||||
<string name="av_def_action_picture">Сделать фото</string>
|
||||
<string name="recording_context_menu_precord">Сделать фото</string>
|
||||
<string name="dropbox_plugin_description">Синхронизация треков и видео/аудиозаметок с вашим аккаунтом Dropbox.</string>
|
||||
<string name="dropbox_plugin_description">Синхронизация треков и медиазаметок с вашим аккаунтом Dropbox.</string>
|
||||
<string name="dropbox_plugin_name">Плагин Dropbox</string>
|
||||
<string name="osmand_srtm_long_description_1000_chars">Плагин обеспечивает наложение контурных линии и (рельефа) затемняющего слоя, которые будут отображаться поверх стандартных карт 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).</string>
|
||||
<string name="recording_photo_description">Фото %1$s %2$s</string>
|
||||
<string name="local_indexes_cat_av">Аудио/видеоданные</string>
|
||||
<string name="local_indexes_cat_av">Медиаданные</string>
|
||||
<string name="stop_routing_confirm">Остановить навигацию\?</string>
|
||||
<string name="clear_dest_confirm">Вы уверены, что хотите удалить пункт назначения (и промежуточные пункты)?</string>
|
||||
<string name="precise_routing_mode">Точный маршрут (альфа)</string>
|
||||
|
@ -1281,7 +1281,7 @@
|
|||
<string name="local_indexes_cat_srtm">Контурные линии</string>
|
||||
<string name="shared_string_downloading">Загрузка…</string>
|
||||
<string name="osmand_distance_planning_plugin_description">Создание маршрутов по нажатию на карте, а также использование или изменение существующих файлов GPX, планирование поездки и измерение расстояния между точками. Результаты могут быть сохранены в виде файла GPX, который впоследствии может быть использован для навигации.</string>
|
||||
<string name="context_menu_item_destination_point">Сделать пунктом назначения</string>
|
||||
<string name="context_menu_item_destination_point">Пункт назначения</string>
|
||||
<string name="please_select_address">Сначала установите город или улицу</string>
|
||||
<string name="destination_point">Пункт назначения %1$s</string>
|
||||
<string name="av_camera_focus">Тип фокусировки камеры</string>
|
||||
|
@ -1317,8 +1317,8 @@
|
|||
<string name="driving_region_us">США</string>
|
||||
<string name="driving_region_europe_asia">Европа, Азия, Латинская Америка и тому подобное</string>
|
||||
<string name="driving_region_uk">Великобритания, Индия и др.</string>
|
||||
<string name="context_menu_item_directions_to">Проложить маршрут</string>
|
||||
<string name="context_menu_item_directions_from">Пункт отправления</string>
|
||||
<string name="context_menu_item_directions_to">Маршрут до этой точки</string>
|
||||
<string name="context_menu_item_directions_from">Маршрут от этой точки</string>
|
||||
<string name="driving_region_canada">Канада</string>
|
||||
<string name="about_version">Версия:</string>
|
||||
<string name="local_index_tile_data_expire">Время действия (в минутах): %1$s</string>
|
||||
|
@ -1460,7 +1460,7 @@
|
|||
<string name="index_item_world_bitcoin_payments">Мировые пункты обмена bitcoin</string>
|
||||
<string name="int_days">дней</string>
|
||||
<string name="osmo_connect_menu">Соединение</string>
|
||||
<string name="import_file_favourites">Сохранить данные как трек файл или импортировать путевые точки в избранные\?</string>
|
||||
<string name="import_file_favourites">Сохранить данные как файл трека или импортировать путевые точки в избранные\?</string>
|
||||
<string name="rendering_value_pink_name">Розовый</string>
|
||||
<string name="rendering_value_brown_name">Коричневый</string>
|
||||
<string name="gpx_file_is_empty">Пустой файл GPX</string>
|
||||
|
@ -1739,7 +1739,7 @@
|
|||
<string name="shared_string_deselect_all">Отменить выбор всех</string>
|
||||
<string name="shared_string_share">Поделиться</string>
|
||||
<string name="shared_string_my_places">Мои места</string>
|
||||
<string name="shared_string_my_favorites">Избранные</string>
|
||||
<string name="shared_string_my_favorites">Точки</string>
|
||||
<string name="shared_string_tracks">Треки</string>
|
||||
<string name="shared_string_currently_recording_track">Текущий трек</string>
|
||||
<string name="share_note">Поделиться заметкой</string>
|
||||
|
@ -1766,7 +1766,7 @@
|
|||
<string name="waypoint_visit_before">Посетить до</string>
|
||||
<string name="plugin_touringview_name">Туристическая карта</string>
|
||||
<string name="osmand_parking_overdue">просрочено</string>
|
||||
<string name="delay_to_start_navigation_descr">Укажите время задержки на экране планирования маршрута.</string>
|
||||
<string name="delay_to_start_navigation_descr">Укажите время ожидания на экране планирования маршрута.</string>
|
||||
<string name="delay_to_start_navigation">Начать пошаговое ведение через…</string>
|
||||
<string name="shared_string_go">Поехали</string>
|
||||
<string name="plugin_nautical_descr">Расширяет возможности OsmAnd, делая доступными морские карты для катания на лодках, парусного спорта и других видов спорта.
|
||||
|
@ -2005,7 +2005,7 @@
|
|||
<string name="first_usage_item_description">Как загрузить карты, установить основные настройки.</string>
|
||||
<string name="navigation_item_description">Настройки навигации.</string>
|
||||
<string name="planning_trip_item">Планирование поездки</string>
|
||||
<string name="enter_country_name">Введите название страны</string>
|
||||
<string name="enter_country_name">Страна</string>
|
||||
<string name="new_version">Новая версия</string>
|
||||
<string name="begin_with_osmand_menu_group">Первые шаги с OsmAnd</string>
|
||||
<string name="features_menu_group">Возможности</string>
|
||||
|
@ -2027,7 +2027,7 @@
|
|||
<string name="access_from_map_description">Кнопка меню открывает панель управления, а не меню</string>
|
||||
<string name="access_from_map">Доступ с карты</string>
|
||||
<string name="context_menu_item_delete_waypoint">Удалить путевую точку GPX\?</string>
|
||||
<string name="context_menu_item_edit_waypoint">Редактировать путевую точку GPX</string>
|
||||
<string name="context_menu_item_edit_waypoint">Изменить путевую точку GPX</string>
|
||||
<string name="routing_attr_avoid_stairs_name">Без лестниц</string>
|
||||
<string name="routing_attr_avoid_stairs_description">Избегать ступеней и лестниц</string>
|
||||
<string name="routing_attr_avoid_borders_name">Без пересечений границ</string>
|
||||
|
@ -2137,7 +2137,7 @@
|
|||
<string name="avoid_road">Исключить из маршрута</string>
|
||||
<string name="osm_live_user_public_name">Публичное имя</string>
|
||||
<string name="osm_live_support_region">Поддерживаемый регион</string>
|
||||
<string name="osm_live_enter_user_name">Пожалуйста, введите публичное имя</string>
|
||||
<string name="osm_live_enter_user_name">Введите публичное имя</string>
|
||||
<string name="dashboard_or_drawer_description">Предлагается выбрать, прежде всего, управление приложением через гибкую панель управления или статическое меню. Ваш выбор всегда может быть изменён в настройках панели управления.</string>
|
||||
<string name="watch">Просмотр</string>
|
||||
<string name="no_map_markers_found">Добавьте маркеры на карте</string>
|
||||
|
@ -2185,7 +2185,7 @@
|
|||
<string name="coords_search">Поиск по координатам</string>
|
||||
<string name="advanced_coords_search">Расширенный поиск по координатам</string>
|
||||
<string name="back_to_search">Вернуться в поиск</string>
|
||||
<string name="confirmation_to_delete_history_items">Удалить выбранные элементы из «Истории»\?</string>
|
||||
<string name="confirmation_to_delete_history_items">Удалить выбранные элементы из истории\?</string>
|
||||
<string name="show_something_on_map">Показать %1$s на карте</string>
|
||||
<string name="dist_away_from_my_location">Искать за %1$s от местоположения</string>
|
||||
<string name="share_history_subject"> поделились через OsmAnd</string>
|
||||
|
@ -2257,15 +2257,15 @@
|
|||
<string name="lang_zh_hk">Китайский (Гонконг)</string>
|
||||
<string name="configure_screen_quick_action">Быстрое действие</string>
|
||||
<string name="quick_action_item_action">Действие %d</string>
|
||||
<string name="quick_action_add_marker">Добавить маркер</string>
|
||||
<string name="quick_action_add_poi">Добавить POI</string>
|
||||
<string name="quick_action_add_marker">Маркер</string>
|
||||
<string name="quick_action_add_poi">POI</string>
|
||||
<string name="quick_action_map_style">Изменить стиль карты</string>
|
||||
<string name="quick_action_map_style_switch">Стиль карты изменён на «%s».</string>
|
||||
<string name="quick_action_add_parking">Добавить место парковки</string>
|
||||
<string name="quick_action_add_parking">Место парковки</string>
|
||||
<string name="quick_action_new_action">Добавить действие</string>
|
||||
<string name="quick_action_edit_action">Редактировать действие</string>
|
||||
<string name="quick_action_add_favorite">Добавить в избранные</string>
|
||||
<string name="dialog_add_action_title">Добавить действие</string>
|
||||
<string name="quick_action_add_favorite">В избранные</string>
|
||||
<string name="dialog_add_action_title">Добавить</string>
|
||||
<string name="quick_actions_delete">Удалить действие</string>
|
||||
<string name="quick_actions_delete_text">Вы уверены, что хотите удалить действие «%s»\?</string>
|
||||
<string name="quick_action_favorites_show">Показать избранные</string>
|
||||
|
@ -2384,7 +2384,7 @@
|
|||
<string name="marker_save_as_track_descr">Экспорт маркеров в следующий файл GPX:</string>
|
||||
<string name="shared_string_markers">Маркеры</string>
|
||||
<string name="osn_modify_dialog_title">Изменить заметку</string>
|
||||
<string name="context_menu_item_modify_note">Изменить заметку OSM</string>
|
||||
<string name="context_menu_item_modify_note">Править OSM-заметку</string>
|
||||
<string name="make_round_trip_descr">Добавить пункт отправления в качестве пункта назначения.</string>
|
||||
<string name="make_round_trip">Сделать маршрут круговым</string>
|
||||
<string name="use_location">Использовать местоположение</string>
|
||||
|
@ -2403,20 +2403,20 @@
|
|||
<string name="shared_string_road">Дорога</string>
|
||||
<string name="show_guide_line">Показывать направляющие линии</string>
|
||||
<string name="rendering_value_darkyellow_name">Тёмно-жёлтый</string>
|
||||
<string name="osmand_extended_description_part8">OsmAnd — это активно развивающийся проект с открытым исходным кодом. Благодаря открытости каждый может внести свой вклад в приложение сообщая об ошибках, улучшая перевод или кодируя новые функции. Проект находится в оживлённом состоянии непрерывного совершенствования всеми этими формами взаимодействия разработчиков и пользователей. Прогресс проекта также зависит от денежных взносов для финансирования написания и тестирования новых функций.
|
||||
\n Примерная карта покрытия и качество:
|
||||
\n • Западная Европа: ****
|
||||
\n • Восточная Европа: ***
|
||||
\n • Россия: ***
|
||||
\n • Северная Америка: ***
|
||||
\n • Южная Америка: **
|
||||
\n • Азия **
|
||||
\n • Япония и Корея: ***
|
||||
\n • Ближний Восток: **
|
||||
\n • Африка: **
|
||||
\n • Антарктида:
|
||||
\n Большинство стран по всему миру доступны для скачивания!
|
||||
\n Получите надёжный навигатор в вашей стране — будь то Франция, Германия, Мексика, Великобритания, Испания, Нидерланды, США, Россия, Бразилия или любая другая.</string>
|
||||
<string name="osmand_extended_description_part8">OsmAnd — это активно развивающийся проект с открытым исходным кодом. Благодаря открытости, каждый может внести свой вклад в приложение, сообщая об ошибках, совершенствуя перевод или разрабатывая новые возможности. Кроме того, проект финансируется за счет денежных взносов с целью разработки и тестирования новых функций.
|
||||
\nПримерное покрытие и качество карт:
|
||||
\n • Западная Европа: ****
|
||||
\n • Восточная Европа: ***
|
||||
\n • Россия: ***
|
||||
\n • Северная Америка: ***
|
||||
\n • Южная Америка: **
|
||||
\n • Азия **
|
||||
\n • Япония и Корея: ***
|
||||
\n • Ближний Восток: **
|
||||
\n • Африка: **
|
||||
\n • Антарктида:
|
||||
\nДля скачивания доступно большинство стран мира!
|
||||
\n Получите надежный навигатор в своей стране — будь то Франция, Германия, Мексика, Великобритания, Испания, Нидерланды, США, Россия, Бразилия или любая другая.</string>
|
||||
<string name="osmand_plus_extended_description_part8">Примерная карта покрытия и качество:
|
||||
\n • Западная Европа: ****
|
||||
\n • Восточная Европа: ***
|
||||
|
@ -2433,15 +2433,15 @@
|
|||
\n</string>
|
||||
<string name="live_monitoring_max_interval_to_send">Временной буфер для онлайн-слежения</string>
|
||||
<string name="live_monitoring_max_interval_to_send_desrc">Укажите временной буфер для хранения местоположений при отсутствии подключения к сети</string>
|
||||
<string name="quick_action_add_marker_descr">Кнопка для добавления маркера карты в центр экрана.</string>
|
||||
<string name="quick_action_add_gpx_descr">Кнопка для добавления путевой точки GPX в центре экрана.</string>
|
||||
<string name="quick_action_add_marker_descr">Добавление в центре экрана маркера на карту.</string>
|
||||
<string name="quick_action_add_gpx_descr">Добавление в центре экрана путевой точки GPX.</string>
|
||||
<string name="quick_action_take_audio_note_descr">Кнопка для добавления аудиозаметки в центре экрана.</string>
|
||||
<string name="quick_action_take_video_note_descr">Кнопка для добавления видеозаметки в центре экрана.</string>
|
||||
<string name="quick_action_take_photo_note_descr">Кнопка для добавления фотозаметки в центре экрана.</string>
|
||||
<string name="quick_action_add_osm_bug_descr">Кнопка для добавления заметки OSM в центре экрана.</string>
|
||||
<string name="quick_action_add_poi_descr">Кнопка для добавления POI в центре экрана.</string>
|
||||
<string name="quick_action_add_osm_bug_descr">Добавление в центре экрана OSM-заметки.</string>
|
||||
<string name="quick_action_add_poi_descr">Добавление POI в центре экрана.</string>
|
||||
<string name="quick_action_navigation_voice_descr">Переключатель, чтобы включить или выключить голосовые подсказки во время навигации.</string>
|
||||
<string name="quick_action_add_parking_descr">Кнопка для добавления парковочного места в центре экрана.</string>
|
||||
<string name="quick_action_add_parking_descr">Добавление в центре экрана места парковки.</string>
|
||||
<string name="quick_action_interim_dialog">Показывать промежуточный диалог</string>
|
||||
<string name="mappilary_no_internet_desc">Фотографии Mapillary доступны только онлайн.</string>
|
||||
<string name="wrong_format">Неправильный формат</string>
|
||||
|
@ -2577,7 +2577,7 @@
|
|||
<string name="favorite_autofill_toast_text">" сохранено в "</string>
|
||||
<string name="retry">Повторить</string>
|
||||
<string name="add_route_points">Добавить точки маршрута</string>
|
||||
<string name="add_waypoint">Добавить путевую точку</string>
|
||||
<string name="add_waypoint">Путевая точка</string>
|
||||
<string name="add_line">Добавить линию</string>
|
||||
<string name="save_gpx_waypoint">Сохранить путевую точку GPX</string>
|
||||
<string name="save_route_point">Сохранить точку маршрута</string>
|
||||
|
@ -2624,7 +2624,7 @@
|
|||
<string name="one_tap_active_descr">Нажатие на маркер на карте переместит его на первое место в списке активных маркеров, не открывая контекстное меню.</string>
|
||||
<string name="one_tap_active">Активация одним нажатием</string>
|
||||
<string name="empty_state_av_notes">Делайте заметки!</string>
|
||||
<string name="empty_state_av_notes_desc">Добавьте аудио-, видео- или фотозаметку в любую точку на карте, используя виджет или контекстное меню.</string>
|
||||
<string name="empty_state_av_notes_desc">Добавьте аудио-, видео- или фотозаметки в любую точку на карте, используя виджет или контекстное меню.</string>
|
||||
<string name="notes_by_date">Заметки по дате</string>
|
||||
<string name="by_date">По дате</string>
|
||||
<string name="by_type">По типу</string>
|
||||
|
@ -2758,7 +2758,7 @@
|
|||
<string name="travel_card_download_descr">Скачайте путеводители Викигида для просмотра статей о местах по всему миру без подключения к интернету.</string>
|
||||
<string name="update_is_available">Доступно обновление</string>
|
||||
<string name="download_file">Скачать файл</string>
|
||||
<string name="start_editing_card_image_text">Свободный всемирный путеводитель, который может редактировать каждый.</string>
|
||||
<string name="start_editing_card_image_text">Бесплатный путеводитель по всему миру, который может редактировать каждый.</string>
|
||||
<string name="welcome_to_open_beta_description">В настоящее время путеводители основаны на Викигиде. Проверьте бесплатно все функции во время открытого бета-тестирования. Впоследствии путеводители будут доступны подписчикам OsmAnd Unlimited и владельцам OsmAnd+.</string>
|
||||
<string name="start_editing_card_description">Вы можете изменять любую статью Викигида, более того, ваше участие в нашем проекте всячески приветствуется! Делитесь знаниями, опытом, талантами и своим вниманием.</string>
|
||||
<string name="start_editing">Начать редактирование</string>
|
||||
|
@ -2861,7 +2861,7 @@
|
|||
<string name="keep_passed_markers">Оставить пройденные маркеры на карте</string>
|
||||
<string name="more_transport_on_stop_hint">Больше транспорта доступно от этой остановки.</string>
|
||||
<string name="markers_remove_dialog_msg">Удалить маркер «%s»\?</string>
|
||||
<string name="edit_map_marker">Редактировать маркер</string>
|
||||
<string name="edit_map_marker">Изменить</string>
|
||||
<string name="third_party_application">Стороннее приложение</string>
|
||||
<string name="osm_live_plan_pricing">План и цены</string>
|
||||
<string name="osm_live_payment_monthly_title">Ежемесячно</string>
|
||||
|
@ -3061,7 +3061,7 @@
|
|||
<string name="shared_string_no_thank_you">Нет, спасибо</string>
|
||||
<string name="shared_string_allow">Разрешить</string>
|
||||
<string name="profile_name_hint">Имя профиля</string>
|
||||
<string name="nav_type_hint">Тип навигации</string>
|
||||
<string name="nav_type_hint">Режим навигации</string>
|
||||
<string name="app_mode_taxi">Такси</string>
|
||||
<string name="app_mode_subway">Метро</string>
|
||||
<string name="app_mode_horse">Лошадь</string>
|
||||
|
@ -3071,8 +3071,8 @@
|
|||
<string name="routing_profile_ski">Лыжи</string>
|
||||
<string name="profile_type_descr_string">Тип: %s</string>
|
||||
<string name="profile_type_base_string">Базовый профиль</string>
|
||||
<string name="profile_alert_need_routing_type_title">Выберите тип навигации</string>
|
||||
<string name="profile_alert_need_routing_type_msg">Выберите тип навигации для нового профиля</string>
|
||||
<string name="profile_alert_need_routing_type_title">Выберите режим навигации</string>
|
||||
<string name="profile_alert_need_routing_type_msg">Выберите режим навигации для нового профиля</string>
|
||||
<string name="profile_alert_need_profile_name_title">Введите имя профиля</string>
|
||||
<string name="profile_alert_need_profile_name_msg">Сначала необходимо указать имя профиля.</string>
|
||||
<string name="profile_alert_duplicate_name_msg">Уже есть профиль с таким именем</string>
|
||||
|
@ -3087,7 +3087,7 @@
|
|||
<string name="profile_alert_delete_msg">Вы действительно хотите удалить профиль «%s»</string>
|
||||
<string name="select_base_profile_dialog_title">Выберите профиль для начала</string>
|
||||
<string name="select_base_profile_dialog_message">Основывайте свой пользовательский профиль на одном из профилей приложения по умолчанию, это определяет базовые настройки, такие как видимость виджетов по умолчанию и выбор единиц измерения скорости и расстояния. Ниже перечислены профили приложений по умолчанию, а также примеры пользовательских профилей, на которые они могут быть расширены:</string>
|
||||
<string name="select_nav_profile_dialog_title">Выберите тип навигации</string>
|
||||
<string name="select_nav_profile_dialog_title">Выберите режим навигации</string>
|
||||
<string name="base_profile_descr_car">Автомобиль, грузовик, мотоцикл</string>
|
||||
<string name="base_profile_descr_bicycle">Горный велосипед, мопед, лошадь</string>
|
||||
<string name="base_profile_descr_pedestrian">Прогулки, пеший туризм, бег</string>
|
||||
|
@ -3231,14 +3231,14 @@
|
|||
<string name="turn_screen_on">Включить экран</string>
|
||||
<string name="map_during_navigation_info">Карта во время навигации</string>
|
||||
<string name="map_during_navigation">Карта во время навигации</string>
|
||||
<string name="vehicle_parameters_descr">Вес, высота, длина, скорость</string>
|
||||
<string name="vehicle_parameters">Параметры автомобиля</string>
|
||||
<string name="vehicle_parameters_descr">Скорость движения, размеры, масса транспортного средства</string>
|
||||
<string name="vehicle_parameters">Физические параметры</string>
|
||||
<string name="voice_announces_info">Голосовые оповещения происходят только во время навигации.</string>
|
||||
<string name="voice_announces_descr">Навигационные инструкции и объявления</string>
|
||||
<string name="voice_announces">Голосовые подсказки</string>
|
||||
<string name="screen_alerts">Экранные оповещения</string>
|
||||
<string name="route_parameters_descr">Настройка параметров маршрута</string>
|
||||
<string name="route_parameters">Параметры маршрута</string>
|
||||
<string name="route_parameters">Маршрутизация</string>
|
||||
<string name="logcat_buffer">Буфер Logcat</string>
|
||||
<string name="plugins_settings">Настройки плагинов</string>
|
||||
<string name="language_and_output">Язык и вывод</string>
|
||||
|
@ -3349,7 +3349,7 @@
|
|||
<string name="select_color">Выберите цвет</string>
|
||||
<string name="edit_profiles_descr">Вы не можете удалить стандартные профили OsmAnd, но вы можете отключить их на предыдущем экране или переместить вниз.</string>
|
||||
<string name="edit_profiles">Редактировать профили</string>
|
||||
<string name="select_nav_profile_dialog_message">«Тип навигации» определяет способ расчета маршрутов.</string>
|
||||
<string name="select_nav_profile_dialog_message">Режим навигации определяет правила расчета маршрутов.</string>
|
||||
<string name="profile_appearance">Внешний вид профиля</string>
|
||||
<string name="choose_icon_color_name">Значок, цвет и имя</string>
|
||||
<string name="reorder_profiles">Редактировать список профилей</string>
|
||||
|
@ -3687,7 +3687,7 @@
|
|||
\n • Исправлены ошибки для языков, пишущихся справа налево
|
||||
\n
|
||||
\n</string>
|
||||
<string name="additional_actions_descr">Доступ к этим действиям можно получить, нажав кнопку «%1$s».</string>
|
||||
<string name="additional_actions_descr">Функции, доступные при нажатии кнопки «%1$s».</string>
|
||||
<string name="quick_action_transport_hide">Скрыть общественный транспорт</string>
|
||||
<string name="quick_action_transport_show">Показать общественный транспорт</string>
|
||||
<string name="quick_action_show_hide_transport">Показать/скрыть общественный транспорт</string>
|
||||
|
@ -3803,7 +3803,7 @@
|
|||
<string name="add_to_a_track">Добавить к треку</string>
|
||||
<string name="set_working_days_to_continue">Установите рабочие дни, чтобы продолжить</string>
|
||||
<string name="route_between_points">Маршрут между точками</string>
|
||||
<string name="plan_a_route">План маршрута</string>
|
||||
<string name="plan_a_route">Составить маршрут</string>
|
||||
<string name="gpx_split_interval_none_descr">Выберите нужный вариант разбиения: по времени или по расстоянию.</string>
|
||||
<string name="gpx_split_interval_descr">Интервал между метками расстояния или времени на треке.</string>
|
||||
<string name="shared_string_custom">Своё</string>
|
||||
|
@ -3828,13 +3828,11 @@
|
|||
<string name="route_between_points_next_segment_button_desc">Профиль будет применён только к следующему сегменту.</string>
|
||||
<string name="next_segment">Следующий сегмент</string>
|
||||
<string name="whole_track">Весь трек</string>
|
||||
<string name="route_between_points_warning_desc">Для использования данной возможности OsmAnd необходимо привязать ваш трек по дорогам.
|
||||
\n
|
||||
\nНа следующем шаге необходимо выбрать профиль навигации для определения разрешенных дорог и пороговое расстояние, чтобы приблизительно привязать маршрут к дорогам.</string>
|
||||
<string name="route_between_points_warning_desc">Далее необходимо выбрать профиль навигации для определения порогового расстояния и привязки маршрута к ближайшей разрешённой дороге.</string>
|
||||
<string name="route_between_points_desc">Выберите способ соединения точек прямой линией или рассчитайте маршрут между ними, как указано ниже.</string>
|
||||
<string name="in_case_of_reverse_direction">При обратном направлении</string>
|
||||
<string name="plan_route_exit_dialog_descr">Все изменения будут утеряны. Закрыть план маршрута\?</string>
|
||||
<string name="street_level_imagery">Съёмка уличного уровня</string>
|
||||
<string name="plan_route_exit_dialog_descr">Все изменения будут утеряны.</string>
|
||||
<string name="street_level_imagery">Уличная фотосъёмка</string>
|
||||
<string name="shared_string_save_as_gpx">Сохранить как новый файл трека</string>
|
||||
<string name="add_segment_to_the_track">Добавить в файл трека</string>
|
||||
<string name="shared_string_gpx_files">Треки</string>
|
||||
|
@ -3845,8 +3843,8 @@
|
|||
<string name="shared_string_gpx_route">Маршрут трека</string>
|
||||
<string name="empty_state_my_tracks">Добавить файлы треков</string>
|
||||
<string name="empty_state_my_tracks_desc">Импортируйте или запишите файлы треков</string>
|
||||
<string name="context_menu_item_add_waypoint">Добавить точку</string>
|
||||
<string name="quick_action_add_gpx">Добавить точку к треку</string>
|
||||
<string name="context_menu_item_add_waypoint">Путевая точка</string>
|
||||
<string name="quick_action_add_gpx">Путевая точка</string>
|
||||
<string name="map_widget_monitoring">Запись поездки</string>
|
||||
<string name="marker_save_as_track">Сохранить как файл трека</string>
|
||||
<string name="follow_track">Следовать по маршруту</string>
|
||||
|
@ -3870,7 +3868,7 @@
|
|||
<string name="simplified_track_description">Будет сохранена только линия маршрута, путевые точки будут удалены.</string>
|
||||
<string name="shared_string_file_name">Имя файла</string>
|
||||
<string name="number_of_gpx_files_selected_pattern">Выбрано файлов треков: %s</string>
|
||||
<string name="save_global_track_interval_descr">Укажите интервал общей записи трека (включается через виджет «Запись GPX» на карте).</string>
|
||||
<string name="save_global_track_interval_descr">Укажите интервал общей записи трека (включается через виджет «Запись поездки» на карте).</string>
|
||||
<string name="gpx_monitoring_stop">Остановить запись</string>
|
||||
<string name="gpx_monitoring_start">Возобновить запись поездки</string>
|
||||
<string name="system_default_theme">По выбору системы</string>
|
||||
|
@ -3885,9 +3883,9 @@
|
|||
<string name="shared_string_is_saved">сохранен</string>
|
||||
<string name="one_point_error">Добавьте хотя бы две точки.</string>
|
||||
<string name="shared_string_redo">ПОВТОРИТЬ</string>
|
||||
<string name="release_3_8">• Обновленный режим планирования маршрута позволяет использовать разные типы навигации для каждого сегмента и прикрепляет любой трек к дорогам
|
||||
<string name="release_3_8">• Обновлённый режим планирования маршрута позволяет использовать разные типы навигации для каждого сегмента и прикрепляет любой трек к дорогам
|
||||
\n
|
||||
\n • Новые параметры внешнего вида для треков: выберите цвет, толщину, включите стрелки направления и отметки начала/окончания
|
||||
\n • Новые параметры внешнего вида для треков: можно выбрать цвет, толщину, включите стрелки направления и отметки начала/окончания
|
||||
\n
|
||||
\n • Улучшена видимость велосипедных узлов
|
||||
\n
|
||||
|
|
|
@ -281,7 +281,7 @@
|
|||
<string name="tts_language_not_supported">Zvolený jazyk nie je podporovaný nainštalovaným TTS (text-to-speech) modulom v Androide. Bude použitý jeho prednastavený TTS jazyk. Nájsť iný TTS modul v obchode\?</string>
|
||||
<string name="tts_missing_language_data_title">Chýbajúce údaje</string>
|
||||
<string name="tts_missing_language_data">Prejsť do obchodu pre stiahnutie zvoleného jazyka?</string>
|
||||
<string name="gpx_option_reverse_route">Obrátiť GPX smerovanie</string>
|
||||
<string name="gpx_option_reverse_route">Obrátiť smer stopy</string>
|
||||
<string name="gpx_option_destination_point">Použiť aktuálny cieľový bod</string>
|
||||
<string name="gpx_option_from_start_point">Prejsť pozdĺž celej trasy</string>
|
||||
<string name="switch_to_vector_map_to_see">Pre túto oblasť je dostupná offline vektorová mapa.
|
||||
|
|
|
@ -2364,7 +2364,7 @@
|
|||
<string name="poi_site_type_megalith">Megalit</string>
|
||||
<string name="poi_fire_hydrant_pressure_filter">Basınç</string>
|
||||
<string name="poi_drinking_water_refill_no">İçme suyu doldurma: hayır</string>
|
||||
<string name="poi_drinking_water_refill_yes">İçme suyu doldurma: evet</string>
|
||||
<string name="poi_drinking_water_refill_yes">Evet</string>
|
||||
<string name="poi_drinking_water_refill_network">İçme suyu doldurma şebekesi</string>
|
||||
<string name="poi_material_composite">Malzeme: kompozit</string>
|
||||
<string name="poi_material_marble">Malzeme: mermer</string>
|
||||
|
@ -2398,4 +2398,22 @@
|
|||
<string name="poi_scooter_yes">Mobilet: evet</string>
|
||||
<string name="poi_motorcycle_type_scooter">Mobilet</string>
|
||||
<string name="poi_site_type_city">Şehir</string>
|
||||
<string name="poi_site_type_petroglyph">Petroglif</string>
|
||||
<string name="poi_site_type_necropolis">Nekropol</string>
|
||||
<string name="poi_site_type_hut_circle">Yuvarlak kulübe kalıntısı</string>
|
||||
<string name="poi_site_type_settlement">Yerleşim yeri</string>
|
||||
<string name="poi_site_type_fortification">İstihkam</string>
|
||||
<string name="poi_recycling_small_electrical_appliances">Küçük elektrikli aletler</string>
|
||||
<string name="poi_departures_board">Kalkış bilgileri panosu</string>
|
||||
<string name="poi_drinking_water_refill">İçme suyu doldurma</string>
|
||||
<string name="poi_fortification_type_ring_ditch">İstihkam türü: dairesel hendek</string>
|
||||
<string name="poi_fortification_type_sconce">İstihkam türü: küçük set</string>
|
||||
<string name="poi_fortification_type_limes">İstihkam türü: limes</string>
|
||||
<string name="poi_fortification_type_hill_fort">İstihkam türü: tepe kalesi</string>
|
||||
<string name="poi_megalith_type_passage_grave">Megalit türü: geçit mezar</string>
|
||||
<string name="poi_megalith_type_stone_circle">Megalit türü: taş çember</string>
|
||||
<string name="poi_megalith_type_nuraghe">Megalit türü: nuraghe</string>
|
||||
<string name="poi_megalith_type_dolmen">Megalit türü: dolmen</string>
|
||||
<string name="poi_megalith_type_menhir">Megalit türü: menhir</string>
|
||||
<string name="poi_site_type_earthwork">Toprak işi</string>
|
||||
</resources>
|
|
@ -937,7 +937,7 @@
|
|||
<string name="basemap_missing">Düşük yakınlaştırma seviyelerinde tüm dünyayı kapsayan bir genel bakış elde etmek için ana dünya haritasını indirin.</string>
|
||||
<string name="local_index_no_items_to_do">%1$s\'a öğe yok</string>
|
||||
<string name="tts_language_not_supported">Seçilen dil yüklü Android TTS (metinden konuşmaya) motoru tarafından desteklenmemektedir, bunun yerine önceden ayarlanmış TTS dili kullanılacak. Mağazada başka bir TTS motoru aramak ister misiniz\?</string>
|
||||
<string name="gpx_option_reverse_route">GPX yönünü tersine çevir</string>
|
||||
<string name="gpx_option_reverse_route">İzlenen yol yönünü tersine çevir</string>
|
||||
<string name="switch_to_vector_map_to_see">Bu konum için çevrim dışı vektör haritası.
|
||||
\n\t
|
||||
\n\tKullanmak için \'Menü\' → \'Harita Katmanları\' → \'Harita Kaynağı…\' → \'Çevrim dışı vektör haritalar\'.</string>
|
||||
|
@ -1440,7 +1440,7 @@
|
|||
<string name="closing_changeset">Değişiklik listesi kapatılıyor…</string>
|
||||
<string name="commiting_node">Düğüm işleniyor …</string>
|
||||
<string name="converting_names">Yerel/İngilizce isimler dönüştürülüyor…</string>
|
||||
<string name="previous_run_crashed">Son Osmand çalıştırmak çöktü. Log dosya {0} olduğunu. Sorunu bildirmek ve günlük dosyasını ekleyiniz.</string>
|
||||
<string name="previous_run_crashed">Son OsmAnd çalıştırması çöktü. Günlük kaydı dosyası {0} konumunda. Lütfen sorunu bildirin ve günlük kaydı dosyasını ekleyin.</string>
|
||||
<string name="osm_settings_descr">OSM gönderimleri için gereken OpenStreetMap.org (OSM) ayarlarını belirtin.</string>
|
||||
<string name="reload_tile">Sayfaya kiremit</string>
|
||||
<string name="opening_hours_not_supported">Çalışma saatleri biçimi değiştirilemez.</string>
|
||||
|
@ -3827,4 +3827,36 @@
|
|||
<string name="only_selected_segment_recalc">Sadece seçili bölüm, seçilen profil kullanılarak yeniden hesaplanacaktır.</string>
|
||||
<string name="all_next_segments_will_be_recalc">Sonraki tüm bölümler, seçilen profil kullanılarak yeniden hesaplanacaktır.</string>
|
||||
<string name="all_previous_segments_will_be_recalc">Önceki tüm bölümler, seçilen profil kullanılarak yeniden hesaplanacaktır.</string>
|
||||
<string name="shared_string_gpx_route">Yol güzergahı</string>
|
||||
<string name="follow_track">Yolu takip et</string>
|
||||
<string name="follow_track_descr">Takip edilecek yol dosyasını seçin</string>
|
||||
<string name="import_track_descr">Takip etmek için yol dosyasını seçin veya cihazınızdan içe aktarın.</string>
|
||||
<string name="select_another_track">Başka bir yol seç</string>
|
||||
<string name="navigate_to_track_descr">Konumumdan yola git</string>
|
||||
<string name="pass_whole_track_descr">Gezinilecek yolun noktası</string>
|
||||
<string name="start_of_the_track">İzlenen yolun başlangıcı</string>
|
||||
<string name="attach_to_the_roads">Yollara ekle</string>
|
||||
<string name="plan_route_trim_before">Öncesinde kırp</string>
|
||||
<string name="plan_route_trim_after">Sonrasında kırp</string>
|
||||
<string name="plan_route_change_route_type_before">Öncesinde güzergah türünü değiştir</string>
|
||||
<string name="plan_route_change_route_type_after">Sonrasında güzergah türünü değiştir</string>
|
||||
<string name="simplified_track">Basitleştirilmiş yol</string>
|
||||
<string name="release_3_8">• Güzergah planlama işlevi güncellendi: her bölüm için farklı navigasyon türlerinin kullanılmasına ve izlenen yolların dahil edilmesine izin veriliyor
|
||||
\n
|
||||
\n • İzlenen yollar için yeni görünüm menüsü: renk ve kalınlık seçimi, yön oklarının gösterilmesi, başlangıç/bitiş simgeleri
|
||||
\n
|
||||
\n • Bisiklet düğümlerinin görünürlüğü iyileştirildi.
|
||||
\n
|
||||
\n • İzlenen yollar artık dokunulabilir, temel bilgiler bulunan içerik menüsüne sahip.
|
||||
\n
|
||||
\n • Arama algoritmaları iyileştirildi
|
||||
\n
|
||||
\n • Navigasyonda yol izleme seçenekleri iyileştirildi
|
||||
\n
|
||||
\n • Profil ayarlarının içe/dışa aktarımıyla ilgili sorunlar düzeltildi
|
||||
\n
|
||||
\n</string>
|
||||
<string name="sort_last_modified">Son değiştirme</string>
|
||||
<string name="sort_name_descending">İsim: Z – A</string>
|
||||
<string name="sort_name_ascending">İsim: A – Z</string>
|
||||
</resources>
|
|
@ -793,7 +793,7 @@
|
|||
<string name="poi_religious">Релігійне землекористування</string>
|
||||
<string name="poi_wayside_cross">Придорожній хрест</string>
|
||||
<string name="poi_wayside_shrine">Придорожня святиня</string>
|
||||
<string name="poi_information">Інформація</string>
|
||||
<string name="poi_information">Відомості</string>
|
||||
<string name="poi_clock">Годинник</string>
|
||||
<string name="poi_travel_agent">Турагентство</string>
|
||||
<string name="poi_viewpoint">Місце з хорошим видом</string>
|
||||
|
|
|
@ -257,7 +257,7 @@
|
|||
<string name="search_offline_clear_search">Новий пошук</string>
|
||||
<string name="map_text_size_descr">Виберіть розмір шрифту для позначень на мапі:</string>
|
||||
<string name="map_text_size">Розмір тексту</string>
|
||||
<string name="trace_rendering">Налагоджувальні відомості про відмалювання</string>
|
||||
<string name="trace_rendering">Відомості для зневадження про відмальовування</string>
|
||||
<string name="trace_rendering_descr">Відображає плідність відмалювання.</string>
|
||||
<string name="installing_new_resources">Розпаковуються нові дані…</string>
|
||||
<string name="internet_connection_required_for_online_route">Вибрано мережеву службу навігації, але ви не підключені до Інтернету.</string>
|
||||
|
@ -265,7 +265,7 @@
|
|||
<string name="tts_language_not_supported">Вибрана мова не підтримується встановленим двигуном Android TTS (текстовим мовленням), замість цього буде використана його попередньо налаштована мова TTS. Шукаєте інший двигун TTS\?</string>
|
||||
<string name="tts_missing_language_data_title">Дані відсутні</string>
|
||||
<string name="tts_missing_language_data">Перейти в магазин для завантаження обраної мови?</string>
|
||||
<string name="gpx_option_reverse_route">Зворотній напрямок GPX</string>
|
||||
<string name="gpx_option_reverse_route">Зворотний напрямок треку</string>
|
||||
<string name="gpx_option_destination_point">Використовувати поточний пункт призначення</string>
|
||||
<string name="gpx_option_from_start_point">Пройдіть по усьому треку</string>
|
||||
<string name="switch_to_vector_map_to_see">Для цього регіону доступні автономні векторні мапи
|
||||
|
@ -1031,7 +1031,7 @@
|
|||
<string name="clear_intermediate_points">Очистити проміжні точки</string>
|
||||
<string name="new_directions_point_dialog">Ви вже задали проміжні точки.</string>
|
||||
<string name="context_menu_item_directions_to">Маршрут до</string>
|
||||
<string name="context_menu_item_directions_from">Напрямки від</string>
|
||||
<string name="context_menu_item_directions_from">Напрямок від</string>
|
||||
<string name="route_to">До:</string>
|
||||
<string name="speak_title">Оголошувати…</string>
|
||||
<string name="speak_descr">Налаштувати оголошення назв вулиць, дорожніх обмежень (вимушені зупинки, долішні (лежачі) поліцейські), попередження про камери контролю швидкості, обмеження швидкості.</string>
|
||||
|
@ -1687,7 +1687,7 @@
|
|||
<string name="shared_string_trip_recording">Запис подорожі</string>
|
||||
<string name="shared_string_navigation">Навігація</string>
|
||||
<string name="osmand_running_in_background">Працює у фоновому режимі</string>
|
||||
<string name="favourites_edit_dialog_title">Відомості по закладці</string>
|
||||
<string name="favourites_edit_dialog_title">Відомості про закладки</string>
|
||||
<string name="simulate_your_location_stop_descr">Зупинити симуляцію Вашої позиції.</string>
|
||||
<string name="looking_up_address">Пошук адреси</string>
|
||||
<string name="av_locations">Місця</string>
|
||||
|
@ -3846,7 +3846,7 @@
|
|||
<string name="quick_action_add_gpx">Додати шляхову точку треку</string>
|
||||
<string name="map_widget_monitoring">Записування подорожі</string>
|
||||
<string name="marker_save_as_track">Зберегти як файл треку</string>
|
||||
<string name="follow_track">Стежити за треком</string>
|
||||
<string name="follow_track">Навігація за треком</string>
|
||||
<string name="follow_track_descr">Виберіть файл треку для перегляду</string>
|
||||
<string name="import_track_descr">Виберіть файл треку для перегляду або імпортуйте його з пристрою.</string>
|
||||
<string name="select_another_track">Обрати інший трек</string>
|
||||
|
@ -3887,7 +3887,7 @@
|
|||
\n
|
||||
\n• Покращено оглядовість велосипедних вузлів
|
||||
\n
|
||||
\n• На треки тепер можна натискати, є контекстне меню з основною інформацією.
|
||||
\n• На треки тепер можна натискати, є контекстне меню з основними подробицями.
|
||||
\n
|
||||
\n• Вдосконалено алгоритми пошуку
|
||||
\n
|
||||
|
|
|
@ -429,7 +429,7 @@
|
|||
<string name="tts_language_not_supported">選定的語言未被已安裝的 Android TTS(文字轉語音)引擎支援,其將會使用預先設定的 TTS 語言。要在市集中尋找其他 TTS 引擎嗎?</string>
|
||||
<string name="tts_missing_language_data_title">資料遺失</string>
|
||||
<string name="tts_missing_language_data">要轉到商店下載所選擇的語言嗎?</string>
|
||||
<string name="gpx_option_reverse_route">反轉 GPX 方向</string>
|
||||
<string name="gpx_option_reverse_route">反轉軌跡方向</string>
|
||||
<string name="gpx_option_destination_point">使用目前的目的地</string>
|
||||
<string name="gpx_option_from_start_point">沿著整條軌跡往前</string>
|
||||
<string name="switch_to_vector_map_to_see">此位置目前有向量地圖可以使用。
|
||||
|
|
|
@ -11,6 +11,9 @@
|
|||
Thx - Hardy
|
||||
|
||||
-->
|
||||
<string name="sort_name_ascending">Name: A – Z</string>
|
||||
<string name="sort_name_descending">Name: Z – A</string>
|
||||
<string name="sort_last_modified">Last modified</string>
|
||||
<string name="release_3_8">
|
||||
• Updated "Plan a route" function: allows using different navigation types per segment and the inclusion of tracks\n\n
|
||||
• New "Appearance" menu for tracks: select color, thickness, display direction arrows, start/finish icons\n\n
|
||||
|
|
|
@ -355,12 +355,12 @@
|
|||
</style>
|
||||
|
||||
<style name="OsmandDarkTheme.NoAnimation">
|
||||
<item name="alertDialogTheme">@style/Theme.AppCompat.Dialog.Alert.NoAnimation</item>
|
||||
<item name="alertDialogTheme">@style/Theme.MaterialComponents.Dialog.Alert.NoAnimation</item>
|
||||
<item name="dialog_title_color">@color/marker_red</item>
|
||||
</style>
|
||||
|
||||
<style name="OsmandLightTheme.NoAnimation">
|
||||
<item name="alertDialogTheme">@style/Theme.AppCompat.Light.Dialog.Alert.NoAnimation</item>
|
||||
<item name="alertDialogTheme">@style/Theme.MaterialComponents.Light.Dialog.Alert.NoAnimation</item>
|
||||
</style>
|
||||
|
||||
<style name="CoordinateInputEditText" parent="Widget.AppCompat.EditText">
|
||||
|
@ -543,11 +543,17 @@
|
|||
<item name="android:textColor">@color/color_white</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.AppCompat.Dialog.Alert.NoAnimation">
|
||||
<style name="Theme.MaterialComponents.Dialog.Alert.NoAnimation">
|
||||
<item name="buttonBarNegativeButtonStyle">@style/DialogButtonStyleDark</item>
|
||||
<item name="buttonBarPositiveButtonStyle">@style/DialogButtonStyleDark</item>
|
||||
<item name="buttonBarNeutralButtonStyle">@style/DialogButtonStyleDark</item>
|
||||
<item name="android:windowAnimationStyle">@null</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.AppCompat.Light.Dialog.Alert.NoAnimation">
|
||||
<style name="Theme.MaterialComponents.Light.Dialog.Alert.NoAnimation">
|
||||
<item name="buttonBarNegativeButtonStyle">@style/DialogButtonStyleLight</item>
|
||||
<item name="buttonBarPositiveButtonStyle">@style/DialogButtonStyleLight</item>
|
||||
<item name="buttonBarNeutralButtonStyle">@style/DialogButtonStyleLight</item>
|
||||
<item name="android:windowAnimationStyle">@null</item>
|
||||
</style>
|
||||
|
||||
|
|
|
@ -55,6 +55,7 @@ import androidx.annotation.ColorRes;
|
|||
import androidx.annotation.DrawableRes;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.StringRes;
|
||||
import androidx.appcompat.content.res.AppCompatResources;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.core.content.FileProvider;
|
||||
|
@ -162,6 +163,10 @@ public class AndroidUtils {
|
|||
return src;
|
||||
}
|
||||
|
||||
public static String addColon(OsmandApplication app, @StringRes int stringRes) {
|
||||
return app.getString(R.string.ltr_or_rtl_combine_via_colon, app.getString(stringRes), "").trim();
|
||||
}
|
||||
|
||||
public static Uri getUriForFile(Context context, File file) {
|
||||
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) {
|
||||
return Uri.fromFile(file);
|
||||
|
|
|
@ -9,6 +9,7 @@ import android.widget.EditText;
|
|||
import android.widget.Toast;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
|
||||
import net.osmand.plus.GpxSelectionHelper;
|
||||
|
@ -19,6 +20,7 @@ import net.osmand.plus.SQLiteTileSource;
|
|||
import net.osmand.util.Algorithms;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
|
@ -121,33 +123,54 @@ public class FileUtils {
|
|||
return null;
|
||||
}
|
||||
|
||||
public static File renameGpxFile(OsmandApplication ctx, File source, String newName, boolean dirAllowed,
|
||||
RenameCallback callback) {
|
||||
File dest = checkRenamePossibility(ctx, source, newName, dirAllowed);
|
||||
public static File renameGpxFile(@NonNull OsmandApplication app, @NonNull File source,
|
||||
@NonNull String newName, boolean dirAllowed, @Nullable RenameCallback callback) {
|
||||
File dest = checkRenamePossibility(app, source, newName, dirAllowed);
|
||||
if (dest == null) {
|
||||
return null;
|
||||
}
|
||||
File res = renameGpxFile(app, source, dest);
|
||||
if (res != null) {
|
||||
if (callback != null) {
|
||||
callback.renamedTo(res);
|
||||
}
|
||||
} else {
|
||||
Toast.makeText(app, R.string.file_can_not_be_renamed, Toast.LENGTH_LONG).show();
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
public static File renameGpxFile(@NonNull OsmandApplication app, @NonNull File src, @NonNull File dest) {
|
||||
if (!dest.getParentFile().exists()) {
|
||||
dest.getParentFile().mkdirs();
|
||||
}
|
||||
if (source.renameTo(dest)) {
|
||||
GpxSelectionHelper helper = ctx.getSelectedGpxHelper();
|
||||
SelectedGpxFile selected = helper.getSelectedFileByPath(source.getAbsolutePath());
|
||||
ctx.getGpxDbHelper().rename(source, dest);
|
||||
if (src.renameTo(dest)) {
|
||||
GpxSelectionHelper helper = app.getSelectedGpxHelper();
|
||||
SelectedGpxFile selected = helper.getSelectedFileByPath(src.getAbsolutePath());
|
||||
app.getGpxDbHelper().rename(src, dest);
|
||||
if (selected != null && selected.getGpxFile() != null) {
|
||||
selected.getGpxFile().path = dest.getAbsolutePath();
|
||||
helper.updateSelectedGpxFile(selected);
|
||||
}
|
||||
if (callback != null) {
|
||||
callback.renamedTo(dest);
|
||||
}
|
||||
return dest;
|
||||
} else {
|
||||
Toast.makeText(ctx, R.string.file_can_not_be_renamed, Toast.LENGTH_LONG).show();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static boolean removeGpxFile(@NonNull OsmandApplication app, @NonNull File file) {
|
||||
if (file.exists()) {
|
||||
GpxSelectionHelper helper = app.getSelectedGpxHelper();
|
||||
SelectedGpxFile selected = helper.getSelectedFileByPath(file.getAbsolutePath());
|
||||
file.delete();
|
||||
app.getGpxDbHelper().remove(file);
|
||||
if (selected != null && selected.getGpxFile() != null) {
|
||||
helper.selectGpxFile(selected.getGpxFile(), false, false);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static File checkRenamePossibility(OsmandApplication ctx, File source, String newName, boolean dirAllowed) {
|
||||
if (Algorithms.isEmpty(newName)) {
|
||||
Toast.makeText(ctx, R.string.empty_filename, Toast.LENGTH_LONG).show();
|
||||
|
@ -178,6 +201,23 @@ public class FileUtils {
|
|||
return uniqueFileName;
|
||||
}
|
||||
|
||||
public static File backupFile(@NonNull OsmandApplication app, @NonNull File src) {
|
||||
if (!src.exists()) {
|
||||
return null;
|
||||
}
|
||||
File tempDir = app.getAppPath(IndexConstants.TEMP_DIR);
|
||||
if (!tempDir.exists()) {
|
||||
tempDir.mkdirs();
|
||||
}
|
||||
File dest = new File(tempDir, src.getName());
|
||||
try {
|
||||
Algorithms.fileCopy(src, dest);
|
||||
} catch (IOException e) {
|
||||
return null;
|
||||
}
|
||||
return dest;
|
||||
}
|
||||
|
||||
public interface RenameCallback {
|
||||
void renamedTo(File file);
|
||||
}
|
||||
|
|
|
@ -25,7 +25,6 @@ import org.apache.commons.logging.Log;
|
|||
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
|
@ -154,7 +153,7 @@ public class CurrentPositionHelper {
|
|||
|
||||
// single synchronized method
|
||||
private synchronized void processGeocoding(@NonNull Location loc,
|
||||
@Nullable ResultMatcher<GeocodingResult> geoCoding,
|
||||
@Nullable final ResultMatcher<GeocodingResult> geoCoding,
|
||||
boolean storeFound,
|
||||
boolean allowEmptyNames,
|
||||
@Nullable final ResultMatcher<RouteDataObject> result,
|
||||
|
@ -164,6 +163,21 @@ public class CurrentPositionHelper {
|
|||
boolean cancelPreviousSearch) {
|
||||
|
||||
if (cancelPreviousSearch && request != requestNumber.get()) {
|
||||
if (geoCoding != null) {
|
||||
app.runInUIThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
geoCoding.publish(null);
|
||||
}
|
||||
});
|
||||
} else if (result != null) {
|
||||
app.runInUIThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
result.publish(null);
|
||||
}
|
||||
});
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -172,9 +186,18 @@ public class CurrentPositionHelper {
|
|||
if (storeFound) {
|
||||
lastAskedLocation = loc;
|
||||
lastFound = gr == null || gr.isEmpty() ? null : gr.get(0).point.getRoad();
|
||||
} else if(geoCoding != null) {
|
||||
justifyResult(gr, geoCoding);
|
||||
} else if(result != null) {
|
||||
} else if (geoCoding != null) {
|
||||
try {
|
||||
justifyResult(gr, geoCoding);
|
||||
} catch (Exception e) {
|
||||
app.runInUIThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
geoCoding.publish(null);
|
||||
}
|
||||
});
|
||||
}
|
||||
} else if (result != null) {
|
||||
app.runInUIThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
|
|
|
@ -129,6 +129,7 @@ public class FavouritesDbHelper {
|
|||
}
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public Drawable getColoredIconForGroup(String groupName) {
|
||||
String groupIdName = FavoriteGroup.convertDisplayNameToGroupIdName(context, groupName);
|
||||
FavoriteGroup favoriteGroup = getGroup(groupIdName);
|
||||
|
|
|
@ -93,8 +93,8 @@ public class UiUtilities {
|
|||
}
|
||||
|
||||
public enum CustomRadioButtonType {
|
||||
LEFT,
|
||||
RIGHT,
|
||||
START,
|
||||
END,
|
||||
}
|
||||
|
||||
public UiUtilities(OsmandApplication app) {
|
||||
|
@ -459,26 +459,35 @@ public class UiUtilities {
|
|||
? R.color.text_color_primary_dark
|
||||
: R.color.text_color_primary_light);
|
||||
int radius = AndroidUtils.dpToPx(app, 4);
|
||||
boolean isLayoutRtl = AndroidUtils.isLayoutRtl(app);
|
||||
|
||||
TextView leftButtonText = buttonsView.findViewById(R.id.left_button);
|
||||
View leftButtonContainer = buttonsView.findViewById(R.id.left_button_container);
|
||||
TextView rightButtonText = buttonsView.findViewById(R.id.right_button);
|
||||
View rightButtonContainer = buttonsView.findViewById(R.id.right_button_container);
|
||||
TextView startButtonText = buttonsView.findViewById(R.id.left_button);
|
||||
View startButtonContainer = buttonsView.findViewById(R.id.left_button_container);
|
||||
TextView endButtonText = buttonsView.findViewById(R.id.right_button);
|
||||
View endButtonContainer = buttonsView.findViewById(R.id.right_button_container);
|
||||
GradientDrawable background = new GradientDrawable();
|
||||
background.setColor(UiUtilities.getColorWithAlpha(activeColor, 0.1f));
|
||||
background.setStroke(AndroidUtils.dpToPx(app, 1), UiUtilities.getColorWithAlpha(activeColor, 0.5f));
|
||||
if (buttonType == CustomRadioButtonType.LEFT) {
|
||||
background.setCornerRadii(new float[]{radius, radius, 0, 0, 0, 0, radius, radius});
|
||||
rightButtonContainer.setBackgroundColor(Color.TRANSPARENT);
|
||||
rightButtonText.setTextColor(activeColor);
|
||||
leftButtonContainer.setBackgroundDrawable(background);
|
||||
leftButtonText.setTextColor(textColor);
|
||||
if (buttonType == CustomRadioButtonType.START) {
|
||||
if (isLayoutRtl) {
|
||||
background.setCornerRadii(new float[]{0, 0, radius, radius, radius, radius, 0, 0});
|
||||
} else {
|
||||
background.setCornerRadii(new float[]{radius, radius, 0, 0, 0, 0, radius, radius});
|
||||
}
|
||||
endButtonContainer.setBackgroundColor(Color.TRANSPARENT);
|
||||
endButtonText.setTextColor(activeColor);
|
||||
startButtonContainer.setBackgroundDrawable(background);
|
||||
startButtonText.setTextColor(textColor);
|
||||
} else {
|
||||
background.setCornerRadii(new float[]{0, 0, radius, radius, radius, radius, 0, 0});
|
||||
rightButtonContainer.setBackgroundDrawable(background);
|
||||
rightButtonText.setTextColor(textColor);
|
||||
leftButtonContainer.setBackgroundColor(Color.TRANSPARENT);
|
||||
leftButtonText.setTextColor(activeColor);
|
||||
if (isLayoutRtl) {
|
||||
background.setCornerRadii(new float[]{radius, radius, 0, 0, 0, 0, radius, radius});
|
||||
} else {
|
||||
background.setCornerRadii(new float[]{0, 0, radius, radius, radius, radius, 0, 0});
|
||||
}
|
||||
endButtonContainer.setBackgroundDrawable(background);
|
||||
endButtonText.setTextColor(textColor);
|
||||
startButtonContainer.setBackgroundColor(Color.TRANSPARENT);
|
||||
startButtonText.setTextColor(activeColor);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -141,8 +141,8 @@ public class HelpActivity extends OsmandActionBarActivity implements AdapterView
|
|||
"feature_articles/map-markers.html"));
|
||||
contextMenuAdapter.addItem(createItem(R.string.travel_item, NULL_ID,
|
||||
"feature_articles/travel.html"));
|
||||
contextMenuAdapter.addItem(createItem(R.string.measure_distance_item, NULL_ID,
|
||||
"feature_articles/measure-distance.html"));
|
||||
contextMenuAdapter.addItem(createItem(R.string.plan_a_route, NULL_ID,
|
||||
"feature_articles/plan-route.html"));
|
||||
contextMenuAdapter.addItem(createItem(R.string.radius_ruler_item, NULL_ID,
|
||||
"feature_articles/ruler.html"));
|
||||
contextMenuAdapter.addItem(createItem(R.string.quick_action_item, NULL_ID,
|
||||
|
|
|
@ -525,9 +525,7 @@ public class MapActivityActions implements DialogProvider {
|
|||
TargetPointsHelper tg = mapActivity.getMyApplication().getTargetPointsHelper();
|
||||
tg.clearStartPoint(false);
|
||||
Location finishLoc = ps.get(ps.size() - 1);
|
||||
PointDescription point = new PointDescription(PointDescription.POINT_TYPE_LOCATION, result.path, "");
|
||||
point.setName(PointDescription.getSearchAddressStr(mapActivity));
|
||||
tg.navigateToPoint(new LatLon(finishLoc.getLatitude(), finishLoc.getLongitude()), false, -1, point);
|
||||
tg.navigateToPoint(new LatLon(finishLoc.getLatitude(), finishLoc.getLongitude()), false, -1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1430,22 +1430,24 @@ public class AudioVideoNotesPlugin extends OsmandPlugin {
|
|||
getMapActivity().getMyApplication().runInUIThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (!autofocus) {
|
||||
cam.takePicture(null, null, new JpegPhotoHandler());
|
||||
} else {
|
||||
cam.autoFocus(new Camera.AutoFocusCallback() {
|
||||
@Override
|
||||
public void onAutoFocus(boolean success, Camera camera) {
|
||||
try {
|
||||
cam.takePicture(null, null, new JpegPhotoHandler());
|
||||
} catch (Exception e) {
|
||||
logErr(e);
|
||||
closeRecordingMenu();
|
||||
closeCamera();
|
||||
finishRecording();
|
||||
if (cam != null) {
|
||||
if (!autofocus) {
|
||||
cam.takePicture(null, null, new JpegPhotoHandler());
|
||||
} else {
|
||||
cam.autoFocus(new Camera.AutoFocusCallback() {
|
||||
@Override
|
||||
public void onAutoFocus(boolean success, Camera camera) {
|
||||
try {
|
||||
cam.takePicture(null, null, new JpegPhotoHandler());
|
||||
} catch (Exception e) {
|
||||
logErr(e);
|
||||
closeRecordingMenu();
|
||||
closeCamera();
|
||||
finishRecording();
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}, 200);
|
||||
|
|
|
@ -88,10 +88,14 @@ public abstract class OsmandExpandableListFragment extends BaseOsmAndFragment
|
|||
|
||||
public MenuItem createMenuItem(Menu m, int id, int titleRes, int iconId, int menuItemType,
|
||||
boolean flipIconForRtl) {
|
||||
int color = isLightActionBar() ? R.color.active_buttons_and_links_text_light : R.color.active_buttons_and_links_text_dark;
|
||||
return createMenuItem(m, id, titleRes, iconId, menuItemType, false, color);
|
||||
}
|
||||
|
||||
public MenuItem createMenuItem(Menu m, int id, int titleRes, int iconId, int menuItemType,
|
||||
boolean flipIconForRtl, int iconColor) {
|
||||
OsmandApplication app = requireMyApplication();
|
||||
Drawable d = iconId == 0 ? null : app.getUIUtilities().getIcon(iconId, isLightActionBar() ?
|
||||
R.color.active_buttons_and_links_text_light :
|
||||
R.color.active_buttons_and_links_text_dark);
|
||||
Drawable d = iconId == 0 ? null : app.getUIUtilities().getIcon(iconId, iconColor);
|
||||
MenuItem menuItem = m.add(0, id, 0, titleRes);
|
||||
if (d != null) {
|
||||
if (flipIconForRtl) {
|
||||
|
|
|
@ -149,6 +149,7 @@ public class RasterMapMenu {
|
|||
@Override
|
||||
public boolean onIntegerValueChangedListener(int newValue) {
|
||||
mapTransparencyPreference.set(newValue);
|
||||
mapActivity.getMapLayers().getMapControlsLayer().updateTransparencySlider();
|
||||
mapActivity.getMapView().refreshMap();
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -5,6 +5,7 @@ import android.graphics.drawable.Drawable;
|
|||
import android.text.SpannableString;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.fragment.app.Fragment;
|
||||
|
||||
|
@ -180,8 +181,8 @@ public class FavouritePointMenuController extends MenuController {
|
|||
OsmandApplication app = mapActivity.getMyApplication();
|
||||
FavouritesDbHelper helper = app.getFavorites();
|
||||
String group = fav.getCategory();
|
||||
if (helper.getGroup(group) != null) {
|
||||
Drawable line2icon = helper.getColoredIconForGroup(group);
|
||||
Drawable line2icon = helper.getGroup(group) != null ? helper.getColoredIconForGroup(group) : null;
|
||||
if (line2icon != null) {
|
||||
GravityDrawable gravityIcon = new GravityDrawable(line2icon);
|
||||
gravityIcon.setBoundsFrom(line2icon);
|
||||
return gravityIcon;
|
||||
|
|
|
@ -25,6 +25,13 @@ public class GpxData {
|
|||
this.trkSegment = trkSegment;
|
||||
}
|
||||
|
||||
public GpxData(GPXFile gpxFile, GpxData gpxData) {
|
||||
this.gpxFile = gpxFile;
|
||||
this.rect = gpxData.rect;
|
||||
this.actionType = gpxData.actionType;
|
||||
this.trkSegment = gpxData.trkSegment;
|
||||
}
|
||||
|
||||
public GPXFile getGpxFile() {
|
||||
return gpxFile;
|
||||
}
|
||||
|
|
|
@ -250,8 +250,14 @@ public class MeasurementEditingContext {
|
|||
RoadSegmentData data = this.roadSegmentData.get(pair);
|
||||
if (data == null) {
|
||||
if (appMode != MeasurementEditingContext.DEFAULT_APP_MODE || !pair.first.lastPoint || !pair.second.firstPoint) {
|
||||
distance += MapUtils.getDistance(pair.first.getLatitude(), pair.first.getLongitude(),
|
||||
double localDist = MapUtils.getDistance(pair.first.getLatitude(), pair.first.getLongitude(),
|
||||
pair.second.getLatitude(), pair.second.getLongitude());
|
||||
if(!Double.isNaN(pair.first.ele) && !Double.isNaN(pair.second.ele) &&
|
||||
pair.first.ele != 0 && pair.second.ele != 0) {
|
||||
double h = Math.abs(pair.first.ele - pair.second.ele);
|
||||
localDist = Math.sqrt(localDist * localDist + h * h);
|
||||
}
|
||||
distance += localDist;
|
||||
}
|
||||
} else {
|
||||
distance += data.getDistance();
|
||||
|
@ -468,6 +474,10 @@ public class MeasurementEditingContext {
|
|||
List<RouteSegmentResult> segments = routeImporter.importRoute();
|
||||
List<WptPt> routePoints = gpxData.getGpxFile().getRoutePoints();
|
||||
int prevPointIndex = 0;
|
||||
if (routePoints.isEmpty() && points.size() > 1) {
|
||||
routePoints.add(points.get(0));
|
||||
routePoints.add(points.get(points.size() - 1));
|
||||
}
|
||||
for (int i = 0; i < routePoints.size() - 1; i++) {
|
||||
Pair<WptPt, WptPt> pair = new Pair<>(routePoints.get(i), routePoints.get(i + 1));
|
||||
int startIndex = pair.first.getTrkPtIndex();
|
||||
|
@ -517,47 +527,90 @@ public class MeasurementEditingContext {
|
|||
roadSegmentData.clear();
|
||||
List<WptPt> routePoints = new ArrayList<>();
|
||||
List<GpxPoint> gpxPoints = gpxApproximation.finalPoints;
|
||||
for (int i = 0; i < gpxPoints.size() - 1; i++) {
|
||||
GpxPoint rp1 = gpxPoints.get(i);
|
||||
GpxPoint rp2 = gpxPoints.get(i + 1);
|
||||
WptPt p1 = new WptPt();
|
||||
p1.lat = rp1.loc.getLatitude();
|
||||
p1.lon = rp1.loc.getLongitude();
|
||||
p1.setProfileType(mode.getStringKey());
|
||||
if (i == 0) {
|
||||
routePoints.add(p1);
|
||||
}
|
||||
WptPt p2 = new WptPt();
|
||||
p2.lat = rp2.loc.getLatitude();
|
||||
p2.lon = rp2.loc.getLongitude();
|
||||
p2.setProfileType(mode.getStringKey());
|
||||
routePoints.add(p2);
|
||||
Pair<WptPt, WptPt> pair = new Pair<>(p1, p2);
|
||||
for (int i = 0; i < gpxPoints.size(); i++) {
|
||||
GpxPoint gp1 = gpxPoints.get(i);
|
||||
boolean lastGpxPoint = isLastGpxPoint(gpxPoints, i);
|
||||
List<WptPt> points = new ArrayList<>();
|
||||
List<RouteSegmentResult> segments = new ArrayList<>();
|
||||
for (RouteSegmentResult seg : rp1.routeToTarget) {
|
||||
segments.add(seg);
|
||||
int ind = seg.getStartPointIndex();
|
||||
boolean plus = seg.isForwardDirection();
|
||||
float[] pf = seg.getObject().calculateHeightArray();
|
||||
while (ind != seg.getEndPointIndex()) {
|
||||
LatLon l = seg.getPoint(ind);
|
||||
WptPt pt = new WptPt();
|
||||
if (pf != null && pf.length > ind * 2 + 1) {
|
||||
pt.ele = pf[ind * 2 + 1];
|
||||
|
||||
}
|
||||
pt.lat = l.getLatitude();
|
||||
pt.lon = l.getLongitude();
|
||||
points.add(pt);
|
||||
ind = plus ? ind + 1 : ind - 1;
|
||||
for (int k = 0; k < gp1.routeToTarget.size(); k++) {
|
||||
RouteSegmentResult seg = gp1.routeToTarget.get(k);
|
||||
if (seg.getStartPointIndex() != seg.getEndPointIndex()) {
|
||||
segments.add(seg);
|
||||
}
|
||||
}
|
||||
roadSegmentData.put(pair, new RoadSegmentData(appMode, pair.first, pair.second, points, segments));
|
||||
for (int k = 0; k < segments.size(); k++) {
|
||||
RouteSegmentResult seg = segments.get(k);
|
||||
fillPointsArray(points, seg, lastGpxPoint && k == segments.size() - 1);
|
||||
}
|
||||
if (!points.isEmpty()) {
|
||||
WptPt wp1 = new WptPt();
|
||||
wp1.lat = gp1.loc.getLatitude();
|
||||
wp1.lon = gp1.loc.getLongitude();
|
||||
wp1.setProfileType(mode.getStringKey());
|
||||
routePoints.add(wp1);
|
||||
WptPt wp2 = new WptPt();
|
||||
if (lastGpxPoint) {
|
||||
wp2.lat = points.get(points.size() - 1).getLatitude();
|
||||
wp2.lon = points.get(points.size() - 1).getLongitude();
|
||||
routePoints.add(wp2);
|
||||
} else {
|
||||
GpxPoint gp2 = gpxPoints.get(i + 1);
|
||||
wp2.lat = gp2.loc.getLatitude();
|
||||
wp2.lon = gp2.loc.getLongitude();
|
||||
}
|
||||
wp2.setProfileType(mode.getStringKey());
|
||||
Pair<WptPt, WptPt> pair = new Pair<>(wp1, wp2);
|
||||
roadSegmentData.put(pair, new RoadSegmentData(appMode, pair.first, pair.second, points, segments));
|
||||
}
|
||||
if (lastGpxPoint) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
addPoints(routePoints);
|
||||
}
|
||||
|
||||
private boolean isLastGpxPoint(List<GpxPoint> gpxPoints, int index) {
|
||||
if (index == gpxPoints.size() - 1) {
|
||||
return true;
|
||||
} else {
|
||||
for (int i = index + 1; i < gpxPoints.size(); i++) {
|
||||
GpxPoint gp = gpxPoints.get(i);
|
||||
for (int k = 0; k < gp.routeToTarget.size(); k++) {
|
||||
RouteSegmentResult seg = gp.routeToTarget.get(k);
|
||||
if (seg.getStartPointIndex() != seg.getEndPointIndex()) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private void fillPointsArray(List<WptPt> points, RouteSegmentResult seg, boolean includeEndPoint) {
|
||||
int ind = seg.getStartPointIndex();
|
||||
boolean plus = seg.isForwardDirection();
|
||||
float[] heightArray = seg.getObject().calculateHeightArray();
|
||||
while (ind != seg.getEndPointIndex()) {
|
||||
addPointToArray(points, seg, ind, heightArray);
|
||||
ind = plus ? ind + 1 : ind - 1;
|
||||
}
|
||||
if (includeEndPoint) {
|
||||
addPointToArray(points, seg, ind, heightArray);
|
||||
}
|
||||
}
|
||||
|
||||
private void addPointToArray(List<WptPt> points, RouteSegmentResult seg, int index, float[] heightArray) {
|
||||
LatLon l = seg.getPoint(index);
|
||||
WptPt pt = new WptPt();
|
||||
if (heightArray != null && heightArray.length > index * 2 + 1) {
|
||||
pt.ele = heightArray[index * 2 + 1];
|
||||
}
|
||||
pt.lat = l.getLatitude();
|
||||
pt.lon = l.getLongitude();
|
||||
points.add(pt);
|
||||
}
|
||||
|
||||
private int findPointIndex(WptPt point, List<WptPt> points, int firstIndex) {
|
||||
double minDistance = Double.MAX_VALUE;
|
||||
int index = 0;
|
||||
|
@ -700,7 +753,7 @@ public class MeasurementEditingContext {
|
|||
return params;
|
||||
}
|
||||
|
||||
public List<WptPt> getDistinctRoutePoints() {
|
||||
public List<WptPt> getRoutePoints() {
|
||||
List<WptPt> res = new ArrayList<>();
|
||||
List<WptPt> points = new ArrayList<>(before.points);
|
||||
points.addAll(after.points);
|
||||
|
@ -710,9 +763,6 @@ public class MeasurementEditingContext {
|
|||
RoadSegmentData data = this.roadSegmentData.get(pair);
|
||||
if (data != null) {
|
||||
res.addAll(data.points);
|
||||
if (i < size - 2) {
|
||||
res.remove(res.size() - 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
return res;
|
||||
|
@ -740,10 +790,7 @@ public class MeasurementEditingContext {
|
|||
}
|
||||
locations.add(l);
|
||||
}
|
||||
pair.second.setTrkPtIndex(locations.size() - 1);
|
||||
if (i < size - 2 && !locations.isEmpty()) {
|
||||
locations.remove(locations.size() - 1);
|
||||
}
|
||||
pair.second.setTrkPtIndex(i < size - 1 ? locations.size() : locations.size() - 1);
|
||||
route.addAll(data.segments);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -136,8 +136,13 @@ public class MeasurementToolFragment extends BaseOsmAndFragment implements Route
|
|||
private boolean wasCollapseButtonVisible;
|
||||
private boolean progressBarVisible;
|
||||
private boolean pointsListOpened;
|
||||
private boolean planRouteMode = false;
|
||||
private boolean directionMode = false;
|
||||
|
||||
private static final int PLAN_ROUTE_MODE = 0x1;
|
||||
private static final int DIRECTION_MODE = 0x2;
|
||||
private static final int FOLLOW_TRACK_MODE = 0x4;
|
||||
private static final int UNDO_MODE = 0x8;
|
||||
private int modes = 0x0;
|
||||
|
||||
private boolean approximationApplied = false;
|
||||
private boolean portrait;
|
||||
private boolean nightMode;
|
||||
|
@ -166,12 +171,30 @@ public class MeasurementToolFragment extends BaseOsmAndFragment implements Route
|
|||
this.initialPoint = initialPoint;
|
||||
}
|
||||
|
||||
private void setPlanRouteMode(boolean planRouteMode) {
|
||||
this.planRouteMode = planRouteMode;
|
||||
private void setMode(int mode, boolean on) {
|
||||
int modes = this.modes;
|
||||
if (on) {
|
||||
modes |= mode;
|
||||
} else {
|
||||
modes &= ~mode;
|
||||
}
|
||||
this.modes = modes;
|
||||
}
|
||||
|
||||
private void setDirectionMode(boolean directionMode) {
|
||||
this.directionMode = directionMode;
|
||||
private boolean isPlanRouteMode() {
|
||||
return (this.modes & PLAN_ROUTE_MODE) == PLAN_ROUTE_MODE;
|
||||
}
|
||||
|
||||
private boolean isDirectionMode() {
|
||||
return (this.modes & DIRECTION_MODE) == DIRECTION_MODE;
|
||||
}
|
||||
|
||||
private boolean isFollowTrackMode() {
|
||||
return (this.modes & FOLLOW_TRACK_MODE) == FOLLOW_TRACK_MODE;
|
||||
}
|
||||
|
||||
private boolean isUndoMode() {
|
||||
return (this.modes & UNDO_MODE) == UNDO_MODE;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -441,7 +464,11 @@ public class MeasurementToolFragment extends BaseOsmAndFragment implements Route
|
|||
toolBarController.setOnSaveViewClickListener(new OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
saveChanges(FinalSaveAction.SHOW_SNACK_BAR_AND_CLOSE, false);
|
||||
if (isFollowTrackMode()) {
|
||||
startTrackNavigation();
|
||||
} else {
|
||||
saveChanges(FinalSaveAction.SHOW_SNACK_BAR_AND_CLOSE, false);
|
||||
}
|
||||
}
|
||||
});
|
||||
updateToolbar();
|
||||
|
@ -470,7 +497,7 @@ public class MeasurementToolFragment extends BaseOsmAndFragment implements Route
|
|||
});
|
||||
snapToRoadBtn.setVisibility(View.VISIBLE);
|
||||
|
||||
initMeasurementMode(gpxData);
|
||||
initMeasurementMode(gpxData, savedInstanceState == null);
|
||||
|
||||
if (savedInstanceState == null) {
|
||||
if (fileName != null) {
|
||||
|
@ -486,7 +513,7 @@ public class MeasurementToolFragment extends BaseOsmAndFragment implements Route
|
|||
}
|
||||
|
||||
public boolean isInEditMode() {
|
||||
return !planRouteMode && !editingCtx.isNewData() && !directionMode;
|
||||
return !isPlanRouteMode() && !editingCtx.isNewData() && !isDirectionMode() && !isFollowTrackMode();
|
||||
}
|
||||
|
||||
public void setFileName(String fileName) {
|
||||
|
@ -503,18 +530,20 @@ public class MeasurementToolFragment extends BaseOsmAndFragment implements Route
|
|||
updateSnapToRoadControls();
|
||||
}
|
||||
|
||||
private void initMeasurementMode(GpxData gpxData) {
|
||||
private void initMeasurementMode(GpxData gpxData, boolean addPoints) {
|
||||
MapActivity mapActivity = getMapActivity();
|
||||
if (mapActivity != null) {
|
||||
editingCtx.getCommandManager().setMeasurementLayer(mapActivity.getMapLayers().getMeasurementToolLayer());
|
||||
enterMeasurementMode();
|
||||
updateSnapToRoadControls();
|
||||
if (gpxData != null) {
|
||||
List<WptPt> points = gpxData.getGpxFile().getRoutePoints();
|
||||
if (!points.isEmpty()) {
|
||||
ApplicationMode snapToRoadAppMode = ApplicationMode.valueOfStringKey(points.get(points.size() - 1).getProfileType(), null);
|
||||
if (snapToRoadAppMode != null) {
|
||||
setAppMode(snapToRoadAppMode);
|
||||
if (gpxData != null && addPoints) {
|
||||
if (!isUndoMode()) {
|
||||
List<WptPt> points = gpxData.getGpxFile().getRoutePoints();
|
||||
if (!points.isEmpty()) {
|
||||
ApplicationMode snapToRoadAppMode = ApplicationMode.valueOfStringKey(points.get(points.size() - 1).getProfileType(), null);
|
||||
if (snapToRoadAppMode != null) {
|
||||
setAppMode(snapToRoadAppMode);
|
||||
}
|
||||
}
|
||||
}
|
||||
ActionType actionType = gpxData.getActionType();
|
||||
|
@ -524,6 +553,7 @@ public class MeasurementToolFragment extends BaseOsmAndFragment implements Route
|
|||
displaySegmentPoints();
|
||||
}
|
||||
}
|
||||
setMode(UNDO_MODE, false);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -628,7 +658,7 @@ public class MeasurementToolFragment extends BaseOsmAndFragment implements Route
|
|||
toolBarController.setTitle(getString(R.string.route_between_points));
|
||||
mapActivity.refreshMap();
|
||||
|
||||
if (editingCtx.isNewData() || editingCtx.hasRoutePoints() || editingCtx.hasRoute() || editingCtx.getPointsCount() < 2) {
|
||||
if (editingCtx.isNewData() || editingCtx.hasRoutePoints() || editingCtx.hasRoute() || editingCtx.getPointsCount() <= 2) {
|
||||
RouteBetweenPointsBottomSheetDialogFragment.showInstance(mapActivity.getSupportFragmentManager(),
|
||||
this, RouteBetweenPointsDialogType.WHOLE_ROUTE_CALCULATION,
|
||||
editingCtx.getLastCalculationMode() == CalculationMode.NEXT_SEGMENT
|
||||
|
@ -669,7 +699,7 @@ public class MeasurementToolFragment extends BaseOsmAndFragment implements Route
|
|||
switch (resultCode) {
|
||||
case SnapTrackWarningFragment.CANCEL_RESULT_CODE:
|
||||
toolBarController.setSaveViewVisible(true);
|
||||
directionMode = false;
|
||||
setMode(DIRECTION_MODE, false);
|
||||
exitApproximationMode();
|
||||
updateToolbar();
|
||||
break;
|
||||
|
@ -735,7 +765,7 @@ public class MeasurementToolFragment extends BaseOsmAndFragment implements Route
|
|||
targetPointsHelper.clearAllPoints(false);
|
||||
mapActions.enterRoutePlanningModeGivenGpx(gpx, appMode, null, null, true, true, MenuState.HEADER_ONLY);
|
||||
} else {
|
||||
directionMode = true;
|
||||
setMode(DIRECTION_MODE, true);
|
||||
enterApproximationMode(mapActivity);
|
||||
}
|
||||
}
|
||||
|
@ -749,16 +779,23 @@ public class MeasurementToolFragment extends BaseOsmAndFragment implements Route
|
|||
private void runNavigation(final GPXFile gpx, final ApplicationMode appMode) {
|
||||
MapActivity mapActivity = getMapActivity();
|
||||
if (mapActivity != null) {
|
||||
if (mapActivity.getMyApplication().getRoutingHelper().isFollowingMode()) {
|
||||
mapActivity.getMapActions().stopNavigationActionConfirm(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
MapActivity mapActivity = getMapActivity();
|
||||
if (mapActivity != null) {
|
||||
mapActivity.getMapActions().enterRoutePlanningModeGivenGpx(gpx, appMode, null, null, true, true, MenuState.HEADER_ONLY);
|
||||
OsmandApplication app = mapActivity.getMyApplication();
|
||||
if (app.getRoutingHelper().isFollowingMode()) {
|
||||
if (isFollowTrackMode()) {
|
||||
mapActivity.getMapActions().setGPXRouteParams(gpx);
|
||||
app.getTargetPointsHelper().updateRouteAndRefresh(true);
|
||||
app.getRoutingHelper().recalculateRouteDueToSettingsChange();
|
||||
} else {
|
||||
mapActivity.getMapActions().stopNavigationActionConfirm(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
MapActivity mapActivity = getMapActivity();
|
||||
if (mapActivity != null) {
|
||||
mapActivity.getMapActions().enterRoutePlanningModeGivenGpx(gpx, appMode, null, null, true, true, MenuState.HEADER_ONLY);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
} else {
|
||||
mapActivity.getMapActions().stopNavigationWithoutConfirm();
|
||||
mapActivity.getMapActions().enterRoutePlanningModeGivenGpx(gpx, appMode, null, null, true, true, MenuState.HEADER_ONLY);
|
||||
|
@ -768,7 +805,11 @@ public class MeasurementToolFragment extends BaseOsmAndFragment implements Route
|
|||
|
||||
@Override
|
||||
public void saveChangesOnClick() {
|
||||
saveChanges(FinalSaveAction.SHOW_TOAST, true);
|
||||
if (isFollowTrackMode()) {
|
||||
startTrackNavigation();
|
||||
} else {
|
||||
saveChanges(FinalSaveAction.SHOW_TOAST, true);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -1010,20 +1051,29 @@ public class MeasurementToolFragment extends BaseOsmAndFragment implements Route
|
|||
}
|
||||
|
||||
public void addNewGpxData(GPXFile gpxFile) {
|
||||
QuadRect rect = gpxFile.getRect();
|
||||
TrkSegment segment = gpxFile.getNonEmptyTrkSegment();
|
||||
ActionType actionType = segment == null ? ActionType.ADD_ROUTE_POINTS : ActionType.EDIT_SEGMENT;
|
||||
GpxData gpxData = new GpxData(gpxFile, rect, actionType, segment);
|
||||
editingCtx.setGpxData(gpxData);
|
||||
initMeasurementMode(gpxData);
|
||||
QuadRect qr = gpxData.getRect();
|
||||
GpxData gpxData = setupGpxData(gpxFile);
|
||||
initMeasurementMode(gpxData, true);
|
||||
MapActivity mapActivity = getMapActivity();
|
||||
if (mapActivity != null) {
|
||||
if (mapActivity != null && gpxData != null) {
|
||||
QuadRect qr = gpxData.getRect();
|
||||
mapActivity.getMapView().fitRectToMap(qr.left, qr.right, qr.top, qr.bottom,
|
||||
(int) qr.width(), (int) qr.height(), 0);
|
||||
}
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private GpxData setupGpxData(@Nullable GPXFile gpxFile) {
|
||||
GpxData gpxData = null;
|
||||
if (gpxFile != null) {
|
||||
QuadRect rect = gpxFile.getRect();
|
||||
TrkSegment segment = gpxFile.getNonEmptyTrkSegment();
|
||||
ActionType actionType = segment == null ? ActionType.ADD_ROUTE_POINTS : ActionType.EDIT_SEGMENT;
|
||||
gpxData = new GpxData(gpxFile, rect, actionType, segment);
|
||||
}
|
||||
editingCtx.setGpxData(gpxData);
|
||||
return gpxData;
|
||||
}
|
||||
|
||||
private void removePoint(MeasurementToolLayer measurementLayer, int position) {
|
||||
if (measurementLayer != null) {
|
||||
editingCtx.getCommandManager().execute(new RemovePointCommand(measurementLayer, position));
|
||||
|
@ -1156,7 +1206,9 @@ public class MeasurementToolFragment extends BaseOsmAndFragment implements Route
|
|||
if (gpx != null) {
|
||||
List<WptPt> points = gpx.getRoutePoints();
|
||||
if (measurementLayer != null) {
|
||||
editingCtx.addPoints(points);
|
||||
if (!isUndoMode()) {
|
||||
editingCtx.addPoints(points);
|
||||
}
|
||||
adapter.notifyDataSetChanged();
|
||||
updateDistancePointsText();
|
||||
}
|
||||
|
@ -1166,7 +1218,9 @@ public class MeasurementToolFragment extends BaseOsmAndFragment implements Route
|
|||
private void displaySegmentPoints() {
|
||||
MeasurementToolLayer measurementLayer = getMeasurementLayer();
|
||||
if (measurementLayer != null) {
|
||||
editingCtx.addPoints();
|
||||
if (!isUndoMode()) {
|
||||
editingCtx.addPoints();
|
||||
}
|
||||
adapter.notifyDataSetChanged();
|
||||
updateDistancePointsText();
|
||||
}
|
||||
|
@ -1494,7 +1548,8 @@ public class MeasurementToolFragment extends BaseOsmAndFragment implements Route
|
|||
new AsyncTask<Void, Void, Exception>() {
|
||||
|
||||
private ProgressDialog progressDialog;
|
||||
private File toSave;
|
||||
private File backupFile;
|
||||
private File outFile;
|
||||
private GPXFile savedGpxFile;
|
||||
|
||||
@Override
|
||||
|
@ -1519,14 +1574,14 @@ public class MeasurementToolFragment extends BaseOsmAndFragment implements Route
|
|||
TrkSegment before = editingCtx.getBeforeTrkSegmentLine();
|
||||
TrkSegment after = editingCtx.getAfterTrkSegmentLine();
|
||||
if (gpxFile == null) {
|
||||
toSave = new File(dir, fileName);
|
||||
outFile = new File(dir, fileName);
|
||||
String trackName = fileName.substring(0, fileName.length() - GPX_FILE_EXT.length());
|
||||
GPXFile gpx = new GPXFile(Version.getFullVersion(app));
|
||||
if (measurementLayer != null) {
|
||||
if (saveType == SaveType.LINE) {
|
||||
TrkSegment segment = new TrkSegment();
|
||||
if (editingCtx.hasRoute()) {
|
||||
segment.points.addAll(editingCtx.getDistinctRoutePoints());
|
||||
segment.points.addAll(editingCtx.getRoutePoints());
|
||||
} else {
|
||||
segment.points.addAll(before.points);
|
||||
segment.points.addAll(after.points);
|
||||
|
@ -1545,23 +1600,24 @@ public class MeasurementToolFragment extends BaseOsmAndFragment implements Route
|
|||
gpx.addRoutePoints(points);
|
||||
}
|
||||
}
|
||||
Exception res = GPXUtilities.writeGpxFile(toSave, gpx);
|
||||
gpx.path = toSave.getAbsolutePath();
|
||||
Exception res = GPXUtilities.writeGpxFile(outFile, gpx);
|
||||
gpx.path = outFile.getAbsolutePath();
|
||||
savedGpxFile = gpx;
|
||||
if (showOnMap) {
|
||||
app.getSelectedGpxHelper().selectGpxFile(gpx, true, false);
|
||||
showGpxOnMap(app, gpx, true);
|
||||
}
|
||||
return res;
|
||||
} else {
|
||||
GPXFile gpx = gpxFile;
|
||||
toSave = new File(gpx.path);
|
||||
String trackName = Algorithms.getFileNameWithoutExtension(toSave);
|
||||
outFile = new File(gpx.path);
|
||||
backupFile = FileUtils.backupFile(app, outFile);
|
||||
String trackName = Algorithms.getFileNameWithoutExtension(outFile);
|
||||
if (measurementLayer != null) {
|
||||
if (planRouteMode) {
|
||||
if (isPlanRouteMode()) {
|
||||
if (saveType == SaveType.LINE) {
|
||||
TrkSegment segment = new TrkSegment();
|
||||
if (editingCtx.hasRoute()) {
|
||||
segment.points.addAll(editingCtx.getDistinctRoutePoints());
|
||||
segment.points.addAll(editingCtx.getRoutePoints());
|
||||
} else {
|
||||
segment.points.addAll(before.points);
|
||||
segment.points.addAll(after.points);
|
||||
|
@ -1619,21 +1675,25 @@ public class MeasurementToolFragment extends BaseOsmAndFragment implements Route
|
|||
}
|
||||
Exception res = null;
|
||||
if (!gpx.showCurrentTrack) {
|
||||
res = GPXUtilities.writeGpxFile(toSave, gpx);
|
||||
res = GPXUtilities.writeGpxFile(outFile, gpx);
|
||||
}
|
||||
savedGpxFile = gpx;
|
||||
if (showOnMap) {
|
||||
SelectedGpxFile sf = app.getSelectedGpxHelper().selectGpxFile(gpx, true, false);
|
||||
if (sf != null) {
|
||||
if (actionType == ActionType.ADD_SEGMENT || actionType == ActionType.EDIT_SEGMENT) {
|
||||
sf.processPoints(getMyApplication());
|
||||
}
|
||||
}
|
||||
showGpxOnMap(app, gpx, false);
|
||||
}
|
||||
return res;
|
||||
}
|
||||
}
|
||||
|
||||
private void showGpxOnMap(OsmandApplication app, GPXFile gpx, boolean isNewGpx) {
|
||||
SelectedGpxFile sf = app.getSelectedGpxHelper().selectGpxFile(gpx, true, false);
|
||||
if (sf != null && !isNewGpx) {
|
||||
if (actionType == ActionType.ADD_SEGMENT || actionType == ActionType.EDIT_SEGMENT) {
|
||||
sf.processPoints(getMyApplication());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPostExecute(Exception warning) {
|
||||
onGpxSaved(warning);
|
||||
|
@ -1649,7 +1709,6 @@ public class MeasurementToolFragment extends BaseOsmAndFragment implements Route
|
|||
}
|
||||
mapActivity.refreshMap();
|
||||
if (warning == null) {
|
||||
editingCtx.setChangesSaved();
|
||||
if (editingCtx.isNewData() && savedGpxFile != null) {
|
||||
QuadRect rect = savedGpxFile.getRect();
|
||||
TrkSegment segment = savedGpxFile.getNonEmptyTrkSegment();
|
||||
|
@ -1658,30 +1717,66 @@ public class MeasurementToolFragment extends BaseOsmAndFragment implements Route
|
|||
updateToolbar();
|
||||
}
|
||||
if (isInEditMode()) {
|
||||
editingCtx.setChangesSaved();
|
||||
dismiss(mapActivity);
|
||||
} else {
|
||||
switch (finalSaveAction) {
|
||||
case SHOW_SNACK_BAR_AND_CLOSE:
|
||||
final WeakReference<MapActivity> mapActivityRef = new WeakReference<>(mapActivity);
|
||||
snackbar = Snackbar.make(mapActivity.getLayout(),
|
||||
MessageFormat.format(getString(R.string.gpx_saved_sucessfully), toSave.getName()),
|
||||
MessageFormat.format(getString(R.string.gpx_saved_sucessfully), outFile.getName()),
|
||||
Snackbar.LENGTH_LONG)
|
||||
.setAction(R.string.shared_string_rename, getRenameListener(mapActivityRef));
|
||||
.setAction(R.string.shared_string_undo, new OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
MapActivity mapActivity = mapActivityRef.get();
|
||||
if (mapActivity != null) {
|
||||
if (outFile != null) {
|
||||
OsmandApplication app = mapActivity.getMyApplication();
|
||||
FileUtils.removeGpxFile(app, outFile);
|
||||
if (backupFile != null) {
|
||||
FileUtils.renameGpxFile(app, backupFile, outFile);
|
||||
GPXFile gpx = GPXUtilities.loadGPXFile(outFile);
|
||||
setupGpxData(gpx);
|
||||
if (showOnMap) {
|
||||
showGpxOnMap(app, gpx, false);
|
||||
}
|
||||
} else {
|
||||
setupGpxData(null);
|
||||
}
|
||||
}
|
||||
setMode(UNDO_MODE, true);
|
||||
MeasurementToolFragment.showInstance(mapActivity.getSupportFragmentManager(),
|
||||
editingCtx, modes);
|
||||
}
|
||||
}
|
||||
})
|
||||
.addCallback(new Snackbar.Callback() {
|
||||
@Override
|
||||
public void onDismissed(Snackbar transientBottomBar, int event) {
|
||||
if (event != DISMISS_EVENT_ACTION) {
|
||||
editingCtx.setChangesSaved();
|
||||
}
|
||||
super.onDismissed(transientBottomBar, event);
|
||||
}
|
||||
});
|
||||
snackbar.getView().<TextView>findViewById(com.google.android.material.R.id.snackbar_action)
|
||||
.setAllCaps(false);
|
||||
UiUtilities.setupSnackbar(snackbar, nightMode);
|
||||
snackbar.show();
|
||||
dismiss(mapActivity);
|
||||
dismiss(mapActivity, false);
|
||||
break;
|
||||
case SHOW_IS_SAVED_FRAGMENT:
|
||||
editingCtx.setChangesSaved();
|
||||
SavedTrackBottomSheetDialogFragment.showInstance(mapActivity.getSupportFragmentManager(),
|
||||
toSave.getName());
|
||||
outFile.getAbsolutePath());
|
||||
dismiss(mapActivity);
|
||||
break;
|
||||
case SHOW_TOAST:
|
||||
editingCtx.setChangesSaved();
|
||||
if (!savedGpxFile.showCurrentTrack) {
|
||||
Toast.makeText(mapActivity,
|
||||
MessageFormat.format(getString(R.string.gpx_saved_sucessfully), toSave.getAbsolutePath()),
|
||||
MessageFormat.format(getString(R.string.gpx_saved_sucessfully), outFile.getAbsolutePath()),
|
||||
Toast.LENGTH_LONG).show();
|
||||
}
|
||||
}
|
||||
|
@ -1690,22 +1785,6 @@ public class MeasurementToolFragment extends BaseOsmAndFragment implements Route
|
|||
Toast.makeText(mapActivity, warning.getMessage(), Toast.LENGTH_LONG).show();
|
||||
}
|
||||
}
|
||||
|
||||
private OnClickListener getRenameListener(final WeakReference<MapActivity> mapActivityRef) {
|
||||
return new OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
MapActivity mapActivity = mapActivityRef.get();
|
||||
String parentFolder = toSave.getParentFile().getName();
|
||||
if (GPX_INDEX_DIR.equals(parentFolder + File.separator)) {
|
||||
parentFolder = null;
|
||||
}
|
||||
SaveAsNewTrackBottomSheetDialogFragment.showInstance(
|
||||
mapActivity.getSupportFragmentManager(), null, parentFolder,
|
||||
AndroidUtils.trimExtension(toSave.getName()), false, showOnMap);
|
||||
}
|
||||
};
|
||||
}
|
||||
}.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
||||
}
|
||||
|
||||
|
@ -1843,7 +1922,15 @@ public class MeasurementToolFragment extends BaseOsmAndFragment implements Route
|
|||
cancelAddPointBeforeOrAfterMode();
|
||||
return;
|
||||
}
|
||||
showQuitDialog(hidePointsListFirst);
|
||||
if (isFollowTrackMode()) {
|
||||
MapActivity mapActivity = getMapActivity();
|
||||
if (mapActivity != null) {
|
||||
mapActivity.getMapLayers().getMapControlsLayer().showRouteInfoControlDialog();
|
||||
dismiss(mapActivity);
|
||||
}
|
||||
} else {
|
||||
showQuitDialog(hidePointsListFirst);
|
||||
}
|
||||
}
|
||||
|
||||
private void showQuitDialog(boolean hidePointsListFirst) {
|
||||
|
@ -1862,9 +1949,15 @@ public class MeasurementToolFragment extends BaseOsmAndFragment implements Route
|
|||
}
|
||||
}
|
||||
|
||||
private void dismiss(MapActivity mapActivity) {
|
||||
private void dismiss(@NonNull MapActivity mapActivity) {
|
||||
dismiss(mapActivity, true);
|
||||
}
|
||||
|
||||
private void dismiss(@NonNull MapActivity mapActivity, boolean clearContext) {
|
||||
try {
|
||||
editingCtx.clearSegments();
|
||||
if (clearContext) {
|
||||
editingCtx.clearSegments();
|
||||
}
|
||||
if (pointsListOpened) {
|
||||
hidePointsList();
|
||||
}
|
||||
|
@ -1890,30 +1983,29 @@ public class MeasurementToolFragment extends BaseOsmAndFragment implements Route
|
|||
public static boolean showInstance(FragmentManager fragmentManager, LatLon initialPoint) {
|
||||
MeasurementToolFragment fragment = new MeasurementToolFragment();
|
||||
fragment.setInitialPoint(initialPoint);
|
||||
fragment.setPlanRouteMode(true);
|
||||
fragment.setMode(PLAN_ROUTE_MODE, true);
|
||||
return showFragment(fragment, fragmentManager);
|
||||
}
|
||||
|
||||
public static boolean showInstance(FragmentManager fragmentManager, String fileName) {
|
||||
MeasurementToolFragment fragment = new MeasurementToolFragment();
|
||||
fragment.setFileName(fileName);
|
||||
fragment.setPlanRouteMode(true);
|
||||
fragment.setMode(PLAN_ROUTE_MODE, true);
|
||||
return showFragment(fragment, fragmentManager);
|
||||
}
|
||||
|
||||
public static boolean showInstance(FragmentManager fragmentManager, GPXFile gpxFile) {
|
||||
MeasurementToolFragment fragment = new MeasurementToolFragment();
|
||||
fragment.addNewGpxData(gpxFile);
|
||||
fragment.setPlanRouteMode(true);
|
||||
fragment.setMode(PLAN_ROUTE_MODE, true);
|
||||
return showFragment(fragment, fragmentManager);
|
||||
}
|
||||
|
||||
public static boolean showInstance(FragmentManager fragmentManager, MeasurementEditingContext editingCtx,
|
||||
boolean planRoute, boolean directionMode) {
|
||||
boolean followTrackMode) {
|
||||
MeasurementToolFragment fragment = new MeasurementToolFragment();
|
||||
fragment.setEditingCtx(editingCtx);
|
||||
fragment.setPlanRouteMode(planRoute);
|
||||
fragment.setDirectionMode(directionMode);
|
||||
fragment.setMode(FOLLOW_TRACK_MODE, followTrackMode);
|
||||
return showFragment(fragment, fragmentManager);
|
||||
}
|
||||
|
||||
|
@ -1925,7 +2017,14 @@ public class MeasurementToolFragment extends BaseOsmAndFragment implements Route
|
|||
|
||||
public static boolean showInstance(FragmentManager fragmentManager) {
|
||||
MeasurementToolFragment fragment = new MeasurementToolFragment();
|
||||
fragment.setPlanRouteMode(true);
|
||||
fragment.setMode(PLAN_ROUTE_MODE, true);
|
||||
return showFragment(fragment, fragmentManager);
|
||||
}
|
||||
|
||||
private static boolean showInstance(FragmentManager fragmentManager, MeasurementEditingContext editingCtx, int modes) {
|
||||
MeasurementToolFragment fragment = new MeasurementToolFragment();
|
||||
fragment.setEditingCtx(editingCtx);
|
||||
fragment.modes = modes;
|
||||
return showFragment(fragment, fragmentManager);
|
||||
}
|
||||
|
||||
|
@ -2010,23 +2109,27 @@ public class MeasurementToolFragment extends BaseOsmAndFragment implements Route
|
|||
exitApproximationMode();
|
||||
doAddOrMovePointCommonStuff();
|
||||
updateSnapToRoadControls();
|
||||
if (directionMode) {
|
||||
directionMode = false;
|
||||
MapActivity mapActivity = getMapActivity();
|
||||
if (mapActivity != null) {
|
||||
if (editingCtx.hasRoute()) {
|
||||
String trackName = getSuggestedFileName();
|
||||
GPXFile gpx = editingCtx.exportRouteAsGpx(trackName);
|
||||
if (gpx != null) {
|
||||
ApplicationMode appMode = editingCtx.getAppMode();
|
||||
dismiss(mapActivity);
|
||||
runNavigation(gpx, appMode);
|
||||
} else {
|
||||
Toast.makeText(mapActivity, getString(R.string.error_occurred_saving_gpx), Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
if (isDirectionMode() || isFollowTrackMode()) {
|
||||
setMode(DIRECTION_MODE, false);
|
||||
startTrackNavigation();
|
||||
}
|
||||
}
|
||||
|
||||
private void startTrackNavigation() {
|
||||
MapActivity mapActivity = getMapActivity();
|
||||
if (mapActivity != null) {
|
||||
if (editingCtx.hasRoute()) {
|
||||
String trackName = getSuggestedFileName();
|
||||
GPXFile gpx = editingCtx.exportRouteAsGpx(trackName);
|
||||
if (gpx != null) {
|
||||
ApplicationMode appMode = editingCtx.getAppMode();
|
||||
dismiss(mapActivity);
|
||||
runNavigation(gpx, appMode);
|
||||
} else {
|
||||
Toast.makeText(mapActivity, getString(R.string.error_occurred_saving_gpx), Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
} else {
|
||||
Toast.makeText(mapActivity, getString(R.string.error_occurred_saving_gpx), Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2035,7 +2138,7 @@ public class MeasurementToolFragment extends BaseOsmAndFragment implements Route
|
|||
public void onCancelGpxApproximation() {
|
||||
editingCtx.getCommandManager().undo();
|
||||
exitApproximationMode();
|
||||
directionMode = false;
|
||||
setMode(DIRECTION_MODE, false);
|
||||
updateSnapToRoadControls();
|
||||
updateToolbar();
|
||||
}
|
||||
|
|
|
@ -27,8 +27,8 @@ import org.apache.commons.logging.Log;
|
|||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import static net.osmand.plus.UiUtilities.CustomRadioButtonType.LEFT;
|
||||
import static net.osmand.plus.UiUtilities.CustomRadioButtonType.RIGHT;
|
||||
import static net.osmand.plus.UiUtilities.CustomRadioButtonType.START;
|
||||
import static net.osmand.plus.UiUtilities.CustomRadioButtonType.END;
|
||||
import static net.osmand.plus.measurementtool.MeasurementEditingContext.DEFAULT_APP_MODE;
|
||||
import static net.osmand.plus.measurementtool.SelectFileBottomSheet.BOTTOM_SHEET_HEIGHT_DP;
|
||||
|
||||
|
@ -136,7 +136,7 @@ public class RouteBetweenPointsBottomSheetDialogFragment extends BottomSheetBeha
|
|||
|
||||
public void updateModeButtons() {
|
||||
UiUtilities.updateCustomRadioButtons(getMyApplication(), customRadioButton, nightMode,
|
||||
defaultDialogMode == RouteBetweenPointsDialogMode.SINGLE ? LEFT : RIGHT);
|
||||
defaultDialogMode == RouteBetweenPointsDialogMode.SINGLE ? START : END);
|
||||
btnDescription.setText(getButtonDescr(defaultDialogMode));
|
||||
}
|
||||
|
||||
|
|
|
@ -88,8 +88,7 @@ public class SaveAsNewTrackBottomSheetDialogFragment extends MenuBottomSheetDial
|
|||
R.layout.track_name_edit_text, null);
|
||||
nameTextBox = editNameView.findViewById(R.id.name_text_box);
|
||||
nameTextBox.setBoxBackgroundColorResource(highlightColorId);
|
||||
nameTextBox.setHint(app.getString(R.string.ltr_or_rtl_combine_via_colon,
|
||||
app.getString(R.string.shared_string_file_name), "").trim());
|
||||
nameTextBox.setHint(AndroidUtils.addColon(app, R.string.shared_string_file_name));
|
||||
ColorStateList colorStateList = ColorStateList.valueOf(ContextCompat
|
||||
.getColor(app, nightMode ? R.color.text_color_secondary_dark : R.color.text_color_secondary_light));
|
||||
nameTextBox.setDefaultHintTextColor(colorStateList);
|
||||
|
|
|
@ -1,21 +1,26 @@
|
|||
package net.osmand.plus.measurementtool;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
import androidx.fragment.app.FragmentManager;
|
||||
|
||||
import net.osmand.plus.OsmandApplication;
|
||||
import net.osmand.plus.R;
|
||||
import net.osmand.plus.UiUtilities;
|
||||
import net.osmand.plus.activities.MapActivity;
|
||||
import net.osmand.plus.activities.TrackActivity;
|
||||
import net.osmand.plus.base.MenuBottomSheetDialogFragment;
|
||||
import net.osmand.plus.base.bottomsheetmenu.BottomSheetItemButton;
|
||||
import net.osmand.plus.base.bottomsheetmenu.SimpleBottomSheetItem;
|
||||
import net.osmand.plus.base.bottomsheetmenu.simpleitems.DividerItem;
|
||||
import net.osmand.plus.base.bottomsheetmenu.simpleitems.DividerSpaceItem;
|
||||
import net.osmand.util.Algorithms;
|
||||
|
||||
public class SavedTrackBottomSheetDialogFragment extends MenuBottomSheetDialogFragment {
|
||||
|
||||
|
@ -34,7 +39,7 @@ public class SavedTrackBottomSheetDialogFragment extends MenuBottomSheetDialogFr
|
|||
View mainView = View.inflate(UiUtilities.getThemedContext(getMyApplication(), nightMode),
|
||||
R.layout.measure_track_is_saved, null);
|
||||
TextView fileNameView = mainView.findViewById(R.id.file_name);
|
||||
fileNameView.setText(fileName);
|
||||
fileNameView.setText(Algorithms.getFileWithoutDirs(fileName));
|
||||
items.add(new SimpleBottomSheetItem.Builder()
|
||||
.setCustomView(mainView)
|
||||
.create());
|
||||
|
@ -51,10 +56,13 @@ public class SavedTrackBottomSheetDialogFragment extends MenuBottomSheetDialogFr
|
|||
.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
Activity activity = getActivity();
|
||||
if (activity instanceof MapActivity) {
|
||||
MeasurementToolFragment.showInstance(((MapActivity) activity).getSupportFragmentManager(),
|
||||
fileName);
|
||||
FragmentActivity activity = getActivity();
|
||||
if (activity != null && !Algorithms.isEmpty(fileName)) {
|
||||
OsmandApplication app = ((OsmandApplication) activity.getApplication());
|
||||
Intent newIntent = new Intent(activity, app.getAppCustomization().getTrackActivity());
|
||||
newIntent.putExtra(TrackActivity.TRACK_FILE_NAME, fileName);
|
||||
newIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
|
||||
activity.startActivity(newIntent);
|
||||
}
|
||||
dismiss();
|
||||
}
|
||||
|
|
|
@ -1,8 +1,12 @@
|
|||
package net.osmand.plus.measurementtool;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.os.Bundle;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.StringRes;
|
||||
|
@ -22,20 +26,24 @@ import net.osmand.plus.helpers.GpxTrackAdapter.OnItemClickListener;
|
|||
import net.osmand.plus.helpers.GpxUiHelper.GPXInfo;
|
||||
import net.osmand.plus.mapcontextmenu.other.HorizontalSelectionAdapter;
|
||||
import net.osmand.plus.mapcontextmenu.other.HorizontalSelectionAdapter.HorizontalSelectionAdapterListener;
|
||||
import net.osmand.plus.widgets.IconPopupMenu;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import static net.osmand.plus.helpers.GpxUiHelper.getSortedGPXFilesInfo;
|
||||
import static net.osmand.plus.settings.backend.OsmandSettings.*;
|
||||
import static net.osmand.util.Algorithms.collectDirs;
|
||||
|
||||
public class SelectFileBottomSheet extends BottomSheetBehaviourDialogFragment {
|
||||
|
||||
enum Mode {
|
||||
OPEN_TRACK(R.string.plan_route_open_existing_track, R.string.plan_route_select_track_file_for_open),
|
||||
OPEN_TRACK(R.string.shared_string_gpx_tracks, R.string.sort_by),
|
||||
ADD_TO_TRACK(R.string.add_to_a_track, R.string.route_between_points_add_track_desc);
|
||||
|
||||
int title;
|
||||
|
@ -65,6 +73,7 @@ public class SelectFileBottomSheet extends BottomSheetBehaviourDialogFragment {
|
|||
private Mode fragmentMode;
|
||||
private String selectedFolder;
|
||||
private String allFilesFolder;
|
||||
TracksSortByMode tracksSortBy = TracksSortByMode.BY_DATE;
|
||||
|
||||
public void setFragmentMode(Mode fragmentMode) {
|
||||
this.fragmentMode = fragmentMode;
|
||||
|
@ -75,18 +84,54 @@ public class SelectFileBottomSheet extends BottomSheetBehaviourDialogFragment {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void createMenuItems(Bundle savedInstanceState) {
|
||||
public void createMenuItems(final Bundle savedInstanceState) {
|
||||
final int themeRes = nightMode ? R.style.OsmandDarkTheme : R.style.OsmandLightTheme;
|
||||
Context context = requireContext();
|
||||
OsmandApplication app = requiredMyApplication();
|
||||
final OsmandApplication app = requiredMyApplication();
|
||||
mainView = View.inflate(new ContextThemeWrapper(context, themeRes),
|
||||
R.layout.bottom_sheet_plan_route_select_file, null);
|
||||
TextView titleView = mainView.findViewById(R.id.title);
|
||||
titleView.setText(fragmentMode.title);
|
||||
TextView descriptionView = mainView.findViewById(R.id.description);
|
||||
final TextView descriptionView = mainView.findViewById(R.id.description);
|
||||
descriptionView.setText(fragmentMode.description);
|
||||
final RecyclerView filesRecyclerView = mainView.findViewById(R.id.gpx_track_list);
|
||||
filesRecyclerView.setLayoutManager(new LinearLayoutManager(context));
|
||||
if (fragmentMode == Mode.OPEN_TRACK) {
|
||||
titleView.setText(AndroidUtils.addColon(app, fragmentMode.title));
|
||||
updateDescription(descriptionView);
|
||||
final ImageButton sortButton = mainView.findViewById(R.id.sort_button);
|
||||
Drawable background = app.getUIUtilities().getIcon(R.drawable.bg_dash_line_dark,
|
||||
nightMode
|
||||
? R.color.inactive_buttons_and_links_bg_dark
|
||||
: R.color.inactive_buttons_and_links_bg_light);
|
||||
AndroidUtils.setBackground(sortButton, background);
|
||||
sortButton.setImageResource(tracksSortBy.getIconId());
|
||||
sortButton.setVisibility(View.VISIBLE);
|
||||
sortButton.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
IconPopupMenu popup = new IconPopupMenu(v.getContext(), v);
|
||||
final Menu menu = popup.getMenu();
|
||||
MenuItem mi;
|
||||
for (final TracksSortByMode mode : TracksSortByMode.values()) {
|
||||
mi = createMenuItem(app, menu, mode.getNameId(), mode.getNameId(), mode.getIconId(),
|
||||
MenuItem.SHOW_AS_ACTION_ALWAYS, false, R.color.icon_color_default_light);
|
||||
mi.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
|
||||
@Override
|
||||
public boolean onMenuItemClick(MenuItem item) {
|
||||
tracksSortBy = mode;
|
||||
sortButton.setImageResource(mode.getIconId());
|
||||
updateDescription(descriptionView);
|
||||
sortFileList();
|
||||
adapter.notifyDataSetChanged();
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
popup.show();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
List<File> dirs = new ArrayList<>();
|
||||
final File gpxDir = app.getAppPath(IndexConstants.GPX_INDEX_DIR);
|
||||
|
@ -149,21 +194,66 @@ public class SelectFileBottomSheet extends BottomSheetBehaviourDialogFragment {
|
|||
@Override
|
||||
public void onItemSelected(String item) {
|
||||
selectedFolder = item;
|
||||
updateFileList(item, folderAdapter);
|
||||
updateFileList(folderAdapter);
|
||||
}
|
||||
});
|
||||
items.add(new BaseBottomSheetItem.Builder().setCustomView(mainView).create());
|
||||
updateFileList(selectedFolder, folderAdapter);
|
||||
updateFileList(folderAdapter);
|
||||
}
|
||||
|
||||
private void updateFileList(String folderName, HorizontalSelectionAdapter folderAdapter) {
|
||||
List<GPXInfo> gpxInfoList = gpxInfoMap.get(folderName);
|
||||
private void updateDescription(TextView descriptionView) {
|
||||
String string = getString(tracksSortBy.getNameId());
|
||||
descriptionView.setText(String.format(getString(R.string.ltr_or_rtl_combine_via_space),
|
||||
getString(fragmentMode.description),
|
||||
Character.toLowerCase(string.charAt(0)) + string.substring(1)));
|
||||
}
|
||||
|
||||
public MenuItem createMenuItem(OsmandApplication app, Menu m, int id, int titleRes, int iconId, int menuItemType,
|
||||
boolean flipIconForRtl, int iconColor) {
|
||||
Drawable d = iconId == 0 ? null : app.getUIUtilities().getIcon(iconId, iconColor);
|
||||
MenuItem menuItem = m.add(0, id, 0, titleRes);
|
||||
if (d != null) {
|
||||
if (flipIconForRtl) {
|
||||
d = AndroidUtils.getDrawableForDirection(app, d);
|
||||
}
|
||||
menuItem.setIcon(d);
|
||||
}
|
||||
return menuItem;
|
||||
}
|
||||
|
||||
private void updateFileList(HorizontalSelectionAdapter folderAdapter) {
|
||||
sortFileList();
|
||||
adapter.setShowFolderName(showFoldersName());
|
||||
adapter.setGpxInfoList(gpxInfoList != null ? gpxInfoList : new ArrayList<GPXInfo>());
|
||||
adapter.notifyDataSetChanged();
|
||||
folderAdapter.notifyDataSetChanged();
|
||||
}
|
||||
|
||||
private void sortFileList() {
|
||||
List<GPXInfo> gpxInfoList = gpxInfoMap.get(selectedFolder);
|
||||
sortSelected(gpxInfoList);
|
||||
adapter.setGpxInfoList(gpxInfoList != null ? gpxInfoList : new ArrayList<GPXInfo>());
|
||||
}
|
||||
|
||||
public void sortSelected(List<GPXInfo> gpxInfoList) {
|
||||
Collections.sort(gpxInfoList, new Comparator<GPXInfo>() {
|
||||
@Override
|
||||
public int compare(GPXInfo i1, GPXInfo i2) {
|
||||
if (tracksSortBy == TracksSortByMode.BY_NAME_ASCENDING) {
|
||||
return i1.getFileName().toLowerCase().compareTo(i2.getFileName().toLowerCase());
|
||||
} else if (tracksSortBy == TracksSortByMode.BY_NAME_DESCENDING) {
|
||||
return -i1.getFileName().toLowerCase().compareTo(i2.getFileName().toLowerCase());
|
||||
} else {
|
||||
long time1 = i1.getLastModified();
|
||||
long time2 = i2.getLastModified();
|
||||
if (time1 == time2) {
|
||||
return i1.getFileName().toLowerCase().compareTo(i2.getFileName().toLowerCase());
|
||||
}
|
||||
return -((time1 < time2) ? -1 : ((time1 == time2) ? 0 : 1));
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private boolean showFoldersName() {
|
||||
return allFilesFolder.equals(selectedFolder);
|
||||
}
|
||||
|
|
|
@ -45,6 +45,7 @@ public class ApplyGpxApproximationCommand extends MeasurementModeCommand {
|
|||
if (command instanceof ApplyGpxApproximationCommand) {
|
||||
ApplyGpxApproximationCommand approxCommand = (ApplyGpxApproximationCommand) command;
|
||||
approximation = approxCommand.approximation;
|
||||
mode = approxCommand.mode;
|
||||
applyApproximation();
|
||||
refreshMap();
|
||||
return true;
|
||||
|
|
|
@ -19,6 +19,7 @@ import android.view.LayoutInflater;
|
|||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.SubMenu;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.inputmethod.InputMethodManager;
|
||||
|
@ -37,7 +38,6 @@ import android.widget.ImageView;
|
|||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.annotation.DrawableRes;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
|
@ -63,6 +63,7 @@ import net.osmand.plus.GpxDbHelper.GpxDataItemCallback;
|
|||
import net.osmand.plus.GpxSelectionHelper;
|
||||
import net.osmand.plus.GpxSelectionHelper.GpxDisplayGroup;
|
||||
import net.osmand.plus.GpxSelectionHelper.GpxDisplayItem;
|
||||
import net.osmand.plus.GpxSelectionHelper.SelectGpxTaskListener;
|
||||
import net.osmand.plus.GpxSelectionHelper.SelectedGpxFile;
|
||||
import net.osmand.plus.OsmAndConstants;
|
||||
import net.osmand.plus.OsmAndFormatter;
|
||||
|
@ -82,6 +83,7 @@ import net.osmand.plus.mapmarkers.CoordinateInputDialogFragment;
|
|||
import net.osmand.plus.monitoring.OsmandMonitoringPlugin;
|
||||
import net.osmand.plus.osmedit.OsmEditingPlugin;
|
||||
import net.osmand.plus.settings.backend.OsmandSettings;
|
||||
import net.osmand.plus.settings.backend.OsmandSettings.TracksSortByMode;
|
||||
|
||||
import java.io.File;
|
||||
import java.text.Collator;
|
||||
|
@ -133,13 +135,13 @@ public class AvailableGPXFragment extends OsmandExpandableListFragment implement
|
|||
private View footerView;
|
||||
private boolean importing = false;
|
||||
private View emptyView;
|
||||
private GpxSelectionHelper.SelectGpxTaskListener gpxTaskListener;
|
||||
private boolean sortByName;
|
||||
private SelectGpxTaskListener gpxTaskListener;
|
||||
private TracksSortByMode sortByMode;
|
||||
|
||||
@Override
|
||||
public void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
gpxTaskListener = new GpxSelectionHelper.SelectGpxTaskListener() {
|
||||
gpxTaskListener = new SelectGpxTaskListener() {
|
||||
@Override
|
||||
public void gpxSelectionInProgress() {
|
||||
allGpxAdapter.notifyDataSetInvalidated();
|
||||
|
@ -160,13 +162,13 @@ public class AvailableGPXFragment extends OsmandExpandableListFragment implement
|
|||
}
|
||||
|
||||
@Override
|
||||
public void onAttach(Context activity) {
|
||||
public void onAttach(@NonNull Context activity) {
|
||||
super.onAttach(activity);
|
||||
this.app = (OsmandApplication) getActivity().getApplication();
|
||||
sortByName = app.getSettings().SORT_TRACKS_BY_NAME.get();
|
||||
sortByMode = app.getSettings().TRACKS_SORT_BY_MODE.get();
|
||||
final Collator collator = Collator.getInstance();
|
||||
collator.setStrength(Collator.SECONDARY);
|
||||
currentRecording = new GpxInfo(getMyApplication().getSavingTrackHelper().getCurrentGpx(), getString(R.string.shared_string_currently_recording_track));
|
||||
currentRecording = new GpxInfo(app.getSavingTrackHelper().getCurrentGpx(), getString(R.string.shared_string_currently_recording_track));
|
||||
currentRecording.currentlyRecordingTrack = true;
|
||||
asyncLoader = new LoadGpxTask();
|
||||
selectedGpxHelper = ((OsmandApplication) activity.getApplicationContext()).getSelectedGpxHelper();
|
||||
|
@ -434,10 +436,10 @@ public class AvailableGPXFragment extends OsmandExpandableListFragment implement
|
|||
}
|
||||
|
||||
@Override
|
||||
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
|
||||
public void onCreateOptionsMenu(Menu menu, @NonNull MenuInflater inflater) {
|
||||
menu.clear();
|
||||
MenuItem mi = createMenuItem(menu, SEARCH_ID, R.string.search_poi_filter, R.drawable.ic_action_search_dark, MenuItem.SHOW_AS_ACTION_ALWAYS
|
||||
| MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
|
||||
MenuItem mi = createMenuItem(menu, SEARCH_ID, R.string.search_poi_filter, R.drawable.ic_action_search_dark,
|
||||
MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
|
||||
SearchView searchView = new SearchView(getActivity());
|
||||
FavoritesActivity.updateSearchView(getActivity(), searchView);
|
||||
mi.setActionView(searchView);
|
||||
|
@ -473,6 +475,26 @@ public class AvailableGPXFragment extends OsmandExpandableListFragment implement
|
|||
}
|
||||
});
|
||||
|
||||
menu.addSubMenu(Menu.NONE, R.string.shared_string_sort, Menu.NONE, R.string.shared_string_sort);
|
||||
final SubMenu sortMenu = menu.findItem(R.string.shared_string_sort).getSubMenu();
|
||||
mi = sortMenu.getItem();
|
||||
mi.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
|
||||
final int iconColorId = isLightActionBar() ? R.color.active_buttons_and_links_text_light
|
||||
: R.color.active_buttons_and_links_text_dark;
|
||||
mi.setIcon(getIcon(sortByMode.getIconId(), iconColorId));
|
||||
for (final TracksSortByMode mode : TracksSortByMode.values()) {
|
||||
mi = createMenuItem(sortMenu, mode.getNameId(), mode.getNameId(), mode.getIconId(),
|
||||
MenuItem.SHOW_AS_ACTION_ALWAYS, false, R.color.icon_color_default_light);
|
||||
mi.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
|
||||
@Override
|
||||
public boolean onMenuItemClick(MenuItem item) {
|
||||
updateTracksSort(mode);
|
||||
sortMenu.setIcon(getIcon(mode.getIconId(), iconColorId));
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (AndroidUiHelper.isOrientationPortrait(getActivity())) {
|
||||
menu = ((FavoritesActivity) getActivity()).getClearToolbar(true).getMenu();
|
||||
} else {
|
||||
|
@ -502,8 +524,6 @@ public class AvailableGPXFragment extends OsmandExpandableListFragment implement
|
|||
addTrack();
|
||||
}else if (itemId == R.string.coordinate_input) {
|
||||
openCoordinatesInput();
|
||||
} else if (itemId == R.string.shared_string_sort) {
|
||||
updateTracksSort();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
@ -521,8 +541,6 @@ public class AvailableGPXFragment extends OsmandExpandableListFragment implement
|
|||
.setIcon(R.drawable.ic_action_delete_dark).setListener(listener).createItem());
|
||||
optionsMenuAdapter.addItem(new ContextMenuItem.ItemBuilder().setTitleId(R.string.shared_string_refresh, getActivity())
|
||||
.setIcon(R.drawable.ic_action_refresh_dark).setListener(listener).createItem());
|
||||
optionsMenuAdapter.addItem(new ContextMenuItem.ItemBuilder().setTitleId(R.string.shared_string_sort, getActivity())
|
||||
.setIcon(getSortIconId(!sortByName)).setListener(listener).createItem());
|
||||
OsmandPlugin.onOptionsMenuActivity(getActivity(), this, optionsMenuAdapter);
|
||||
for (int j = 0; j < optionsMenuAdapter.length(); j++) {
|
||||
final MenuItem item;
|
||||
|
@ -547,11 +565,6 @@ public class AvailableGPXFragment extends OsmandExpandableListFragment implement
|
|||
}
|
||||
}
|
||||
|
||||
@DrawableRes
|
||||
private int getSortIconId(boolean sortByName) {
|
||||
return sortByName ? R.drawable.ic_action_sort_by_name : R.drawable.ic_action_list_sort;
|
||||
}
|
||||
|
||||
public void doAction(int actionResId) {
|
||||
if (actionResId == R.string.shared_string_delete) {
|
||||
operationTask = new DeleteGpxTask();
|
||||
|
@ -571,9 +584,6 @@ public class AvailableGPXFragment extends OsmandExpandableListFragment implement
|
|||
ContextMenuItem contextMenuItem = optionsMenuAdapter.getItem(i);
|
||||
if (itemId == contextMenuItem.getTitleId()) {
|
||||
contextMenuItem.getItemClickListener().onContextMenuClick(null, itemId, i, false, null);
|
||||
if (itemId == R.string.shared_string_sort) {
|
||||
item.setIcon(getSortIconId(!sortByName));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -584,9 +594,9 @@ public class AvailableGPXFragment extends OsmandExpandableListFragment implement
|
|||
((FavoritesActivity) getActivity()).addTrack();
|
||||
}
|
||||
|
||||
private void updateTracksSort() {
|
||||
sortByName = !sortByName;
|
||||
app.getSettings().SORT_TRACKS_BY_NAME.set(sortByName);
|
||||
private void updateTracksSort(TracksSortByMode sortByMode) {
|
||||
this.sortByMode = sortByMode;
|
||||
app.getSettings().TRACKS_SORT_BY_MODE.set(sortByMode);
|
||||
reloadTracks();
|
||||
}
|
||||
|
||||
|
@ -973,14 +983,16 @@ public class AvailableGPXFragment extends OsmandExpandableListFragment implement
|
|||
Arrays.sort(listFiles, new Comparator<File>() {
|
||||
@Override
|
||||
public int compare(File f1, File f2) {
|
||||
if (sortByName) {
|
||||
if (sortByMode == TracksSortByMode.BY_NAME_ASCENDING) {
|
||||
return f1.getName().compareTo(f2.getName());
|
||||
} else if (sortByMode == TracksSortByMode.BY_NAME_DESCENDING) {
|
||||
return -f1.getName().compareTo(f2.getName());
|
||||
} else {
|
||||
// here we could guess date from file name '2017-08-30 ...' - first part date
|
||||
if (f1.lastModified() == f2.lastModified()) {
|
||||
return -f1.getName().compareTo(f2.getName());
|
||||
}
|
||||
return -Long.compare(f1.lastModified(), f2.lastModified());
|
||||
return -((f1.lastModified() < f2.lastModified()) ? -1 : ((f1.lastModified() == f2.lastModified()) ? 0 : 1));
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@ -1078,15 +1090,20 @@ public class AvailableGPXFragment extends OsmandExpandableListFragment implement
|
|||
Collections.sort(selected, new Comparator<GpxInfo>() {
|
||||
@Override
|
||||
public int compare(GpxInfo i1, GpxInfo i2) {
|
||||
if (sortByName) {
|
||||
if (sortByMode == TracksSortByMode.BY_NAME_ASCENDING) {
|
||||
return i1.getName().toLowerCase().compareTo(i2.getName().toLowerCase());
|
||||
} else if (sortByMode == TracksSortByMode.BY_NAME_DESCENDING) {
|
||||
return -i1.getName().toLowerCase().compareTo(i2.getName().toLowerCase());
|
||||
} else {
|
||||
if (i1.file == null || i2.file == null) {
|
||||
return i1.getName().toLowerCase().compareTo(i2.getName().toLowerCase());
|
||||
}
|
||||
long time1 = i1.file.lastModified();
|
||||
long time2 = i2.file.lastModified();
|
||||
if (time1 == time2) {
|
||||
return i1.getName().toLowerCase().compareTo(i2.getName().toLowerCase());
|
||||
}
|
||||
return -Long.compare(time1, time2);
|
||||
return -((time1 < time2) ? -1 : ((time1 == time2) ? 0 : 1));
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
|
@ -63,6 +63,7 @@ import net.osmand.plus.routing.RouteProvider.GPXRouteParamsBuilder;
|
|||
import net.osmand.plus.routing.RoutingHelper;
|
||||
import net.osmand.plus.settings.backend.ApplicationMode;
|
||||
import net.osmand.plus.views.layers.MapControlsLayer;
|
||||
import net.osmand.util.Algorithms;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
|
||||
|
@ -185,8 +186,18 @@ public class FollowTrackFragment extends ContextMenuScrollFragment implements Ca
|
|||
|
||||
setupTracksCard();
|
||||
} else {
|
||||
File file = new File(gpxFile.path);
|
||||
GPXInfo gpxInfo = new GPXInfo(gpxFile.path, file.lastModified(), file.length());
|
||||
String fileName = null;
|
||||
File file = null;
|
||||
if (!Algorithms.isEmpty(gpxFile.path)) {
|
||||
file = new File(gpxFile.path);
|
||||
fileName = file.getName();
|
||||
} else if (!Algorithms.isEmpty(gpxFile.tracks)) {
|
||||
fileName = gpxFile.tracks.get(0).name;
|
||||
}
|
||||
if (Algorithms.isEmpty(fileName)) {
|
||||
fileName = app.getString(R.string.shared_string_gpx_track);
|
||||
}
|
||||
GPXInfo gpxInfo = new GPXInfo(fileName, file != null ? file.lastModified() : 0, file != null ? file.length() : 0);
|
||||
TrackEditCard importTrackCard = new TrackEditCard(mapActivity, gpxInfo);
|
||||
importTrackCard.setListener(this);
|
||||
cardsContainer.addView(importTrackCard.build(mapActivity));
|
||||
|
@ -207,7 +218,7 @@ public class FollowTrackFragment extends ContextMenuScrollFragment implements Ca
|
|||
reverseTrackCard.setListener(this);
|
||||
cardsContainer.addView(reverseTrackCard.build(mapActivity));
|
||||
}
|
||||
if (!gpxFile.hasRtePt()) {
|
||||
if (!gpxFile.hasRtePt() && !gpxFile.hasRoute()) {
|
||||
cardsContainer.addView(buildDividerView(cardsContainer, true));
|
||||
|
||||
AttachTrackToRoadsCard attachTrackCard = new AttachTrackToRoadsCard(mapActivity);
|
||||
|
@ -349,7 +360,9 @@ public class FollowTrackFragment extends ContextMenuScrollFragment implements Ca
|
|||
@Override
|
||||
public void onDestroyView() {
|
||||
super.onDestroyView();
|
||||
exitTrackAppearanceMode();
|
||||
if (!editingTrack) {
|
||||
exitTrackAppearanceMode();
|
||||
}
|
||||
onDismiss();
|
||||
}
|
||||
|
||||
|
@ -542,7 +555,7 @@ public class FollowTrackFragment extends ContextMenuScrollFragment implements Ca
|
|||
if (useAppMode) {
|
||||
editingContext.setAppMode(app.getRoutingHelper().getAppMode());
|
||||
}
|
||||
MeasurementToolFragment.showInstance(mapActivity.getSupportFragmentManager(), editingContext, true, true);
|
||||
MeasurementToolFragment.showInstance(mapActivity.getSupportFragmentManager(), editingContext, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1760,8 +1760,13 @@ public class MapRouteInfoMenu implements IRouteInformationListener, CardListener
|
|||
if (routeParams != null) {
|
||||
TargetPoint target = app.getTargetPointsHelper().getPointToNavigate();
|
||||
if (target != null) {
|
||||
PointDescription pointDescription = target.getOriginalPointDescription();
|
||||
return pointDescription != null && routeParams.getFile().path.equals(pointDescription.getTypeName());
|
||||
List<Location> points = routeParams.getPoints(app);
|
||||
if (!Algorithms.isEmpty(points)) {
|
||||
Location loc = points.get(points.size() - 1);
|
||||
LatLon latLon = new LatLon(loc.getLatitude(), loc.getLongitude());
|
||||
LatLon targetLatLon = new LatLon(target.getLatitude(), target.getLongitude());
|
||||
return latLon.equals(targetLatLon);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,8 +11,8 @@ import net.osmand.plus.activities.MapActivity;
|
|||
import net.osmand.plus.routepreparationmenu.RoutingOptionsHelper.LocalRoutingParameter;
|
||||
|
||||
import static net.osmand.plus.UiUtilities.CustomRadioButtonType;
|
||||
import static net.osmand.plus.UiUtilities.CustomRadioButtonType.LEFT;
|
||||
import static net.osmand.plus.UiUtilities.CustomRadioButtonType.RIGHT;
|
||||
import static net.osmand.plus.UiUtilities.CustomRadioButtonType.START;
|
||||
import static net.osmand.plus.UiUtilities.CustomRadioButtonType.END;
|
||||
|
||||
public class NavigateTrackOptionsCard extends BaseCard {
|
||||
|
||||
|
@ -45,7 +45,7 @@ public class NavigateTrackOptionsCard extends BaseCard {
|
|||
TextView description = parameterView.findViewById(R.id.description);
|
||||
|
||||
boolean enabled = passWholeRoute.isSelected(app.getSettings());
|
||||
CustomRadioButtonType buttonType = enabled ? LEFT : RIGHT;
|
||||
CustomRadioButtonType buttonType = enabled ? START : END;
|
||||
UiUtilities.updateCustomRadioButtons(app, buttonsView, nightMode, buttonType);
|
||||
|
||||
leftButton.setText(R.string.start_of_the_track);
|
||||
|
@ -56,7 +56,7 @@ public class NavigateTrackOptionsCard extends BaseCard {
|
|||
@Override
|
||||
public void onClick(View v) {
|
||||
if (!passWholeRoute.isSelected(app.getSettings())) {
|
||||
applyParameter(parameterView, passWholeRoute, LEFT, true);
|
||||
applyParameter(parameterView, passWholeRoute, START, true);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@ -64,7 +64,7 @@ public class NavigateTrackOptionsCard extends BaseCard {
|
|||
@Override
|
||||
public void onClick(View v) {
|
||||
if (passWholeRoute.isSelected(app.getSettings())) {
|
||||
applyParameter(parameterView, passWholeRoute, RIGHT, false);
|
||||
applyParameter(parameterView, passWholeRoute, END, false);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@ -81,14 +81,14 @@ public class NavigateTrackOptionsCard extends BaseCard {
|
|||
rightButton.setText(app.getRoutingHelper().getAppMode().toHumanString());
|
||||
|
||||
boolean enabled = navigationType.isSelected(app.getSettings());
|
||||
CustomRadioButtonType buttonType = enabled ? RIGHT : LEFT;
|
||||
CustomRadioButtonType buttonType = enabled ? END : START;
|
||||
UiUtilities.updateCustomRadioButtons(app, buttonsView, nightMode, buttonType);
|
||||
|
||||
leftButton.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (navigationType.isSelected(app.getSettings())) {
|
||||
applyParameter(parameterView, navigationType, LEFT, false);
|
||||
applyParameter(parameterView, navigationType, START, false);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@ -96,7 +96,7 @@ public class NavigateTrackOptionsCard extends BaseCard {
|
|||
@Override
|
||||
public void onClick(View v) {
|
||||
if (!navigationType.isSelected(app.getSettings())) {
|
||||
applyParameter(parameterView, navigationType, RIGHT, true);
|
||||
applyParameter(parameterView, navigationType, END, true);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
|
@ -356,17 +356,6 @@ public class RouteCalculationResult {
|
|||
}
|
||||
lastHeight = h;
|
||||
}
|
||||
// FIXME: investigate gpx file
|
||||
if (s.getObject().getPoint31XTile(i) == 0 && s.getObject().getPoint31YTile(i) == 0) {
|
||||
if (locations.size() > 0) {
|
||||
Location prev = locations.get(locations.size() - 1);
|
||||
n.setLatitude(prev.getLatitude());
|
||||
n.setLongitude(prev.getLongitude());
|
||||
if (prev.hasAltitude()) {
|
||||
n.setAltitude(prev.getAltitude());
|
||||
}
|
||||
}
|
||||
}
|
||||
locations.add(n);
|
||||
attachAlarmInfo(alarms, s, i, locations.size());
|
||||
segmentsToPopulate.add(s);
|
||||
|
|
|
@ -2506,6 +2506,7 @@ public class OsmandSettings {
|
|||
public final OsmandPreference<Boolean> SHOW_COORDINATES_WIDGET = new BooleanPreference("show_coordinates_widget", false).makeProfile().cache();
|
||||
|
||||
public final CommonPreference<NotesSortByMode> NOTES_SORT_BY_MODE = new EnumStringPreference<>("notes_sort_by_mode", NotesSortByMode.BY_DATE, NotesSortByMode.values());
|
||||
public final CommonPreference<TracksSortByMode> TRACKS_SORT_BY_MODE = new EnumStringPreference<>("tracks_sort_by_mode", TracksSortByMode.BY_DATE, TracksSortByMode.values());
|
||||
|
||||
public final OsmandPreference<Boolean> ANIMATE_MY_LOCATION = new BooleanPreference("animate_my_location", true).makeProfile().cache();
|
||||
|
||||
|
@ -3936,9 +3937,6 @@ public class OsmandSettings {
|
|||
public final CommonPreference<Integer> FAVORITES_TAB =
|
||||
new IntPreference("FAVORITES_TAB", 0).makeGlobal().cache();
|
||||
|
||||
public final CommonPreference<Boolean> SORT_TRACKS_BY_NAME
|
||||
= new BooleanPreference("sort_tracks_by_name", true).makeGlobal().cache();
|
||||
|
||||
public final CommonPreference<Integer> OSMAND_THEME =
|
||||
new IntPreference("osmand_theme", OSMAND_LIGHT_THEME) {
|
||||
@Override
|
||||
|
@ -4105,6 +4103,38 @@ public class OsmandSettings {
|
|||
}
|
||||
}
|
||||
|
||||
public enum TracksSortByMode {
|
||||
BY_DATE(R.string.sort_last_modified, R.drawable.ic_action_time_start),
|
||||
BY_NAME_ASCENDING(R.string.sort_name_ascending, R.drawable.ic_action_sort_by_name_ascending),
|
||||
BY_NAME_DESCENDING(R.string.sort_name_descending, R.drawable.ic_action_sort_by_name_descending);
|
||||
|
||||
private final int iconId;
|
||||
private final int nameId;
|
||||
|
||||
TracksSortByMode(int nameId, int iconId) {
|
||||
this.nameId = nameId;
|
||||
this.iconId = iconId;
|
||||
}
|
||||
|
||||
public boolean isByName() {
|
||||
return this == BY_NAME_ASCENDING || this == BY_NAME_DESCENDING;
|
||||
}
|
||||
|
||||
public boolean isByDate() {
|
||||
return this == BY_DATE;
|
||||
}
|
||||
|
||||
@StringRes
|
||||
public int getNameId() {
|
||||
return nameId;
|
||||
}
|
||||
|
||||
@DrawableRes
|
||||
public int getIconId() {
|
||||
return iconId;
|
||||
}
|
||||
}
|
||||
|
||||
public enum MapMarkersMode {
|
||||
TOOLBAR(R.string.shared_string_topbar),
|
||||
WIDGETS(R.string.shared_string_widgets),
|
||||
|
|
|
@ -7,6 +7,9 @@ import androidx.preference.DialogPreference;
|
|||
import net.osmand.plus.R;
|
||||
import net.osmand.plus.settings.bottomsheets.VehicleSizeAssets;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.text.DecimalFormat;
|
||||
import java.text.DecimalFormatSymbols;
|
||||
import java.util.Locale;
|
||||
|
@ -87,10 +90,13 @@ public class SizePreference extends DialogPreference {
|
|||
public CharSequence getSummary() {
|
||||
String summary = entries[0];
|
||||
String persistedString = getValue();
|
||||
if (!persistedString.equals(defaultValue)) {
|
||||
if (StringUtils.isBlank(persistedString)) {
|
||||
return summary;
|
||||
}
|
||||
if (!isPersistedStringEqualsZero(persistedString)) {
|
||||
try {
|
||||
final DecimalFormat df = new DecimalFormat("#.####", new DecimalFormatSymbols(Locale.US));
|
||||
persistedString = df.format(Float.parseFloat(persistedString) + 0.01f);
|
||||
persistedString = df.format(Double.parseDouble(persistedString) + 0.01d);
|
||||
summary = String.format(getContext().getString(R.string.ltr_or_rtl_combine_via_space),
|
||||
persistedString, getContext().getString(assets.getMetricShortRes()));
|
||||
} catch (NumberFormatException e) {
|
||||
|
@ -100,7 +106,11 @@ public class SizePreference extends DialogPreference {
|
|||
return summary;
|
||||
}
|
||||
|
||||
public String getValue() {
|
||||
private boolean isPersistedStringEqualsZero(String persistedString) {
|
||||
return BigDecimal.ZERO.compareTo(new BigDecimal(persistedString)) == 0;
|
||||
}
|
||||
|
||||
public String getValue () {
|
||||
return getPersistedString(defaultValue);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -291,9 +291,9 @@ public class TerrainFragment extends BaseOsmAndFragment implements View.OnClickL
|
|||
|
||||
private void adjustModeButtons(TerrainMode mode) {
|
||||
if (mode == SLOPE) {
|
||||
UiUtilities.updateCustomRadioButtons(app, customRadioButton, nightMode, RIGHT);
|
||||
UiUtilities.updateCustomRadioButtons(app, customRadioButton, nightMode, END);
|
||||
} else {
|
||||
UiUtilities.updateCustomRadioButtons(app, customRadioButton, nightMode, LEFT);
|
||||
UiUtilities.updateCustomRadioButtons(app, customRadioButton, nightMode, START);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1068,6 +1068,17 @@ public class MapControlsLayer extends OsmandMapLayer {
|
|||
}
|
||||
}
|
||||
|
||||
public void updateTransparencySlider () {
|
||||
LayerTransparencySeekbarMode seekbarMode = settings.LAYER_TRANSPARENCY_SEEKBAR_MODE.get();
|
||||
if (OsmandPlugin.getEnabledPlugin(OsmandRasterMapsPlugin.class) != null) {
|
||||
if (seekbarMode == LayerTransparencySeekbarMode.OVERLAY && settings.MAP_OVERLAY.get() != null) {
|
||||
transparencySlider.setValue(settings.MAP_OVERLAY_TRANSPARENCY.get());
|
||||
} else if (seekbarMode == LayerTransparencySeekbarMode.UNDERLAY && settings.MAP_UNDERLAY.get() != null) {
|
||||
transparencySlider.setValue(settings.MAP_TRANSPARENCY.get());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void showTransparencyBar(CommonPreference<Integer> transparenPreference,
|
||||
boolean isTransparencyBarEnabled) {
|
||||
this.isTransparencyBarEnabled = isTransparencyBarEnabled;
|
||||
|
|
Loading…
Reference in a new issue