commit
e7b15dd89e
45 changed files with 663 additions and 352 deletions
|
@ -41,6 +41,7 @@ public class Amenity extends MapObject {
|
|||
public static final String OSM_DELETE_TAG = "osmand_change";
|
||||
public static final String IMAGE_TITLE = "image_title";
|
||||
public static final String IS_PART = "is_part";
|
||||
public static final String IS_PARENT_OF = "is_parent_of";
|
||||
public static final String IS_AGGR_PART = "is_aggr_part";
|
||||
public static final String CONTENT_JSON = "content_json";
|
||||
public static final String ROUTE_ID = "route_id";
|
||||
|
|
|
@ -1189,6 +1189,7 @@ public class RouteResultPreparation {
|
|||
RouteSegmentResult last = rr;
|
||||
RouteSegmentResult firstRoundabout = rr;
|
||||
RouteSegmentResult lastRoundabout = rr;
|
||||
|
||||
for (int j = i; j < result.size(); j++) {
|
||||
RouteSegmentResult rnext = result.get(j);
|
||||
last = rnext;
|
||||
|
@ -1215,12 +1216,12 @@ public class RouteResultPreparation {
|
|||
TurnType t = TurnType.getExitTurn(exit, 0, leftSide);
|
||||
// usually covers more than expected
|
||||
float turnAngleBasedOnOutRoads = (float) MapUtils.degreesDiff(last.getBearingBegin(), prev.getBearingEnd());
|
||||
// usually covers less than expected
|
||||
float turnAngleBasedOnCircle = (float) -MapUtils.degreesDiff(firstRoundabout.getBearingBegin(), lastRoundabout.getBearingEnd() + 180);
|
||||
if(Math.abs(turnAngleBasedOnOutRoads - turnAngleBasedOnCircle) > 180) {
|
||||
t.setTurnAngle(turnAngleBasedOnCircle ) ;
|
||||
if (Math.abs(turnAngleBasedOnOutRoads) > 120) {
|
||||
// correctly identify if angle is +- 180, so we approach from left or right side
|
||||
t.setTurnAngle(turnAngleBasedOnCircle) ;
|
||||
} else {
|
||||
t.setTurnAngle((turnAngleBasedOnCircle + turnAngleBasedOnOutRoads) / 2) ;
|
||||
t.setTurnAngle(turnAngleBasedOnOutRoads) ;
|
||||
}
|
||||
return t;
|
||||
}
|
||||
|
|
|
@ -954,17 +954,15 @@ public class SearchUICore {
|
|||
break;
|
||||
}
|
||||
case COMPARE_AMENITY_TYPE_ADDITIONAL: {
|
||||
if(o1.object instanceof AbstractPoiType && o2.object instanceof AbstractPoiType ) {
|
||||
boolean additional1 = ((AbstractPoiType) o1.object).isAdditional();
|
||||
boolean additional2 = ((AbstractPoiType) o2.object).isAdditional();
|
||||
if (additional1 != additional2) {
|
||||
// -1 - means 1st is less than 2nd
|
||||
return additional1 ? 1 : -1;
|
||||
}
|
||||
boolean additional1 = o1.object instanceof AbstractPoiType && ((AbstractPoiType) o1.object).isAdditional();
|
||||
boolean additional2 = o2.object instanceof AbstractPoiType && ((AbstractPoiType) o2.object).isAdditional();
|
||||
if (additional1 != additional2) {
|
||||
// -1 - means 1st is less than 2nd
|
||||
return additional1 ? 1 : -1;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case COMPARE_DISTANCE_TO_PARENT_SEARCH_RESULT:
|
||||
case COMPARE_DISTANCE_TO_PARENT_SEARCH_RESULT:
|
||||
double ps1 = o1.parentSearchResult == null ? 0 : o1.parentSearchResult.getSearchDistance(c.loc);
|
||||
double ps2 = o2.parentSearchResult == null ? 0 : o2.parentSearchResult.getSearchDistance(c.loc);
|
||||
if (ps1 != ps2) {
|
||||
|
@ -1042,12 +1040,17 @@ public class SearchUICore {
|
|||
|
||||
@Override
|
||||
public int compare(SearchResult o1, SearchResult o2) {
|
||||
for(ResultCompareStep step : ResultCompareStep.values()) {
|
||||
List<ResultCompareStep> steps = new ArrayList<>();
|
||||
for (ResultCompareStep step : ResultCompareStep.values()) {
|
||||
int r = step.compare(o1, o2, this);
|
||||
if(r != 0) {
|
||||
steps.add(step);
|
||||
if (r != 0) {
|
||||
// debug crashes and identify non-transitive comparision
|
||||
// LOG.debug(String.format("%d: %s o1='%s' o2='%s'", r, steps, o1, o2));
|
||||
return r;
|
||||
}
|
||||
}
|
||||
// LOG.debug(String.format("EQUAL: o1='%s' o2='%s'", o1, o2));
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,12 +1,16 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:baselineAligned="false"
|
||||
android:gravity="center_vertical"
|
||||
android:minHeight="@dimen/bottom_sheet_selected_item_title_height"
|
||||
android:baselineAligned="false">
|
||||
android:paddingStart="@dimen/content_padding"
|
||||
android:paddingEnd="@dimen/content_padding"
|
||||
android:paddingRight="@dimen/content_padding"
|
||||
android:paddingLeft="@dimen/content_padding">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/basic_item_body"
|
||||
|
@ -28,6 +32,8 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:paddingTop="@dimen/content_padding_small"
|
||||
android:paddingBottom="@dimen/content_padding"
|
||||
android:textAppearance="@style/TextAppearance.ListItemTitle"
|
||||
tools:text="Some title" />
|
||||
|
||||
|
@ -40,8 +46,8 @@
|
|||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginStart="@dimen/bottom_sheet_content_margin"
|
||||
android:layout_marginLeft="@dimen/bottom_sheet_content_margin"
|
||||
android:layout_marginEnd="@dimen/content_padding_half"
|
||||
android:layout_marginRight="@dimen/content_padding_half"
|
||||
android:layout_marginEnd="@dimen/bottom_sheet_content_margin"
|
||||
android:layout_marginRight="@dimen/bottom_sheet_content_margin"
|
||||
tools:checked="true" />
|
||||
|
||||
</LinearLayout>
|
||||
|
@ -62,11 +68,11 @@
|
|||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/icon_after_divider"
|
||||
style="@style/Widget.AppCompat.Toolbar.Button.Navigation"
|
||||
android:layout_width="@dimen/acceptable_touch_radius"
|
||||
android:layout_height="@dimen/acceptable_touch_radius"
|
||||
android:layout_width="@dimen/favorites_icon_right_margin"
|
||||
android:layout_height="@dimen/favorites_icon_right_margin"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginStart="@dimen/content_padding"
|
||||
android:layout_marginLeft="@dimen/content_padding"
|
||||
android:layout_marginRight="@dimen/content_padding"
|
||||
app:srcCompat="@drawable/ic_action_track_line_bold_color" />
|
||||
|
||||
</LinearLayout>
|
||||
|
|
|
@ -1,89 +1,114 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:osmand="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:paddingStart="@dimen/content_padding"
|
||||
android:paddingLeft="@dimen/content_padding"
|
||||
android:paddingTop="@dimen/bottom_sheet_content_margin"
|
||||
android:paddingEnd="@dimen/content_padding"
|
||||
android:paddingRight="@dimen/content_padding">
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:osmand="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<net.osmand.plus.widgets.TextViewEx
|
||||
android:id="@+id/title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="@dimen/content_padding"
|
||||
android:letterSpacing="@dimen/text_button_letter_spacing"
|
||||
android:text="@string/monitoring_settings"
|
||||
android:textSize="@dimen/default_list_text_size"
|
||||
osmand:typeface="@string/font_roboto_medium" />
|
||||
<net.osmand.plus.widgets.TextViewEx
|
||||
android:id="@+id/title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:letterSpacing="@dimen/text_button_letter_spacing"
|
||||
android:paddingStart="@dimen/content_padding"
|
||||
android:paddingLeft="@dimen/content_padding"
|
||||
android:paddingTop="@dimen/content_padding_small"
|
||||
android:paddingEnd="@dimen/content_padding"
|
||||
android:paddingRight="@dimen/content_padding"
|
||||
android:paddingBottom="@dimen/content_padding_small"
|
||||
android:text="@string/monitoring_settings"
|
||||
android:textSize="@dimen/default_list_text_size"
|
||||
osmand:typeface="@string/font_roboto_medium" />
|
||||
|
||||
<include
|
||||
android:id="@+id/show_track_on_map"
|
||||
layout="@layout/bottom_sheet_with_switch_divider_and_additional_button" />
|
||||
<include
|
||||
android:id="@+id/show_track_on_map"
|
||||
layout="@layout/bottom_sheet_with_switch_divider_and_additional_button" />
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:layout_marginBottom="@dimen/bottom_sheet_content_margin_small"
|
||||
android:background="?attr/dashboard_divider" />
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:background="?attr/dashboard_divider" />
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/content_padding_small" />
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_weight="1"
|
||||
android:orientation="horizontal"
|
||||
android:paddingStart="@dimen/content_padding"
|
||||
android:paddingLeft="@dimen/content_padding"
|
||||
android:paddingTop="@dimen/bottom_sheet_content_margin"
|
||||
android:paddingEnd="@dimen/content_padding"
|
||||
android:paddingRight="@dimen/content_padding">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_weight="1"
|
||||
android:orientation="horizontal">
|
||||
<net.osmand.plus.widgets.TextViewEx
|
||||
android:id="@+id/interval_value"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:textSize="@dimen/default_list_text_size"
|
||||
tools:text="Interval value" />
|
||||
|
||||
<net.osmand.plus.widgets.TextViewEx
|
||||
android:id="@+id/interval_value"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:textSize="@dimen/default_list_text_size"
|
||||
tools:text="Interval value" />
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/up_down_button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@null"
|
||||
app:srcCompat="@drawable/ic_action_arrow_down" />
|
||||
</LinearLayout>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/up_down_button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@null"
|
||||
app:srcCompat="@drawable/ic_action_arrow_down" />
|
||||
</LinearLayout>
|
||||
<LinearLayout
|
||||
android:id="@+id/always_ask_and_range_slider_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:paddingStart="@dimen/content_padding"
|
||||
android:paddingLeft="@dimen/content_padding"
|
||||
android:paddingEnd="@dimen/content_padding"
|
||||
android:paddingRight="@dimen/content_padding">
|
||||
|
||||
<com.google.android.material.slider.RangeSlider
|
||||
android:id="@+id/interval_slider"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:contentDescription="@string/save_track_interval_globally"
|
||||
android:stepSize="1"
|
||||
app:labelBehavior="gone" />
|
||||
<com.google.android.material.slider.RangeSlider
|
||||
android:id="@+id/interval_slider"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:contentDescription="@string/save_track_interval_globally"
|
||||
android:stepSize="1"
|
||||
app:haloRadius="@dimen/content_padding_small"
|
||||
app:labelBehavior="gone"
|
||||
app:thumbColor="@color/profile_icon_color_blue_light"
|
||||
app:thumbRadius="@dimen/content_padding_small_half"
|
||||
app:trackColorActive="@color/profile_icon_color_blue_light"
|
||||
app:trackColorInactive="#4D007EB3"
|
||||
app:tickColorInactive="#007EB3"
|
||||
app:trackHeight="@dimen/slider_track_height"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<androidx.appcompat.widget.SwitchCompat
|
||||
android:id="@+id/confirm_every_run"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginBottom="@dimen/content_padding"
|
||||
android:letterSpacing="@dimen/text_button_letter_spacing"
|
||||
android:minHeight="@dimen/context_menu_buttons_bottom_height"
|
||||
android:paddingLeft="@dimen/content_padding_small"
|
||||
android:paddingRight="@dimen/content_padding_small"
|
||||
android:text="@string/confirm_every_run"
|
||||
android:textColor="?android:textColorPrimary"
|
||||
android:textSize="@dimen/default_list_text_size"
|
||||
android:visibility="gone"
|
||||
osmand:typeface="@string/font_roboto_regular"
|
||||
tools:visibility="visible" />
|
||||
<androidx.appcompat.widget.SwitchCompat
|
||||
android:id="@+id/confirm_every_run"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:letterSpacing="@dimen/text_button_letter_spacing"
|
||||
android:minHeight="@dimen/context_menu_buttons_bottom_height"
|
||||
android:paddingLeft="@dimen/content_padding_small"
|
||||
android:paddingRight="@dimen/content_padding_small"
|
||||
android:text="@string/confirm_every_run"
|
||||
android:textColor="?attr/color_dialog_buttons"
|
||||
android:textSize="@dimen/default_list_text_size"
|
||||
osmand:typeface="@string/font_roboto_regular"
|
||||
tools:visibility="visible" />
|
||||
</LinearLayout>
|
||||
|
||||
<View
|
||||
android:id="@+id/second_divider"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:layout_marginTop="@dimen/content_padding"
|
||||
android:layout_marginBottom="@dimen/bottom_sheet_content_margin_small"
|
||||
android:background="?attr/dashboard_divider" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
|
|
@ -3669,4 +3669,10 @@
|
|||
<string name="poi_waste_transfer_station">محطة نقل نفايات</string>
|
||||
<string name="poi_weightbridge">ميزان المركبات</string>
|
||||
<string name="poi_ranger_station">مكتب الحارس</string>
|
||||
<string name="poi_diplomatic_services_citizen_services_filter">خدمات المواطن</string>
|
||||
<string name="poi_diplomatic_services_immigrant_visas_filter">تأشيرات الهجرة</string>
|
||||
<string name="poi_diplomatic_services_non_immigrant_visas_filter">تأشيرات لغير المهاجرين</string>
|
||||
<string name="poi_liaison_filter">اتصال</string>
|
||||
<string name="poi_consulate_filter">قنصلية</string>
|
||||
<string name="poi_embassy_filter">سفارة</string>
|
||||
</resources>
|
|
@ -4035,4 +4035,32 @@
|
|||
<string name="edit_track">تحرير المسار</string>
|
||||
<string name="rename_track">تسمية المسار</string>
|
||||
<string name="change_folder">تغيير المجلد</string>
|
||||
<string name="shared_string_sec">ثانية</string>
|
||||
<string name="announcement_time_passing">تمرير</string>
|
||||
<string name="announcement_time_approach">طريقة</string>
|
||||
<string name="announcement_time_prepare_long">تحضير طويل</string>
|
||||
<string name="announcement_time_prepare">إعداد</string>
|
||||
<string name="announcement_time_off_route">إيقاف المسار</string>
|
||||
<string name="announcement_time_arrive">الوصول إلى الوجهة</string>
|
||||
<string name="shared_string_turn">منعطف</string>
|
||||
<string name="announcement_time_intervals">الوقت والمسافة</string>
|
||||
<string name="announcement_time_descr">وقت الإعلان عن مختلف المطالبات الصوتية يعتمد على نوع موجه، وسرعة التنقل الحالية وسرعة التنقل الافتراضية.</string>
|
||||
<string name="announcement_time_title">وقت الإعلان</string>
|
||||
<string name="start_recording">بدء التسجيل</string>
|
||||
<string name="show_track_on_map">عرض المسار على الخريطة</string>
|
||||
<string name="routing_engine_vehicle_type_wheelchair">منحدرات</string>
|
||||
<string name="routing_engine_vehicle_type_hiking">مشي</string>
|
||||
<string name="routing_engine_vehicle_type_walking">مشي</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_electric">ركوب الدراجات الكهربائية</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_mountain">ركوب الدراجات الجبلية</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_road">ركوب الدراجات على الطرق</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_regular">ركوب الدراجات</string>
|
||||
<string name="routing_engine_vehicle_type_hgv">مركبات الحمولة الثقيلة</string>
|
||||
<string name="routing_engine_vehicle_type_small_truck">شاحنة صغيرة</string>
|
||||
<string name="routing_engine_vehicle_type_truck">شاحنة</string>
|
||||
<string name="routing_engine_vehicle_type_scooter">سكوتر</string>
|
||||
<string name="routing_engine_vehicle_type_racingbike">سباق الدراجات</string>
|
||||
<string name="routing_engine_vehicle_type_mtb">MTB</string>
|
||||
<string name="message_server_error">خطأ في الخادم: %1$s</string>
|
||||
<string name="message_name_is_already_exists">الاسم موجود بالفعل</string>
|
||||
</resources>
|
|
@ -3972,4 +3972,32 @@
|
|||
<string name="edit_track">Editovat stopu</string>
|
||||
<string name="rename_track">Přejmenovat stopu</string>
|
||||
<string name="change_folder">Změnit složku</string>
|
||||
<string name="shared_string_sec">sek.</string>
|
||||
<string name="announcement_time_passing">Míjení</string>
|
||||
<string name="announcement_time_approach">Přiblížení</string>
|
||||
<string name="announcement_time_prepare_long">Dlouhá příprava</string>
|
||||
<string name="announcement_time_prepare">Příprava</string>
|
||||
<string name="announcement_time_off_route">Odchýlení od trasy</string>
|
||||
<string name="announcement_time_arrive">Dosažení cíle</string>
|
||||
<string name="shared_string_turn">Odbočit</string>
|
||||
<string name="announcement_time_intervals">Intervaly času a vzdálenosti</string>
|
||||
<string name="announcement_time_descr">Čas oznámení různých hlasových pokynů závisí na typu pokynu, aktuální rychlosti navigace a výchozí rychlosti navigace.</string>
|
||||
<string name="announcement_time_title">Čas oznámení</string>
|
||||
<string name="start_recording">Spustit záznam</string>
|
||||
<string name="show_track_on_map">Zobrazit stopu na mapě</string>
|
||||
<string name="routing_engine_vehicle_type_wheelchair">Invalidní vozík</string>
|
||||
<string name="routing_engine_vehicle_type_hiking">Turistika</string>
|
||||
<string name="routing_engine_vehicle_type_walking">Chůze</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_electric">Jízda na elektrokole</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_mountain">Horská cyklistika</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_road">Silniční cyklistika</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_regular">Běžná cyklistika</string>
|
||||
<string name="routing_engine_vehicle_type_hgv">Nákladní auto</string>
|
||||
<string name="routing_engine_vehicle_type_small_truck">Malé nákladní auto</string>
|
||||
<string name="routing_engine_vehicle_type_truck">Kamion</string>
|
||||
<string name="routing_engine_vehicle_type_scooter">Skútr</string>
|
||||
<string name="routing_engine_vehicle_type_racingbike">Závodní kolo</string>
|
||||
<string name="routing_engine_vehicle_type_mtb">Horské kolo</string>
|
||||
<string name="message_server_error">Chyba serveru: %1$s</string>
|
||||
<string name="message_name_is_already_exists">Název již existuje</string>
|
||||
</resources>
|
|
@ -3977,4 +3977,25 @@
|
|||
<string name="edit_track">Track editieren</string>
|
||||
<string name="rename_track">Track umbenennen</string>
|
||||
<string name="change_folder">Ordner ändern</string>
|
||||
<string name="shared_string_turn">Abbiegung</string>
|
||||
<string name="announcement_time_intervals">Zeit- und Distanzintervalle</string>
|
||||
<string name="announcement_time_descr">Der Ansagezeitpunkt der verschiedenen Sprachansagen hängt vom Ansagetyp, der aktuellen Navigationsgeschwindigkeit und der Standard-Navigationsgeschwindigkeit ab.</string>
|
||||
<string name="announcement_time_title">Ansagezeitpunkt</string>
|
||||
<string name="start_recording">Aufzeichnung starten</string>
|
||||
<string name="show_track_on_map">Track auf der Karte anzeigen</string>
|
||||
<string name="routing_engine_vehicle_type_wheelchair">Rollstuhl</string>
|
||||
<string name="routing_engine_vehicle_type_hiking">Wandern</string>
|
||||
<string name="routing_engine_vehicle_type_walking">Fußgänger</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_electric">E-Bike fahren</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_road">Straßenradsport</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_mountain">Bergradsport</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_regular">Normales Radfahren</string>
|
||||
<string name="routing_engine_vehicle_type_hgv">Lkw</string>
|
||||
<string name="routing_engine_vehicle_type_small_truck">Kleintransporter</string>
|
||||
<string name="routing_engine_vehicle_type_truck">Lkw</string>
|
||||
<string name="routing_engine_vehicle_type_scooter">Motorroller</string>
|
||||
<string name="routing_engine_vehicle_type_racingbike">Rennrad</string>
|
||||
<string name="routing_engine_vehicle_type_mtb">Mountainbike</string>
|
||||
<string name="message_server_error">Server-Fehler: %1$s</string>
|
||||
<string name="message_name_is_already_exists">Der Name ist bereits vorhanden</string>
|
||||
</resources>
|
|
@ -3972,4 +3972,21 @@
|
|||
<string name="edit_track">Redakti spuron</string>
|
||||
<string name="rename_track">Renomi spuron</string>
|
||||
<string name="change_folder">Ŝanĝi dosierujon</string>
|
||||
<string name="routing_engine_vehicle_type_small_truck">Kamioneto</string>
|
||||
<string name="routing_engine_vehicle_type_truck">Kamiono</string>
|
||||
<string name="routing_engine_vehicle_type_scooter">Skotero</string>
|
||||
<string name="routing_engine_vehicle_type_racingbike">Biciklo vetkura</string>
|
||||
<string name="routing_engine_vehicle_type_mtb">Montbiciklo</string>
|
||||
<string name="message_server_error">Servila eraro: %1$s</string>
|
||||
<string name="message_name_is_already_exists">Tiu ĉi nomo jam estas uzata</string>
|
||||
<string name="start_recording">Ekigi registri</string>
|
||||
<string name="show_track_on_map">Montri kurson sur mapo</string>
|
||||
<string name="routing_engine_vehicle_type_wheelchair">Rulseĝo</string>
|
||||
<string name="routing_engine_vehicle_type_hiking">Marŝado</string>
|
||||
<string name="routing_engine_vehicle_type_walking">Irado</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_electric">Elektra biciklado</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_mountain">Montara biciklado</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_road">Ŝosea biciklado</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_regular">Kutima biciklado</string>
|
||||
<string name="routing_engine_vehicle_type_hgv">Peza kamiono</string>
|
||||
</resources>
|
|
@ -3975,4 +3975,32 @@
|
|||
<string name="edit_track">Editar traza</string>
|
||||
<string name="rename_track">Renombrar traza</string>
|
||||
<string name="change_folder">Cambiar carpeta</string>
|
||||
<string name="shared_string_sec">seg</string>
|
||||
<string name="announcement_time_passing">Pasando</string>
|
||||
<string name="announcement_time_approach">Acercarse</string>
|
||||
<string name="announcement_time_prepare_long">Preparación larga</string>
|
||||
<string name="announcement_time_prepare">Preparar</string>
|
||||
<string name="announcement_time_off_route">Fuera de la ruta</string>
|
||||
<string name="announcement_time_arrive">Has llegado al destino</string>
|
||||
<string name="shared_string_turn">Giro</string>
|
||||
<string name="announcement_time_intervals">Intervalos de tiempo y distancia</string>
|
||||
<string name="announcement_time_descr">El tiempo de anuncio de las diferentes indicaciones por voz depende del tipo de mensaje, la velocidad de navegación actual y la velocidad de navegación predefinida.</string>
|
||||
<string name="announcement_time_title">Tiempo de anuncio</string>
|
||||
<string name="start_recording">Iniciar grabación</string>
|
||||
<string name="show_track_on_map">Mostrar traza en el mapa</string>
|
||||
<string name="routing_engine_vehicle_type_wheelchair">Silla de ruedas</string>
|
||||
<string name="routing_engine_vehicle_type_hiking">Senderismo</string>
|
||||
<string name="routing_engine_vehicle_type_walking">Peatón</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_electric">Ciclismo eléctrico</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_mountain">Ciclismo de montaña</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_road">Ciclismo de ruta</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_regular">Ciclismo regular</string>
|
||||
<string name="routing_engine_vehicle_type_hgv">Vehículos pesados</string>
|
||||
<string name="routing_engine_vehicle_type_small_truck">Camión pequeño</string>
|
||||
<string name="routing_engine_vehicle_type_truck">Camión</string>
|
||||
<string name="routing_engine_vehicle_type_scooter">Motoneta</string>
|
||||
<string name="routing_engine_vehicle_type_racingbike">Bicicleta de carreras</string>
|
||||
<string name="routing_engine_vehicle_type_mtb">Bicicleta de montaña</string>
|
||||
<string name="message_server_error">Error de servidor: %1$s</string>
|
||||
<string name="message_name_is_already_exists">El nombre ya existe</string>
|
||||
</resources>
|
|
@ -643,7 +643,7 @@
|
|||
<string name="poi_fuel_jeta1">Jet A-1 kütus</string>
|
||||
<string name="poi_mountain_pass">Mäekuru</string>
|
||||
<string name="poi_waterway_fuel">Paatide bensiinijaam</string>
|
||||
<string name="poi_electricity_combined_charging">Laadimisjaam</string>
|
||||
<string name="poi_electricity_combined_charging">Laadimisjaam;Elektriautode laadimisjaam;Elektriauto laadimine;Laadimispunkt;Elektriautode laadimispunkt</string>
|
||||
<string name="poi_park_ride_ferry">Parvlaev</string>
|
||||
<string name="poi_9pin">Üheksa kurikaga keegel</string>
|
||||
<string name="poi_10pin">Kümne kurikaga keegel</string>
|
||||
|
@ -3877,4 +3877,8 @@
|
|||
<string name="poi_diplomatic_services_non_immigrant_visas_no">Ei</string>
|
||||
<string name="poi_waste_transfer_station">Jäätmejaam</string>
|
||||
<string name="poi_lavoir">Avalik pesumaja</string>
|
||||
<string name="poi_swimming_area">Ujumiskoht</string>
|
||||
<string name="poi_wildlife_crossing_bat_tunnel">Tunnel nahkhiirtele</string>
|
||||
<string name="poi_wildlife_crossing_bat_bridge">Sild nahkhiirtele</string>
|
||||
<string name="poi_wildlife_crossing">Metsloomade teeületuskoht</string>
|
||||
</resources>
|
|
@ -3946,4 +3946,6 @@
|
|||
<string name="reverse_all_points">Pööra kõik punktid ümber</string>
|
||||
<string name="profile_by_default_description">Vali rakenduse käivitamisel kasutatav profiil.</string>
|
||||
<string name="shared_string_last_used">Viimati kasutatud</string>
|
||||
<string name="message_server_error">Serveri viga: %1$s</string>
|
||||
<string name="message_name_is_already_exists">Selline nimi on juba olemas</string>
|
||||
</resources>
|
|
@ -3957,4 +3957,27 @@
|
|||
<string name="select_folder">Sélectionnez le dossier</string>
|
||||
<string name="select_folder_descr">Sélectionnez un dossier ou créez-en un nouveau</string>
|
||||
<string name="shared_string_empty">Vide</string>
|
||||
<string name="announcement_time_approach">Approche</string>
|
||||
<string name="announcement_time_prepare">Préparation</string>
|
||||
<string name="announcement_time_prepare_long">Longue préparation</string>
|
||||
<string name="announcement_time_arrive">Arrivé à destination</string>
|
||||
<string name="shared_string_turn">Tourner</string>
|
||||
<string name="show_track_on_map">Afficher la trace sur la carte</string>
|
||||
<string name="routing_engine_vehicle_type_scooter">Trottinette</string>
|
||||
<string name="routing_engine_vehicle_type_small_truck">Camionnette</string>
|
||||
<string name="upload_to_openstreetmap">Envoyer vers OpenStreetMap</string>
|
||||
<string name="edit_track">Modifier la trace</string>
|
||||
<string name="rename_track">Renommer la trace</string>
|
||||
<string name="change_folder">Modifier le dossier</string>
|
||||
<string name="shared_string_sec">sec</string>
|
||||
<string name="start_recording">Démarrer l\'enregistrement</string>
|
||||
<string name="routing_engine_vehicle_type_wheelchair">Fauteuil roulant</string>
|
||||
<string name="routing_engine_vehicle_type_hiking">Randonnée</string>
|
||||
<string name="routing_engine_vehicle_type_walking">Marche</string>
|
||||
<string name="routing_engine_vehicle_type_truck">Camion</string>
|
||||
<string name="routing_engine_vehicle_type_racingbike">Vélo de course</string>
|
||||
<string name="routing_engine_vehicle_type_mtb">VTT</string>
|
||||
<string name="message_server_error">Erreur serveur : %1$s</string>
|
||||
<string name="message_name_is_already_exists">Ce nom existe déjà</string>
|
||||
<string name="routing_engine_vehicle_type_hgv">Poids lourds</string>
|
||||
</resources>
|
|
@ -266,7 +266,7 @@
|
|||
<string name="send_location">Hely pozíció elküldése</string>
|
||||
<string name="context_menu_item_share_location">Hely megosztása</string>
|
||||
<string name="add_waypoint_dialog_added">\'\'{0}\'\' GPX-útpont hozzáadva</string>
|
||||
<string name="add_waypoint_dialog_title">Útpont hozzáadása a rögzített GPX-útvonalhoz</string>
|
||||
<string name="add_waypoint_dialog_title">Útpont hozzáadása felvett GPX nyomvonalhoz</string>
|
||||
<string name="amenity_type_administrative">Közigazgatás</string>
|
||||
<string name="amenity_type_barrier">Akadály</string>
|
||||
<string name="amenity_type_education">Oktatás</string>
|
||||
|
@ -545,7 +545,7 @@
|
|||
<string name="shared_string_settings">Beállítások</string>
|
||||
<string name="save_current_track_descr">Jelenlegi nyomvonal mentése GPX fájlba most.</string>
|
||||
<string name="save_current_track">Jelenlegi nyomvonal mentése</string>
|
||||
<string name="save_track_interval_descr">A navigáció alatti útvonalrögzítéshez adja meg a naplózási intervallumot</string>
|
||||
<string name="save_track_interval_descr">A navigáció alatti nyomvonalfelvételhez adja meg a naplózási intervallumot</string>
|
||||
<string name="save_track_interval">Naplózási intervallum navigáció közben</string>
|
||||
<string name="save_track_to_gpx_descrp">Navigáció közben a GPX útvonal automatikusan mentésre kerül az OsmAnd „tracks” könyvtárába.</string>
|
||||
<string name="reload_tile">Térképcsempe újratöltése</string>
|
||||
|
@ -852,7 +852,7 @@
|
|||
<string name="intermediate_point">%1$s köztes célpont</string>
|
||||
<string name="gps_not_available">Kérlek engedélyezd a GPS-t a beállításokban</string>
|
||||
<string name="map_widget_show_destination_arrow">Célpont irányának megjelenítése</string>
|
||||
<string name="enable_plugin_monitoring_services">A pozíciónaplózási szolgáltatások (GPX naplózás, online útvonalrögzítés) használatához engedélyed az „Útvonalrögzítés” bővítményt</string>
|
||||
<string name="enable_plugin_monitoring_services">A pozíciónaplózási szolgáltatások (GPX naplózás, online útvonalrögzítés) használatához engedélyed az „Utazás felvétele” bővítményt</string>
|
||||
<string name="non_optimal_route_calculation">Esetleg nem optimális útvonal kiszámítása nagyobb távolságokra</string>
|
||||
<string name="rendering_attr_roadColors_description">Útszínséma kiválasztása:</string>
|
||||
<string name="rendering_attr_roadColors_name">Útszín sémája</string>
|
||||
|
@ -954,8 +954,8 @@
|
|||
<string name="osmand_plus_play_title_30_chars">OsmAnd+ térkép és navigáció</string>
|
||||
<string name="street_name">Utcanév</string>
|
||||
<string name="hno">Házszám</string>
|
||||
<string name="monitoring_settings">Útvonalrögzítés</string>
|
||||
<string name="monitoring_settings_descr">Az útvonalaid felvételének beállításai.</string>
|
||||
<string name="monitoring_settings">Utazás felvétele</string>
|
||||
<string name="monitoring_settings_descr">Az utazások felvételének beállításai.</string>
|
||||
<string name="choose_osmand_theme_descr">Az alkalmazás megjelenésének testreszabása.</string>
|
||||
<string name="choose_osmand_theme">Téma</string>
|
||||
<string name="accessibility_options">Akadálymentesítési lehetőségek</string>
|
||||
|
@ -1296,7 +1296,7 @@
|
|||
<string name="record_plugin_description">Ez a bővítmény aktiválja a nyomvonalak rögzítésének és mentésének lehetőségét, ha megnyomja a GPX naplózó gombot a térképképernyőn, valamint képes minden navigációs útvonalat automatikusan egy GPX-fájlba naplózni.
|
||||
\n
|
||||
\nA rögzített nyomvonalak megoszthatók az ismerősökkel, vagy használhatók az OSM hozzájárulásoknál. A sportolók a rögzített nyomvonalakat az edzéseik megfigyeléséhez használhatják. Néhány alapvető nyomvonalelemzés közvetlenül az OsmAnd programon belül is végrehajtható, mint például köridők, átlagsebesség stb., és természetesen a nyomvonalak később harmadik féltől származó elemzőeszközökkel is elemezhetők.</string>
|
||||
<string name="record_plugin_name">Útvonalrögzítés</string>
|
||||
<string name="record_plugin_name">Utazás felvétele</string>
|
||||
<string name="int_hour">ó</string>
|
||||
<string name="duration">Időtartam</string>
|
||||
<string name="distance">Távolság</string>
|
||||
|
@ -1435,7 +1435,7 @@
|
|||
<string name="track_points">Nyomvonal pontok</string>
|
||||
<string name="shared_string_selected">Kijelölve</string>
|
||||
<string name="rename_failed">Az átnevezés nem sikerült.</string>
|
||||
<string name="shared_string_currently_recording_track">Jelenleg rögzülő nyomvonal</string>
|
||||
<string name="shared_string_currently_recording_track">Jelenleg felvett nyomvonal</string>
|
||||
<string name="back_to_map">Vissza a térképhez</string>
|
||||
<string name="location_on_map">Helyzet:\n Szélesség %1$s\n Hosszúság %2$s</string>
|
||||
<string name="route_points">Útvonal pontok</string>
|
||||
|
@ -1660,11 +1660,11 @@
|
|||
<string name="min_mile">perc/mérföld</string>
|
||||
<string name="min_km">perc/km</string>
|
||||
<string name="m_s">m/s</string>
|
||||
<string name="shared_string_trip_recording">Útvonalrögzítés</string>
|
||||
<string name="shared_string_trip_recording">Utazás felvétele</string>
|
||||
<string name="shared_string_navigation">Navigáció</string>
|
||||
<string name="osmand_running_in_background">Háttérben fut</string>
|
||||
<string name="simulate_your_location_stop_descr">Pozíciószimuláció leállítása.</string>
|
||||
<string name="simulate_your_location_descr">Szimuláció megtervezett útvonallal vagy felvett GPX-szel.</string>
|
||||
<string name="simulate_your_location_descr">Szimuláció megtervezett útvonallal vagy felvett GPX nyomvonallal.</string>
|
||||
<string name="av_locations_descr">GPX-fájl helyszínekkel.</string>
|
||||
<string name="av_locations">Helyszín</string>
|
||||
<string name="routing_attr_avoid_shuttle_train_name">Autószállító vonat nélkül</string>
|
||||
|
@ -1889,8 +1889,8 @@
|
|||
<string name="n_items_removed">elem eltávolítva</string>
|
||||
<string name="shared_string_type">Típus</string>
|
||||
<string name="starting_point">Kiindulópont</string>
|
||||
<string name="rec_split">Felvétel vágás</string>
|
||||
<string name="rec_split_title">Felvétel automatikus darabolása</string>
|
||||
<string name="rec_split">Felvétel vágása</string>
|
||||
<string name="rec_split_title">Felvétel automatikus elvágása</string>
|
||||
<string name="rec_split_clip_length">Klipp hossz</string>
|
||||
<string name="rec_split_storage_size">Tárolási méret</string>
|
||||
<string name="number_of_contributors">Közreműködők száma</string>
|
||||
|
@ -1908,8 +1908,8 @@
|
|||
<string name="file_name_containes_illegal_char">Érvénytelen karakter a fájlnévben</string>
|
||||
<string name="storage_permission_restart_is_required">Az alkalmazás már tud írni a külső tárolóra, de ehhez egy kézi újraindítás szükséges.</string>
|
||||
<string name="rec_split_desc">Klipek elvágása, ha a felhasznált hely túllépi a tárolási méretet.</string>
|
||||
<string name="rec_split_clip_length_desc">A felvett klipek maximális hossza.</string>
|
||||
<string name="rec_split_storage_size_desc">Az összes klip által elfoglalható hely.</string>
|
||||
<string name="rec_split_clip_length_desc">A felvett klipek legnagyobb hossza.</string>
|
||||
<string name="rec_split_storage_size_desc">Az összes felvett klip által elfoglalható hely.</string>
|
||||
<string name="no_map_markers_found">Kérjük, vegyen fel jelölőket a térképen</string>
|
||||
<string name="no_waypoints_found">Nem találhatók útpontok</string>
|
||||
<string name="map_widget_bearing">Relatív irány</string>
|
||||
|
@ -2036,12 +2036,12 @@
|
|||
<string name="gpx_no_tracks_title_folder">A mappához ön is adhat nyomvonalfájlokat</string>
|
||||
<string name="gpx_add_track">Továbbiak hozzáadása…</string>
|
||||
<string name="shared_string_appearance">Megjelenés</string>
|
||||
<string name="trip_rec_notification_settings">Gyors rögzítés bekapcsolása</string>
|
||||
<string name="trip_rec_notification_settings_desc">Egy útvonalrögzítés megkezdését lehetővé tevő rendszerértesítés megjelenítése.</string>
|
||||
<string name="trip_rec_notification_settings">Gyors felvétel bekapcsolása</string>
|
||||
<string name="trip_rec_notification_settings_desc">Az utazásfelvétel megkezdését lehetővé tevő rendszerértesítés megjelenítése.</string>
|
||||
<string name="shared_string_notifications">Értesítések</string>
|
||||
<string name="shared_string_pause">Szünet</string>
|
||||
<string name="shared_string_trip">Túra</string>
|
||||
<string name="shared_string_recorded">Felvett</string>
|
||||
<string name="shared_string_recorded">Felvéve</string>
|
||||
<string name="shared_string_record">Felvétel</string>
|
||||
<string name="save_track_min_speed">Legkisebb naplózási sebesség</string>
|
||||
<string name="save_track_min_speed_descr">Szűrő: Ez alatti sebességnél nem rögzít pontot.</string>
|
||||
|
@ -2307,8 +2307,8 @@
|
|||
<string name="distance_moving">Korrigált távolság</string>
|
||||
<string name="shared_string_permissions">Engedélyek</string>
|
||||
<string name="import_gpx_failed_descr">Nem sikerült a fájl importálása. Győződjék meg arról, hogy az OsmAndnak van engedélye a fájl olvasására.</string>
|
||||
<string name="store_tracks_in_monthly_directories">Rögzített nyomvonalak tárolása havi könyvtárakban</string>
|
||||
<string name="store_tracks_in_monthly_directories_descrp">Rögzített nyomvonalak tárolása havi bontású alkönyvtárakban (pl. 2018-01).</string>
|
||||
<string name="store_tracks_in_monthly_directories">Felvett nyomvonalak tárolása havi mappákban</string>
|
||||
<string name="store_tracks_in_monthly_directories_descrp">Felvett nyomvonalak tárolása havi bontású almappákban (pl. 2018-01).</string>
|
||||
<string name="shared_string_reset">Visszaállítás</string>
|
||||
<string name="shared_string_reload">Újratöltés</string>
|
||||
<string name="mapillary_menu_descr_tile_cache">Csempék újratöltése naprakész adatok megjelenítéséhez.</string>
|
||||
|
@ -2435,7 +2435,7 @@
|
|||
<string name="wrong_format">Hibás formátum</string>
|
||||
<string name="shared_string_road">Út</string>
|
||||
<string name="empty_state_osm_edits">OSM-objektum létrehozása vagy módosítása</string>
|
||||
<string name="empty_state_osm_edits_descr">Hozzon létre vagy módosítson OSM POI-kat, nyisson vagy kommenteljen OSM-jegyzeteket, és működjék közre rögzített GPX-nyomvonalakkal.</string>
|
||||
<string name="empty_state_osm_edits_descr">Hozzon létre vagy módosítson OSM POI-kat, nyisson vagy kommenteljen OSM-jegyzeteket, és működjék közre felvett GPX-nyomvonalakkal.</string>
|
||||
<string name="shared_string_deleted">Törölve</string>
|
||||
<string name="shared_string_edited">Szerkesztve</string>
|
||||
<string name="shared_string_added">Hozzáadva</string>
|
||||
|
@ -2720,7 +2720,7 @@
|
|||
<string name="lang_gn_py">guarani</string>
|
||||
<string name="osmand_extended_description_part2">GPS navigáció
|
||||
\n • Válassz az offline (nincs roamingdíj külföldön) vagy online (gyorsabb) mód között
|
||||
\n • Kanyaronkénti hangutasítások vezetnek végig az úton (rögzített és előállított hangok)
|
||||
\n • Kanyaronkénti hangutasítások vezetnek végig az úton (felvett és előállított hangok)
|
||||
\n • Az útvonalterv újratervezésre kerül, ha eltérsz attól
|
||||
\n • Sávvezérlés, utcanevek, és becsült érkezési idő segít az úton
|
||||
\n • Az út biztonságosabbá tételéhez a nappali/éjszakai mód automatikusan vált
|
||||
|
@ -3105,9 +3105,9 @@
|
|||
<string name="quick_action_show_hide_hillshade">Domborzatárnyékolás megjelenítése/elrejtése</string>
|
||||
<string name="track_storage_directory">Nyomvonal tárolási könyvtára</string>
|
||||
<string name="track_storage_directory_descrp">A nyomvonalak a \'rec\' könyvtárban tárolhatók, havi vagy napi bontás szerinti könyvtárakban.</string>
|
||||
<string name="store_tracks_in_rec_directory">Nyomvonalak rögzítése a \'rec\' könyvtárba</string>
|
||||
<string name="store_tracks_in_daily_directories">Nyomvonalak rögzítése napi bontású könyvtárakba</string>
|
||||
<string name="store_tracks_in_daily_directories_descrp">Nyomvonalak rögzítése alkönyvtárakba a rögzítés napja szerint (pl. 2018-01-01).</string>
|
||||
<string name="store_tracks_in_rec_directory">Nyomvonalak felvétele a \'rec\' mappába</string>
|
||||
<string name="store_tracks_in_daily_directories">Nyomvonalak felvétele napi bontású mappákba</string>
|
||||
<string name="store_tracks_in_daily_directories_descrp">Nyomvonalak rögzítése a rögzítés napja szerinti almappákba (pl. 2018-01-01).</string>
|
||||
<string name="export_profile">Profil exportálása</string>
|
||||
<string name="exported_osmand_profile">OsmAnd profil: %1$s</string>
|
||||
<string name="overwrite_profile_q">\'%1$s\' már létezik. Felülírja\?</string>
|
||||
|
@ -3211,7 +3211,7 @@
|
|||
<string name="rendering_attr_piste_difficulty_novice_name">Kezdő</string>
|
||||
<string name="rendering_attr_piste_difficulty_easy_name">Könnyű</string>
|
||||
<string name="rendering_attr_piste_difficulty_connection_name">Kapcsolat</string>
|
||||
<string name="simulate_your_location_gpx_descr">Pozíció szimulálása egy rögzített GPX-nyomvonal felhasználásával.</string>
|
||||
<string name="simulate_your_location_gpx_descr">Pozíció szimulálása egy felvett GPX nyomvonal felhasználásával.</string>
|
||||
<string name="rendering_attr_showCycleNodeNetworkRoutes_name">Kerékpárút-hálózatok csomópontjainak megjelenítése</string>
|
||||
<string name="clear_confirmation_msg">Törölje ezt: %1$s\?</string>
|
||||
<string name="rendering_value_walkingRoutesOSMCNodes_name">Ponthálózatok</string>
|
||||
|
@ -3222,7 +3222,7 @@
|
|||
<string name="new_plugin_added">Új bővítmény hozzáadva</string>
|
||||
<string name="join_segments">Szegmensek összekapcsolása</string>
|
||||
<string name="save_heading">Irány belefoglalása</string>
|
||||
<string name="save_heading_descr">Rögzítéskor menti az egyes útpontok irányát is.</string>
|
||||
<string name="save_heading_descr">Felvételkor az egyes útpontok irányát is menti.</string>
|
||||
<string name="select_navigation_icon">Pozíció ikon haladás közben</string>
|
||||
<string name="select_map_icon">Pozíció ikon álló helyzetben</string>
|
||||
<string name="delete_profiles_descr">Az Alkalmaz-ra koppintva a törölt profilok végérvényesen elvesznek.</string>
|
||||
|
@ -3332,10 +3332,10 @@
|
|||
<string name="multimedia_notes_prefs_descr">Képméret, hang- és videominőség</string>
|
||||
<string name="osm_editing_prefs_descr">Bejelentkezés, jelszó, offline szerkesztés</string>
|
||||
<string name="accessibility_prefs_descr">Ikonalak, -szín és -méret kiválasztása</string>
|
||||
<string name="live_monitoring_descr">Lehetővé teszi az útvonal rögzítésével az aktuális pozíció megosztását.</string>
|
||||
<string name="live_monitoring_descr">Az utazás felvételével lehetővé teszi az aktuális pozíció megosztását.</string>
|
||||
<string name="live_monitoring">Online nyomvonalrögzítés</string>
|
||||
<string name="save_track_logging_accuracy">Naplózás pontossága</string>
|
||||
<string name="tracks_view_descr">Az összes rögzített nyomvonal megtalálható a %1$s helyen vagy a fájlkezelővel az OsmAnd mappában.</string>
|
||||
<string name="tracks_view_descr">Az összes felvett nyomvonal megtalálható a %1$s helyen vagy a fájlkezelővel az OsmAnd mappában.</string>
|
||||
<string name="multimedia_notes_view_descr">Az összes OSM-jegyzetét megtalálja a %1$s helyen.</string>
|
||||
<string name="video_notes">Videojegyzetek</string>
|
||||
<string name="photo_notes">Fényképes jegyzetek</string>
|
||||
|
@ -3376,7 +3376,7 @@
|
|||
<string name="restore_all_profile_settings">Visszaállítja a profil összes beállítását\?</string>
|
||||
<string name="saving_new_profile">Új profil mentése</string>
|
||||
<string name="profile_backup_failed">Profil biztonsági mentése sikertelen.</string>
|
||||
<string name="clear_recorded_data_warning">Biztosan törölni szeretné a rögzített adatokat\?</string>
|
||||
<string name="clear_recorded_data_warning">Biztosan törölni szeretné a felvett adatokat\?</string>
|
||||
<string name="importing_from">Adatok importálása innen: %1$s</string>
|
||||
<string name="shared_string_importing">Importálás</string>
|
||||
<string name="slope_read_more">A lejtőkről többet olvashat itt: %1$s.</string>
|
||||
|
@ -3428,7 +3428,7 @@
|
|||
<string name="shared_string_octagon">Nyolcszög</string>
|
||||
<string name="shared_string_square">Négyzet</string>
|
||||
<string name="shared_string_min">Min</string>
|
||||
<string name="clear_recorded_data">Rögzített adatok törlése</string>
|
||||
<string name="clear_recorded_data">Felvett adatok törlése</string>
|
||||
<string name="terrain_empty_state_text">Engedélyezésével domborzatárnyékolás vagy lejtőtérkép jeleníthető meg. Ezekről a térképfajtákról többet olvashat a honlapunkon.</string>
|
||||
<string name="app_mode_ski_touring">Túrasízés</string>
|
||||
<string name="app_mode_ski_snowmobile">Motoros szán</string>
|
||||
|
@ -3704,10 +3704,10 @@
|
|||
\n
|
||||
\n</string>
|
||||
<string name="gpx_split_interval_descr">Válassza ki, hogy a nyomvonalon milyen távolság- vagy időintervallumok jelzései jelenjenek meg.</string>
|
||||
<string name="monitoring_min_distance_descr">Ez a szűrő kiküszöböli az ismétlődő pontok rögzítését ott, ahol túl kevés tényleges mozgás történhetett, így szebb lesz a később utólag fel nem dolgozott nyomvonalak térbeli megjelenése.</string>
|
||||
<string name="monitoring_min_distance_descr">Ez a szűrő kiküszöböli az ismétlődő pontok felvételét ott, ahol túl kevés tényleges mozgás történhetett, így szebb lesz a később utólag fel nem dolgozott nyomvonalak térbeli megjelenése.</string>
|
||||
<string name="multimedia_rec_split_title">Felvétel vágása</string>
|
||||
<string name="disable_recording_once_app_killed_descrp">A nyomvonal naplózása szünetelni fog, amikor az alkalmazást (újabb alkalmazásokkal) kilövik. (Ilyenkor az OsmAnd háttérjelzése is eltűnik az Android értesítési sávjáról.)</string>
|
||||
<string name="monitoring_min_speed_descr_recommendation">Javaslat: Először próbálja meg a mozgásérzékelést használni a legkisebb elmozdulást naplózó szűrővel (B). Ez jobb eredményeket hozhat, és kevesebb adatot veszít. Ha a nyomvonalak alacsony sebességnél továbbra is zajosak, próbálkozzon itt nullától eltérő értékekkel. Felhívjuk figyelmét, hogy egyes (hálózatalapú módszereket használó) mérőeszközök egyáltalán nem adnak sebességértéket, így ebben az esetben semmi sem fog rögzülni.</string>
|
||||
<string name="monitoring_min_speed_descr_recommendation">Javaslat: Először próbálja meg a mozgásérzékelést használni a legkisebb elmozdulást naplózó szűrővel (B). Ez jobb eredményeket hozhat, és kevesebb adatot veszít. Ha a nyomvonalak alacsony sebességnél továbbra is zajosak, próbálkozzon itt nullától eltérő értékekkel. Felhívjuk figyelmét, hogy egyes (hálózatalapú módszereket használó) mérőeszközök egyáltalán nem adnak sebességértéket, így ebben az esetben semmi sem lesz felvéve.</string>
|
||||
<string name="street_level_imagery">Utcaszintű képek</string>
|
||||
<string name="simplified_track_description">Csak az út vonala lesz elmentve, az útpontok törlődnek.</string>
|
||||
<string name="track_show_start_finish_icons">Kiindulás és érkezés ikonjainak megjelenítése</string>
|
||||
|
@ -3718,7 +3718,7 @@
|
|||
<string name="all_previous_segments_will_be_recalc">Minden korábbi szakasz újra lesz számítva a kiválasztott profilnak megfelelően.</string>
|
||||
<string name="update_tile">Térkép frissítése</string>
|
||||
<string name="previous_segment">Előző szakasz</string>
|
||||
<string name="monitoring_min_accuracy_descr">Ez csak a minimális pontosságúnak megjelölt mért pontokat rögzíti (méterben/lábban, ahogy azt az Android a lapkakészletnek közvetíti). Ez pontosság (accuracy) a mérések valódi helyzethez való közelsége, és nem kapcsolódik közvetlenül az ismételt mérések szórásának pontosságához (precision).</string>
|
||||
<string name="monitoring_min_accuracy_descr">Ez csak a minimális pontosságúnak megjelölt mért pontokat veszi fel (méterben/lábban, ahogy azt az Android a lapkakészletnek közvetíti). Ez pontosság (accuracy) a mérések valódi helyzethez való közelsége, és nem kapcsolódik közvetlenül az ismételt mérések szórásának pontosságához (precision).</string>
|
||||
<string name="follow_track">Nyomvonal követése</string>
|
||||
<string name="monitoring_control_start">REC</string>
|
||||
<string name="system_default_theme">Rendszer alapértelmezett értékei</string>
|
||||
|
@ -3728,8 +3728,8 @@
|
|||
<string name="quick_action_add_gpx">Útpont hozzáadása a nyomvonalhoz</string>
|
||||
<string name="save_track_to_gpx_globally">Nyomvonal rögzítése GPX-fájlba</string>
|
||||
<string name="layer_gpx_layer">Nyomvonalak</string>
|
||||
<string name="empty_state_my_tracks_desc">Nyomvonalfájlok importálása vagy rögzítése</string>
|
||||
<string name="monitoring_min_speed_descr">Ez egy alacsonysebesség-leválasztó szűrő, amely egy bizonyos sebesség alatt nem rögzít pontokat. Ezáltal a rögzített nyomvonalak simábbnak néznek ki a térképen.</string>
|
||||
<string name="empty_state_my_tracks_desc">Nyomvonalfájlok importálása vagy felvétele</string>
|
||||
<string name="monitoring_min_speed_descr">Ez egy alacsonysebesség-leválasztó szűrő, amely egy bizonyos sebesség alatt nem vesz fel pontokat. Ezáltal a felvett nyomvonalak simábbnak néznek ki a térképen.</string>
|
||||
<string name="checking_for_duplicate_description">Az OsmAnd ellenőrizze %1$s-t, hogy vannak-e másolatok az alkalmazás meglévő elemeivel.
|
||||
\n
|
||||
\nEz eltarthat egy ideig.</string>
|
||||
|
@ -3740,7 +3740,7 @@
|
|||
<string name="monitoring_min_accuracy_descr_side_effect">Mellékhatás: A pontosság szerinti szűrés eredményeként egyes pontok teljesen hiányozhatnak pl. hidak vagy fák alatt, magas épületek között, vagy bizonyos időjárási körülmények között.</string>
|
||||
<string name="threshold_distance">Küszöbtávolság</string>
|
||||
<string name="start_of_the_track">Nyomvonal kezdete</string>
|
||||
<string name="save_track_to_gpx">Nyomvonal automatikus rögzítése navigáció közben</string>
|
||||
<string name="save_track_to_gpx">Nyomvonal automatikus felvétele navigáció közben</string>
|
||||
<string name="monitoring_min_speed_descr_side_effect">Mellékhatás: A nyomvonalból hiányozni fog minden olyan szakasz, ahol a legkisebb sebesség feltétele nem teljesült (pl. egy meredek dombra tolja fel a kerékpárt). Nem lesz információ az állásokról sem, például a pihenőkről. Ez hatással van minden elemzésre és utófeldolgozásra, például amikor megpróbálja meghatározni az utazás teljes hosszát, a mozgásban töltött időt vagy az átlagsebességét.</string>
|
||||
<string name="one_point_error">Adjon hozzá legalább két pontot.</string>
|
||||
<string name="attach_to_the_roads">Csatolás az utakhoz</string>
|
||||
|
@ -3762,8 +3762,8 @@
|
|||
<string name="context_menu_item_add_waypoint">Útpont hozzáadása a nyomvonalhoz</string>
|
||||
<string name="plan_route_change_route_type_after">Útvonaltípus módosítása ez után:</string>
|
||||
<string name="shared_string_gpx_route">Útvonal követése</string>
|
||||
<string name="monitoring_min_accuracy_descr_recommendation">Ajánlás: Nehéz megjósolni, hogy mi fog rögzülni és mi nem, így talán a legjobb ezt a szűrőt kikapcsolni.</string>
|
||||
<string name="map_widget_monitoring">Utazás rögzítése</string>
|
||||
<string name="monitoring_min_accuracy_descr_recommendation">Ajánlás: Nehéz megjósolni, hogy mi lesz a felvételen és mi nem, így talán a legjobb ezt a szűrőt kikapcsolni.</string>
|
||||
<string name="map_widget_monitoring">Utazás felvétele</string>
|
||||
<string name="search_offline_geo_error">Nem sikerült elemezni a következő térképmegjelenítési szándékot: „%s”.</string>
|
||||
<string name="plan_route_open_existing_track">Meglévő nyomvonal megnyitása</string>
|
||||
<string name="track_coloring_solid">Tömör</string>
|
||||
|
@ -3771,14 +3771,14 @@
|
|||
<string name="route_between_points_next_segment_button_desc">Csak a következő szakasz lesz újraszámítva a kiválasztott profilnak megfelelően.</string>
|
||||
<string name="route_between_points_warning_desc">Ezután a beállítás használatához igazítsa a nyomvonalat a legközelebbi úthoz az egyik navigációs profil segítségével.</string>
|
||||
<string name="shared_string_custom">Egyedi</string>
|
||||
<string name="gpx_monitoring_stop">Utazás rögzítésének szüneteltetése</string>
|
||||
<string name="gpx_monitoring_stop">Utazás felvételének szüneteltetése</string>
|
||||
<string name="shared_string_save_as_gpx">Mentés új nyomvonalfájlként</string>
|
||||
<string name="plan_route_last_edited">Utoljára szerkesztve</string>
|
||||
<string name="save_global_track_interval_descr">Adja meg az általános nyomvonalrögzítés naplózási intervallumát (bekapcsolva a térképen található „Utazás rögzítése” widgettel).</string>
|
||||
<string name="save_global_track_interval_descr">Adja meg az általános nyomvonalfelvétel naplózási intervallumát (bekapcsolva a térképen található „Utazás felvétele” widgettel).</string>
|
||||
<string name="gpx_split_interval_none_descr">Válassza ki a kívánt felosztási lehetőséget: idő vagy távolság szerint.</string>
|
||||
<string name="gpx_monitoring_start">Utazás rögzítésének folytatása</string>
|
||||
<string name="gpx_monitoring_start">Utazás felvételének folytatása</string>
|
||||
<string name="navigation_profile">Navigációs profil</string>
|
||||
<string name="monitoring_min_speed_descr_remark">Megjegyzés a „sebesség > 0” ellenőrzéséhez: A legtöbb GPS lapkakészlet (chipset) csak akkor mutat sebességértéket, ha az algoritmus megállapítja, hogy mozgásban van. Ha nincs mozgás, akkor nem mutatnak sebességet. Ezért ebben a szűrőben a „> 0” beállítás bizonyos értelemben a GPS lapkakészlet mozgásérzékelését használja. De – még ha a rögzítés ideje alatt itt nem is szűrjük – a GPX elemzése során mégis használjuk ezt a funkciót a korrigált távolság meghatározásához, vagyis az abban a mezőben megjelenített érték a mozgás közben rögzített távolság.</string>
|
||||
<string name="monitoring_min_speed_descr_remark">Megjegyzés a „sebesség > 0” ellenőrzéséhez: A legtöbb GPS lapkakészlet (chipset) csak akkor mutat sebességértéket, ha az algoritmus megállapítja, hogy mozgásban van. Ha nincs mozgás, akkor nem mutatnak sebességet. Ezért ebben a szűrőben a „> 0” beállítás bizonyos értelemben a GPS lapkakészlet mozgásérzékelését használja. De – még ha a felvétel ideje alatt itt nem is szűrjük – a GPX elemzése során mégis használjuk ezt a funkciót a korrigált távolság meghatározásához, vagyis az abban a mezőben megjelenített érték a mozgás közben rögzített távolság.</string>
|
||||
<string name="only_selected_segment_recalc">Csak a kijelölt szakasz lesz újraszámítva a kiválasztott profilnak megfelelően.</string>
|
||||
<string name="plan_route_exit_dialog_descr">Biztosan elveti az összes módosítást a tervezett útvonalon\?</string>
|
||||
<string name="follow_track_descr">Válassza ki a követendő nyomvonalfájlt</string>
|
||||
|
@ -3793,7 +3793,7 @@
|
|||
<string name="nearest_point">Legközelebbi pont</string>
|
||||
<string name="empty_state_my_tracks">Nyomvonalfájlok hozzáadása</string>
|
||||
<string name="in_case_of_reverse_direction">Fordított irány esetén</string>
|
||||
<string name="monitoring_min_distance_descr_side_effect">Mellékhatások: A nyugalmi periódusok egyáltalán nem vagy csak egy ponttal rögzülnek. Kiszűrhetők a kis (valós) mozgások (pl. az út során egy átvezető út jelzése céljából megtett kitérők). A fájl kevesebb információt tartalmaz az utófeldolgozáshoz és rosszabb a statisztikája, mivel a felvételkor kiszűri a nyilvánvalóan felesleges pontokat, miközben megtarthatja a rossz vétel vagy a GPS lapkakészlet által okozott hibás mintázatok.</string>
|
||||
<string name="monitoring_min_distance_descr_side_effect">Mellékhatások: A nyugalmi periódusok egyáltalán nem vagy csak egy ponttal lesznek felvéve. Kiszűrhetők a kis (valós) mozgások (pl. az út során egy átvezető út jelzése céljából megtett kitérők). A fájl kevesebb információt tartalmaz az utófeldolgozáshoz és rosszabb a statisztikája, mivel a felvételkor kiszűri a nyilvánvalóan felesleges pontokat, miközben megtarthatja a rossz vétel vagy a GPS lapkakészlet által okozott hibás mintázatok.</string>
|
||||
<string name="all_next_segments">Minden későbbi szakasz</string>
|
||||
<string name="number_of_gpx_files_selected_pattern">%s nyomvonalfájl kijelölve</string>
|
||||
<string name="route_between_points_add_track_desc">Jelölje ki azt a nyomvonalfájlt, amelyhez az új szakasz hozzáadódjék.</string>
|
||||
|
@ -3966,4 +3966,29 @@
|
|||
<string name="edit_track">Nyomvonal szerkesztése</string>
|
||||
<string name="rename_track">Nyomvonal átnevezése</string>
|
||||
<string name="change_folder">Mappa módosítása</string>
|
||||
<string name="start_recording">Felvétel indítása</string>
|
||||
<string name="shared_string_sec">mp.</string>
|
||||
<string name="announcement_time_passing">Túlhaladás</string>
|
||||
<string name="announcement_time_approach">Megközelítés</string>
|
||||
<string name="announcement_time_prepare_long">Hosszú felkészülés</string>
|
||||
<string name="announcement_time_prepare">Felkészülés</string>
|
||||
<string name="announcement_time_off_route">Letérés az útvonalról</string>
|
||||
<string name="announcement_time_arrive">Érkezés a célponthoz</string>
|
||||
<string name="shared_string_turn">Bekanyarodás</string>
|
||||
<string name="announcement_time_intervals">Idő- és távolságintervallumok</string>
|
||||
<string name="routing_engine_vehicle_type_mtb">Hegyi kerékpár</string>
|
||||
<string name="routing_engine_vehicle_type_racingbike">Versenykerékpár</string>
|
||||
<string name="show_track_on_map">Nyomvonal megjelenítése a térképen</string>
|
||||
<string name="routing_engine_vehicle_type_wheelchair">Kerekesszék</string>
|
||||
<string name="routing_engine_vehicle_type_hiking">Túrázás</string>
|
||||
<string name="routing_engine_vehicle_type_walking">Gyaloglás</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_electric">E-kerékpározás</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_mountain">Hegyi kerékpározás</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_road">Verenykerékpározás</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_regular">Rendes kerékpározás</string>
|
||||
<string name="routing_engine_vehicle_type_truck">Tgk.</string>
|
||||
<string name="routing_engine_vehicle_type_hgv">Nehéz tgk.</string>
|
||||
<string name="routing_engine_vehicle_type_small_truck">Kisteherautó</string>
|
||||
<string name="message_server_error">Szerverhiba: %1$s</string>
|
||||
<string name="message_name_is_already_exists">Ez a név már létezik</string>
|
||||
</resources>
|
|
@ -3975,4 +3975,15 @@
|
|||
<string name="edit_track">עריכת מסלול</string>
|
||||
<string name="rename_track">שינוי שם מסלול</string>
|
||||
<string name="change_folder">החלפת תיקייה</string>
|
||||
<string name="announcement_time_title">זמן ההכרזה</string>
|
||||
<string name="start_recording">התחלת הקלטה</string>
|
||||
<string name="routing_engine_vehicle_type_wheelchair">כסא גלגלים</string>
|
||||
<string name="routing_engine_vehicle_type_walking">הליכה</string>
|
||||
<string name="routing_engine_vehicle_type_small_truck">משאית קטנה</string>
|
||||
<string name="routing_engine_vehicle_type_truck">משאית</string>
|
||||
<string name="routing_engine_vehicle_type_scooter">קטנוע</string>
|
||||
<string name="routing_engine_vehicle_type_racingbike">אופנוע מרוצים</string>
|
||||
<string name="routing_engine_vehicle_type_mtb">אופני הרים</string>
|
||||
<string name="message_server_error">שגיאת שרת: %1$s</string>
|
||||
<string name="message_name_is_already_exists">השם כבר קיים</string>
|
||||
</resources>
|
|
@ -3963,4 +3963,37 @@
|
|||
<string name="select_folder">Wybierz folder</string>
|
||||
<string name="select_folder_descr">Wybierz folder lub dodaj nowy</string>
|
||||
<string name="shared_string_empty">Opróżnij</string>
|
||||
<string name="analyze_by_intervals">Analiza według przedziałów (przedział podziału)</string>
|
||||
<string name="upload_to_openstreetmap">Prześlij do OpenStreetMap</string>
|
||||
<string name="edit_track">Edytuj trasę</string>
|
||||
<string name="rename_track">Zmień nazwę trasy</string>
|
||||
<string name="change_folder">Zmień folder</string>
|
||||
<string name="shared_string_sec">sek</string>
|
||||
<string name="announcement_time_passing">Omijanie</string>
|
||||
<string name="announcement_time_approach">Podejście</string>
|
||||
<string name="announcement_time_prepare_long">Długie przygotowanie</string>
|
||||
<string name="announcement_time_prepare">Przygotuj</string>
|
||||
<string name="announcement_time_off_route">Poza trasą</string>
|
||||
<string name="announcement_time_arrive">Przyjedź do miejsca docelowego</string>
|
||||
<string name="shared_string_turn">Zakręt</string>
|
||||
<string name="announcement_time_intervals">Odstępy czasowe i odległościowe</string>
|
||||
<string name="announcement_time_descr">Czas ogłaszania różnych komunikatów głosowych zależy od rodzaju komunikatu, aktualnej prędkości nawigacji i domyślnej prędkości nawigacji.</string>
|
||||
<string name="announcement_time_title">Czas ogłoszenia</string>
|
||||
<string name="start_recording">Rozpocznij nagrywanie</string>
|
||||
<string name="show_track_on_map">Pokaż trasę na mapie</string>
|
||||
<string name="routing_engine_vehicle_type_wheelchair">Wózek inwalidzki</string>
|
||||
<string name="routing_engine_vehicle_type_hiking">Wędrówki</string>
|
||||
<string name="routing_engine_vehicle_type_walking">Pieszo</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_electric">Jazda na rowerze elektrycznym</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_mountain">Kolarstwo górskie</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_road">Kolarstwo szosowe</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_regular">Regularna jazda na rowerze</string>
|
||||
<string name="routing_engine_vehicle_type_hgv">HGV</string>
|
||||
<string name="routing_engine_vehicle_type_small_truck">Mała ciężarówka</string>
|
||||
<string name="routing_engine_vehicle_type_truck">Ciężarówka</string>
|
||||
<string name="routing_engine_vehicle_type_scooter">Skuter</string>
|
||||
<string name="routing_engine_vehicle_type_racingbike">Rower wyścigowy</string>
|
||||
<string name="routing_engine_vehicle_type_mtb">MTB</string>
|
||||
<string name="message_server_error">Błąd serwera: %1$s</string>
|
||||
<string name="message_name_is_already_exists">Taka nazwa już istnieje</string>
|
||||
</resources>
|
|
@ -3967,4 +3967,32 @@
|
|||
<string name="edit_track">Editar trilha</string>
|
||||
<string name="rename_track">Renomear trilha</string>
|
||||
<string name="change_folder">Mudar pasta</string>
|
||||
<string name="shared_string_sec">seg</string>
|
||||
<string name="announcement_time_passing">Passando</string>
|
||||
<string name="announcement_time_approach">Aproximação</string>
|
||||
<string name="announcement_time_prepare_long">Longa preparação</string>
|
||||
<string name="announcement_time_prepare">Preparar</string>
|
||||
<string name="announcement_time_off_route">Fora da rota</string>
|
||||
<string name="announcement_time_arrive">Chegue ao destino</string>
|
||||
<string name="shared_string_turn">Virar</string>
|
||||
<string name="announcement_time_intervals">Intervalos de tempo e distância</string>
|
||||
<string name="announcement_time_descr">O tempo de anúncio de diferentes comandos de voz depende do tipo de prompt, velocidade de navegação atual e velocidade de navegação padrão.</string>
|
||||
<string name="announcement_time_title">Hora do anúncio</string>
|
||||
<string name="start_recording">Comece a gravar</string>
|
||||
<string name="show_track_on_map">Mostrar trilha no mapa</string>
|
||||
<string name="routing_engine_vehicle_type_wheelchair">Cadeira de rodas</string>
|
||||
<string name="routing_engine_vehicle_type_hiking">Caminhada</string>
|
||||
<string name="routing_engine_vehicle_type_walking">Caminhando</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_electric">Ciclismo elétrico</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_mountain">Mountain bike</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_road">Ciclismo regular</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_regular">Ciclismo regular</string>
|
||||
<string name="routing_engine_vehicle_type_hgv">Veículos de carga pesada</string>
|
||||
<string name="routing_engine_vehicle_type_small_truck">Caminhão pequeno</string>
|
||||
<string name="routing_engine_vehicle_type_truck">Caminhão</string>
|
||||
<string name="routing_engine_vehicle_type_scooter">Lambreta</string>
|
||||
<string name="routing_engine_vehicle_type_racingbike">Bicicleta de corrida</string>
|
||||
<string name="routing_engine_vehicle_type_mtb">MTB</string>
|
||||
<string name="message_server_error">Erro de servidor: %1$s</string>
|
||||
<string name="message_name_is_already_exists">O nome já existe</string>
|
||||
</resources>
|
|
@ -133,7 +133,7 @@
|
|||
<string name="poi_vehicle_inspection">Kontrola vozidla (technická/emisná)</string>
|
||||
<string name="poi_car_wash">Autoumyváreň</string>
|
||||
<string name="poi_fuel">Benzínová pumpa;Čerpacia stanica</string>
|
||||
<string name="poi_electricity_combined_charging">Nabíjacia stanica</string>
|
||||
<string name="poi_electricity_combined_charging">Nabíjacia stanica pre vozidlá</string>
|
||||
<string name="poi_vehicle_ramp">Servisná rampa na auto</string>
|
||||
<string name="poi_compressed_air">Stlačený vzduch</string>
|
||||
<string name="poi_parking">Parkovisko</string>
|
||||
|
|
|
@ -3967,4 +3967,32 @@
|
|||
<string name="edit_track">Upraviť stopu</string>
|
||||
<string name="rename_track">Premenovať stopu</string>
|
||||
<string name="change_folder">Zmeniť priečinok</string>
|
||||
<string name="shared_string_sec">sek.</string>
|
||||
<string name="announcement_time_passing">Pri bode trasy</string>
|
||||
<string name="announcement_time_approach">Priblíženie sa</string>
|
||||
<string name="announcement_time_prepare_long">Pripraviť sa neskôr</string>
|
||||
<string name="announcement_time_prepare">Pripraviť sa</string>
|
||||
<string name="announcement_time_off_route">Mimo trasy</string>
|
||||
<string name="announcement_time_arrive">Dosiahnutie cieľa</string>
|
||||
<string name="announcement_time_intervals">Intervaly času a vzdialenosti</string>
|
||||
<string name="announcement_time_descr">Čas oznamu rôznych hlasových pokynov závisí od typu pokynu, aktuálnej rýchlosti navigácie a predvolenej rýchlosti navigácie.</string>
|
||||
<string name="announcement_time_title">Čas oznamu</string>
|
||||
<string name="start_recording">Začať záznam</string>
|
||||
<string name="show_track_on_map">Zobraziť stopu na mape</string>
|
||||
<string name="routing_engine_vehicle_type_wheelchair">Invalidný vozík</string>
|
||||
<string name="routing_engine_vehicle_type_hiking">Turistika</string>
|
||||
<string name="routing_engine_vehicle_type_walking">Chôdza</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_electric">Elektrické bicyklovanie</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_mountain">Horské bicyklovanie</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_road">Cestné bicyklovanie</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_regular">Bežné bicyklovanie</string>
|
||||
<string name="routing_engine_vehicle_type_hgv">Nákladné auto</string>
|
||||
<string name="routing_engine_vehicle_type_small_truck">Malé nákladné auto</string>
|
||||
<string name="routing_engine_vehicle_type_truck">Kamión</string>
|
||||
<string name="routing_engine_vehicle_type_scooter">Skúter</string>
|
||||
<string name="routing_engine_vehicle_type_racingbike">Závodný bicykel</string>
|
||||
<string name="routing_engine_vehicle_type_mtb">Horský bicykel</string>
|
||||
<string name="message_server_error">Chyba servera: %1$s</string>
|
||||
<string name="message_name_is_already_exists">Názov už existuje</string>
|
||||
<string name="shared_string_turn">Odbočiť</string>
|
||||
</resources>
|
|
@ -194,7 +194,7 @@
|
|||
<string name="poi_fuel">Gaz istasyonu;Benzin istasyonu;Dolum istasyonu;Petrol istasyonu</string>
|
||||
<string name="poi_fuel_diesel">Dizel</string>
|
||||
<string name="poi_fuel_gtl_diesel">GTL dizel</string>
|
||||
<string name="poi_fuel_hgv_diesel">TIR dizel</string>
|
||||
<string name="poi_fuel_hgv_diesel">Ağır yük aracı dizeli</string>
|
||||
<string name="poi_fuel_biodiesel">Bio dizel</string>
|
||||
<string name="poi_fuel_lpg">LPG</string>
|
||||
<string name="poi_fuel_octane_80">80 Oktan</string>
|
||||
|
@ -215,7 +215,7 @@
|
|||
<string name="poi_fuel_biogas">Biyogaz</string>
|
||||
<string name="poi_fuel_lh2">Sıvı hidrojen</string>
|
||||
<string name="poi_fuel_electricity">Elektrik</string>
|
||||
<string name="poi_electricity_combined_charging">Şarj istasyonu</string>
|
||||
<string name="poi_electricity_combined_charging">Şarj istasyonu; Elektrikli araç şarj istasyonu; EA şarj istasyonu; Elektrikli şarj noktası; Şarj noktası; Elektronik şarj istasyonu; Elektrikli araç besleme ekipmanı</string>
|
||||
<string name="poi_vehicle_ramp">Araç rampa</string>
|
||||
<string name="poi_compressed_air">Basınçlı hava</string>
|
||||
<string name="poi_parking">Otopark</string>
|
||||
|
@ -1187,7 +1187,7 @@
|
|||
<string name="poi_car_pooling">Sürüş paylaşım noktası</string>
|
||||
<string name="poi_park_ride">Park ve sürüş</string>
|
||||
<string name="poi_access_mofa">Mofa erişimi</string>
|
||||
<string name="poi_access_hgv">Ağır vasıta erişimi</string>
|
||||
<string name="poi_access_hgv">Ağır yük aracı erişimi</string>
|
||||
<string name="poi_access_goods">Hafif ticari araç erişimi</string>
|
||||
<string name="poi_berth">Demirleme yeri</string>
|
||||
<string name="poi_buoy_installation">Yükleme şamandırası</string>
|
||||
|
@ -1436,7 +1436,7 @@
|
|||
<string name="poi_traffic_signals_sound_yes">Evet</string>
|
||||
<string name="poi_traffic_signals_sound_no">Ses: hayır</string>
|
||||
<string name="poi_traffic_signals_sound_walk">Sadece yürümeye izin verildiğinde</string>
|
||||
<string name="poi_toll_hgv_yes">Ağır vasıta geçiş ücreti</string>
|
||||
<string name="poi_toll_hgv_yes">Ağır yük aracı geçiş ücreti</string>
|
||||
<string name="poi_rescue_station">Kurtarma istasyonu</string>
|
||||
<string name="poi_bicycle_parking_anchors">Çapalar</string>
|
||||
<string name="poi_services">Servis alanı</string>
|
||||
|
@ -3133,4 +3133,9 @@
|
|||
<string name="poi_street_cabinet_cable_tv">Dolap türü: kablo tv</string>
|
||||
<string name="poi_street_cabinet_telecom">Dolap türü: telefon</string>
|
||||
<string name="poi_street_cabinet_power">Dolap türü: elektrik</string>
|
||||
<string name="poi_hgv_unsuitable">Ağır yük aracı erişimi: uygun değil</string>
|
||||
<string name="poi_hgv_discouraged">Ağır yük aracı erişimi: önerilmiyor</string>
|
||||
<string name="poi_hgv_agricultural">Ağır yük aracı erişimi: tarım</string>
|
||||
<string name="poi_hgv_no">Ağır yük aracı erişimi: hayır</string>
|
||||
<string name="poi_hgv_private">Ağır yük aracı erişimi: özel</string>
|
||||
</resources>
|
|
@ -3973,4 +3973,32 @@
|
|||
<string name="edit_track">Yolu düzenle</string>
|
||||
<string name="rename_track">Yolu yeniden adlandır</string>
|
||||
<string name="change_folder">Klasörü değiştir</string>
|
||||
<string name="shared_string_sec">sn</string>
|
||||
<string name="announcement_time_passing">Geçme</string>
|
||||
<string name="announcement_time_approach">Yaklaşma</string>
|
||||
<string name="announcement_time_prepare">Hazırlık</string>
|
||||
<string name="announcement_time_prepare_long">Uzun hazırlık</string>
|
||||
<string name="announcement_time_off_route">Güzergah dışı</string>
|
||||
<string name="announcement_time_arrive">Hedefe varış</string>
|
||||
<string name="shared_string_turn">Dönüş</string>
|
||||
<string name="announcement_time_intervals">Zaman ve mesafe aralıkları</string>
|
||||
<string name="announcement_time_descr">Farklı sesli komutların duyuru zamanı komut türüne, geçerli navigasyon hızına ve öntanımlı navigasyon hızına bağlıdır.</string>
|
||||
<string name="announcement_time_title">Duyuru zamanı</string>
|
||||
<string name="start_recording">Kaydı başlat</string>
|
||||
<string name="show_track_on_map">Yolu haritada göster</string>
|
||||
<string name="routing_engine_vehicle_type_wheelchair">Tekerlekli sandalye</string>
|
||||
<string name="routing_engine_vehicle_type_hiking">Yürüyüş</string>
|
||||
<string name="routing_engine_vehicle_type_walking">Yürüme</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_electric">Elektrikli bisiklet</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_mountain">Dağ bisikleti</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_road">Yol bisikleti</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_regular">Genel bisiklet</string>
|
||||
<string name="routing_engine_vehicle_type_hgv">Ağır yük aracı</string>
|
||||
<string name="routing_engine_vehicle_type_mtb">Dağ bisikleti</string>
|
||||
<string name="routing_engine_vehicle_type_small_truck">Küçük kamyon</string>
|
||||
<string name="routing_engine_vehicle_type_truck">Kamyon</string>
|
||||
<string name="routing_engine_vehicle_type_scooter">Mobilet</string>
|
||||
<string name="routing_engine_vehicle_type_racingbike">Yarış bisikleti</string>
|
||||
<string name="message_server_error">Sunucu hatası: %1$s</string>
|
||||
<string name="message_name_is_already_exists">Ad zaten var</string>
|
||||
</resources>
|
|
@ -3111,7 +3111,7 @@
|
|||
<string name="app_mode_campervan">Дім на колесах</string>
|
||||
<string name="rendering_attr_showLez_description">Показати на мапі зони низьких викидів. Не впливає на маршрутизацію.</string>
|
||||
<string name="rendering_attr_showLez_name">Показати зони низьких викидів</string>
|
||||
<string name="temporary_conditional_routing">Враховувати часові обмеження</string>
|
||||
<string name="temporary_conditional_routing">Враховувати тимчасові обмеження</string>
|
||||
<string name="shared_string_default">Усталений</string>
|
||||
<string name="new_route_calculated_dist_dbg">Маршрут: відстань %1$s, час навігації %2$s \nРозрахунок: %3$.1f с, %4$d доріг, %5$d тайлів)</string>
|
||||
<string name="lang_oc">Окситанська</string>
|
||||
|
@ -3971,4 +3971,32 @@
|
|||
<string name="edit_track">Редагувати трек</string>
|
||||
<string name="rename_track">Перейменувати трек</string>
|
||||
<string name="change_folder">Змінити теку</string>
|
||||
<string name="shared_string_sec">с</string>
|
||||
<string name="announcement_time_passing">Проходження</string>
|
||||
<string name="announcement_time_approach">Наближення</string>
|
||||
<string name="announcement_time_prepare_long">Завчасне приготування</string>
|
||||
<string name="announcement_time_prepare">Приготуватися</string>
|
||||
<string name="announcement_time_off_route">По за маршрутом</string>
|
||||
<string name="announcement_time_arrive">Прибуття до місця призначення</string>
|
||||
<string name="shared_string_turn">Поворот</string>
|
||||
<string name="announcement_time_intervals">Інтервали часу та відстаней</string>
|
||||
<string name="announcement_time_descr">Час оголошення різних голосових підказок залежить від типу запиту, поточної швидкості навігації та типової швидкості переходів.</string>
|
||||
<string name="announcement_time_title">Час оголошення</string>
|
||||
<string name="start_recording">Почати запис</string>
|
||||
<string name="show_track_on_map">Показати трек на мапі</string>
|
||||
<string name="routing_engine_vehicle_type_wheelchair">Інвалідний візок</string>
|
||||
<string name="routing_engine_vehicle_type_hiking">Піша прогулянка</string>
|
||||
<string name="routing_engine_vehicle_type_walking">Ходьба</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_electric">Електричний велосипед</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_mountain">Гірський велосипед</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_road">Дорожній велосипед</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_regular">Звичайний велосипед</string>
|
||||
<string name="routing_engine_vehicle_type_hgv">Вантажівка</string>
|
||||
<string name="routing_engine_vehicle_type_small_truck">Невелика вантажівка</string>
|
||||
<string name="routing_engine_vehicle_type_truck">Вантажівка</string>
|
||||
<string name="routing_engine_vehicle_type_scooter">Скутер</string>
|
||||
<string name="routing_engine_vehicle_type_racingbike">Гоночний велосипед</string>
|
||||
<string name="routing_engine_vehicle_type_mtb">Гірський велосипед</string>
|
||||
<string name="message_server_error">Помилка сервера: %1$s</string>
|
||||
<string name="message_name_is_already_exists">Назва вже існує</string>
|
||||
</resources>
|
|
@ -3965,4 +3965,32 @@
|
|||
<string name="edit_track">編輯軌跡</string>
|
||||
<string name="rename_track">重新命名軌跡</string>
|
||||
<string name="change_folder">變更資料夾</string>
|
||||
<string name="shared_string_sec">秒</string>
|
||||
<string name="announcement_time_passing">通過</string>
|
||||
<string name="announcement_time_approach">接近</string>
|
||||
<string name="announcement_time_prepare_long">長準備</string>
|
||||
<string name="announcement_time_prepare">準備</string>
|
||||
<string name="announcement_time_off_route">偏離路線</string>
|
||||
<string name="announcement_time_arrive">抵達目的地</string>
|
||||
<string name="shared_string_turn">轉彎</string>
|
||||
<string name="announcement_time_intervals">時間與距離間隔</string>
|
||||
<string name="announcement_time_descr">不同語音提示的公告時間取決於提示類型、目前的導航速度與預設的導航速度。</string>
|
||||
<string name="announcement_time_title">公告時間</string>
|
||||
<string name="start_recording">開始錄製</string>
|
||||
<string name="show_track_on_map">在地圖上顯示軌跡</string>
|
||||
<string name="routing_engine_vehicle_type_wheelchair">輪椅</string>
|
||||
<string name="routing_engine_vehicle_type_hiking">健行</string>
|
||||
<string name="routing_engine_vehicle_type_walking">步行</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_electric">電動自行車</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_mountain">山地自行車</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_road">公路自行車</string>
|
||||
<string name="routing_engine_vehicle_type_cycling_regular">一般自行車</string>
|
||||
<string name="routing_engine_vehicle_type_hgv">大貨車</string>
|
||||
<string name="routing_engine_vehicle_type_small_truck">小貨車</string>
|
||||
<string name="routing_engine_vehicle_type_truck">卡車</string>
|
||||
<string name="routing_engine_vehicle_type_scooter">速克達</string>
|
||||
<string name="routing_engine_vehicle_type_racingbike">競賽摩托車</string>
|
||||
<string name="routing_engine_vehicle_type_mtb">登山車</string>
|
||||
<string name="message_server_error">伺服器錯誤:%1$s</string>
|
||||
<string name="message_name_is_already_exists">名稱已存在</string>
|
||||
</resources>
|
|
@ -204,7 +204,7 @@ public class OsmandInAppPurchaseActivity extends AppCompatActivity implements In
|
|||
}
|
||||
onInAppPurchaseItemPurchased(sku);
|
||||
fireInAppPurchaseItemPurchasedOnFragments(fragmentManager, sku, active);
|
||||
if (purchaseHelper != null && purchaseHelper.getContourLines().getSku().equals(sku)) {
|
||||
if (purchaseHelper != null && purchaseHelper.getFullVersion().getSku().equals(sku)) {
|
||||
if (!(this instanceof MapActivity)) {
|
||||
finish();
|
||||
}
|
||||
|
|
|
@ -118,7 +118,7 @@ public abstract class ChoosePlanDialogFragment extends BaseOsmAndDialogFragment
|
|||
case SEA_DEPTH_MAPS:
|
||||
return InAppPurchaseHelper.isDepthContoursPurchased(ctx);
|
||||
case CONTOUR_LINES_HILLSHADE_MAPS:
|
||||
return OsmandPlugin.getEnabledPlugin(SRTMPlugin.class) != null;
|
||||
return OsmandPlugin.getEnabledPlugin(SRTMPlugin.class) != null || InAppPurchaseHelper.isContourLinesPurchased(ctx);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -30,7 +30,8 @@ public class ChoosePlanFreeBannerDialogFragment extends ChoosePlanDialogFragment
|
|||
|
||||
private final OsmAndFeature[] planTypeFeatures = {
|
||||
OsmAndFeature.WIKIPEDIA_OFFLINE,
|
||||
OsmAndFeature.WIKIVOYAGE_OFFLINE,
|
||||
OsmAndFeature.CONTOUR_LINES_HILLSHADE_MAPS,
|
||||
OsmAndFeature.SEA_DEPTH_MAPS,
|
||||
OsmAndFeature.UNLIMITED_DOWNLOADS,
|
||||
OsmAndFeature.MONTHLY_MAP_UPDATES,
|
||||
};
|
||||
|
|
|
@ -1,16 +1,6 @@
|
|||
package net.osmand.plus.chooseplan;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.view.View;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import net.osmand.plus.R;
|
||||
import net.osmand.plus.activities.OsmandInAppPurchaseActivity;
|
||||
import net.osmand.plus.inapp.InAppPurchaseHelper;
|
||||
import net.osmand.plus.inapp.InAppPurchases.InAppPurchase;
|
||||
|
||||
public class ChoosePlanHillshadeSrtmDialogFragment extends ChoosePlanDialogFragment {
|
||||
public class ChoosePlanHillshadeSrtmDialogFragment extends ChoosePlanFreeBannerDialogFragment {
|
||||
public static final String TAG = ChoosePlanHillshadeSrtmDialogFragment.class.getSimpleName();
|
||||
|
||||
private final OsmAndFeature[] osmLiveFeatures = {
|
||||
|
@ -29,6 +19,10 @@ public class ChoosePlanHillshadeSrtmDialogFragment extends ChoosePlanDialogFragm
|
|||
|
||||
private final OsmAndFeature[] planTypeFeatures = {
|
||||
OsmAndFeature.CONTOUR_LINES_HILLSHADE_MAPS,
|
||||
OsmAndFeature.SEA_DEPTH_MAPS,
|
||||
OsmAndFeature.WIKIPEDIA_OFFLINE,
|
||||
OsmAndFeature.UNLIMITED_DOWNLOADS,
|
||||
OsmAndFeature.MONTHLY_MAP_UPDATES,
|
||||
};
|
||||
private final OsmAndFeature[] selectedPlanTypeFeatures = {};
|
||||
|
||||
|
@ -51,48 +45,4 @@ public class ChoosePlanHillshadeSrtmDialogFragment extends ChoosePlanDialogFragm
|
|||
public OsmAndFeature[] getSelectedPlanTypeFeatures() {
|
||||
return selectedPlanTypeFeatures;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getPlanTypeHeaderImageId() {
|
||||
return R.drawable.img_logo_38dp_contour_lines;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPlanTypeHeaderTitle() {
|
||||
return getString(R.string.srtm_plugin_name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPlanTypeHeaderDescription() {
|
||||
return getString(R.string.paid_plugin);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPlanTypeButtonDescription() {
|
||||
return getString(R.string.in_app_purchase_desc);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPlanTypeButtonClickListener(View button) {
|
||||
button.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
Activity activity = getActivity();
|
||||
if (activity != null) {
|
||||
OsmandInAppPurchaseActivity.purchaseContourLines(activity);
|
||||
dismiss();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public InAppPurchase getPlanTypePurchase() {
|
||||
InAppPurchaseHelper purchaseHelper = getOsmandApplication().getInAppPurchaseHelper();
|
||||
if (purchaseHelper != null) {
|
||||
return purchaseHelper.getContourLines();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,21 +1,11 @@
|
|||
package net.osmand.plus.chooseplan;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.view.View;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import net.osmand.plus.R;
|
||||
import net.osmand.plus.activities.OsmandInAppPurchaseActivity;
|
||||
import net.osmand.plus.inapp.InAppPurchaseHelper;
|
||||
import net.osmand.plus.inapp.InAppPurchases.InAppPurchase;
|
||||
|
||||
public class ChoosePlanSeaDepthMapsDialogFragment extends ChoosePlanDialogFragment {
|
||||
public class ChoosePlanSeaDepthMapsDialogFragment extends ChoosePlanFreeBannerDialogFragment {
|
||||
public static final String TAG = ChoosePlanSeaDepthMapsDialogFragment.class.getSimpleName();
|
||||
|
||||
private final OsmAndFeature[] osmLiveFeatures = {
|
||||
OsmAndFeature.CONTOUR_LINES_HILLSHADE_MAPS,
|
||||
OsmAndFeature.SEA_DEPTH_MAPS,
|
||||
OsmAndFeature.CONTOUR_LINES_HILLSHADE_MAPS,
|
||||
OsmAndFeature.WIKIPEDIA_OFFLINE,
|
||||
OsmAndFeature.WIKIVOYAGE_OFFLINE,
|
||||
OsmAndFeature.DAILY_MAP_UPDATES,
|
||||
|
@ -23,12 +13,16 @@ public class ChoosePlanSeaDepthMapsDialogFragment extends ChoosePlanDialogFragme
|
|||
OsmAndFeature.UNLOCK_ALL_FEATURES,
|
||||
};
|
||||
private final OsmAndFeature[] selectedOsmLiveFeatures = {
|
||||
OsmAndFeature.CONTOUR_LINES_HILLSHADE_MAPS,
|
||||
OsmAndFeature.SEA_DEPTH_MAPS,
|
||||
OsmAndFeature.CONTOUR_LINES_HILLSHADE_MAPS,
|
||||
};
|
||||
|
||||
private final OsmAndFeature[] planTypeFeatures = {
|
||||
OsmAndFeature.SEA_DEPTH_MAPS,
|
||||
OsmAndFeature.CONTOUR_LINES_HILLSHADE_MAPS,
|
||||
OsmAndFeature.WIKIPEDIA_OFFLINE,
|
||||
OsmAndFeature.UNLIMITED_DOWNLOADS,
|
||||
OsmAndFeature.MONTHLY_MAP_UPDATES,
|
||||
};
|
||||
private final OsmAndFeature[] selectedPlanTypeFeatures = {};
|
||||
|
||||
|
@ -51,47 +45,4 @@ public class ChoosePlanSeaDepthMapsDialogFragment extends ChoosePlanDialogFragme
|
|||
public OsmAndFeature[] getSelectedPlanTypeFeatures() {
|
||||
return selectedPlanTypeFeatures;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getPlanTypeHeaderImageId() {
|
||||
return R.drawable.img_logo_38dp_sea_depth;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPlanTypeHeaderTitle() {
|
||||
return getString(R.string.index_item_depth_contours_osmand_ext);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPlanTypeHeaderDescription() {
|
||||
return getString(R.string.in_app_purchase);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPlanTypeButtonDescription() {
|
||||
return getString(R.string.in_app_purchase_desc);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPlanTypeButtonClickListener(View button) {
|
||||
button.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
Activity activity = getActivity();
|
||||
if (activity != null) {
|
||||
OsmandInAppPurchaseActivity.purchaseDepthContours(activity);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public InAppPurchase getPlanTypePurchase() {
|
||||
InAppPurchaseHelper purchaseHelper = getOsmandApplication().getInAppPurchaseHelper();
|
||||
if (purchaseHelper != null) {
|
||||
return purchaseHelper.getDepthContours();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,7 +19,6 @@ public class ChoosePlanWikipediaDialogFragment extends ChoosePlanFreeBannerDialo
|
|||
|
||||
private final OsmAndFeature[] planTypeFeatures = {
|
||||
OsmAndFeature.WIKIPEDIA_OFFLINE,
|
||||
OsmAndFeature.WIKIVOYAGE_OFFLINE,
|
||||
OsmAndFeature.UNLIMITED_DOWNLOADS,
|
||||
OsmAndFeature.MONTHLY_MAP_UPDATES,
|
||||
};
|
||||
|
|
|
@ -251,7 +251,7 @@ public class ConfigureMapMenu {
|
|||
|
||||
OsmandPlugin.registerLayerContextMenu(activity.getMapView(), adapter, activity);
|
||||
boolean srtmDisabled = OsmandPlugin.getEnabledPlugin(SRTMPlugin.class) == null
|
||||
&& !InAppPurchaseHelper.isSubscribedToLiveUpdates(app);
|
||||
&& !InAppPurchaseHelper.isContourLinesPurchased(app);
|
||||
if (srtmDisabled) {
|
||||
SRTMPlugin srtmPlugin = OsmandPlugin.getPlugin(SRTMPlugin.class);
|
||||
if (srtmPlugin != null) {
|
||||
|
|
|
@ -684,11 +684,12 @@ public class DownloadActivity extends AbstractDownloadActivity implements Downlo
|
|||
}
|
||||
|
||||
public void initAppStatusVariables() {
|
||||
OsmandApplication app = getMyApplication();
|
||||
srtmDisabled = OsmandPlugin.getEnabledPlugin(SRTMPlugin.class) == null
|
||||
&& !InAppPurchaseHelper.isSubscribedToLiveUpdates(getMyApplication());
|
||||
&& !InAppPurchaseHelper.isContourLinesPurchased(app);
|
||||
nauticalPluginDisabled = OsmandPlugin.getEnabledPlugin(NauticalMapsPlugin.class) == null;
|
||||
freeVersion = Version.isFreeVersion(getMyApplication());
|
||||
OsmandPlugin srtmPlugin = OsmandPlugin.getPlugin(SRTMPlugin.class);
|
||||
freeVersion = Version.isFreeVersion(app);
|
||||
SRTMPlugin srtmPlugin = OsmandPlugin.getPlugin(SRTMPlugin.class);
|
||||
srtmNeedsInstallation = srtmPlugin == null || srtmPlugin.needsInstallation();
|
||||
|
||||
}
|
||||
|
|
|
@ -352,9 +352,7 @@ public class DownloadResources extends DownloadResourceGroup {
|
|||
continue;
|
||||
}
|
||||
if (ii.getType() == DownloadActivityType.DEPTH_CONTOUR_FILE) {
|
||||
if (InAppPurchaseHelper.isDepthContoursPurchased(app)
|
||||
|| InAppPurchaseHelper.isSubscribedToLiveUpdates(app)
|
||||
|| nauticalMaps.size() == 0) {
|
||||
if (InAppPurchaseHelper.isDepthContoursPurchased(app) || nauticalMaps.size() == 0) {
|
||||
nauticalMaps.addItem(ii);
|
||||
}
|
||||
continue;
|
||||
|
|
|
@ -134,8 +134,7 @@ public class ItemViewHolder {
|
|||
srtmDisabled = context.isSrtmDisabled();
|
||||
nauticalPluginDisabled = context.isNauticalPluginDisabled();
|
||||
srtmNeedsInstallation = context.isSrtmNeedsInstallation();
|
||||
depthContoursPurchased = InAppPurchaseHelper.isDepthContoursPurchased(context.getMyApplication())
|
||||
|| InAppPurchaseHelper.isSubscribedToLiveUpdates(context.getMyApplication());
|
||||
depthContoursPurchased = InAppPurchaseHelper.isDepthContoursPurchased(context.getMyApplication());
|
||||
}
|
||||
|
||||
public void bindIndexItem(final IndexItem indexItem) {
|
||||
|
|
|
@ -153,11 +153,15 @@ public abstract class InAppPurchaseHelper {
|
|||
}
|
||||
|
||||
public static boolean isDepthContoursPurchased(@NonNull OsmandApplication ctx) {
|
||||
return Version.isDeveloperBuild(ctx) || ctx.getSettings().DEPTH_CONTOURS_PURCHASED.get();
|
||||
return Version.isDeveloperBuild(ctx)
|
||||
|| Version.isPaidVersion(ctx)
|
||||
|| ctx.getSettings().DEPTH_CONTOURS_PURCHASED.get();
|
||||
}
|
||||
|
||||
public static boolean isContourLinesPurchased(@NonNull OsmandApplication ctx) {
|
||||
return Version.isDeveloperBuild(ctx) || ctx.getSettings().CONTOUR_LINES_PURCHASED.get();
|
||||
return Version.isDeveloperBuild(ctx)
|
||||
|| Version.isPaidVersion(ctx)
|
||||
|| ctx.getSettings().CONTOUR_LINES_PURCHASED.get();
|
||||
}
|
||||
|
||||
public InAppPurchases getInAppPurchases() {
|
||||
|
|
|
@ -85,7 +85,7 @@ public class MapDataMenuController extends MenuController {
|
|||
}
|
||||
|
||||
srtmDisabled = OsmandPlugin.getEnabledPlugin(SRTMPlugin.class) == null
|
||||
&& !InAppPurchaseHelper.isSubscribedToLiveUpdates(app);
|
||||
&& !InAppPurchaseHelper.isContourLinesPurchased(app);
|
||||
OsmandPlugin srtmPlugin = OsmandPlugin.getPlugin(SRTMPlugin.class);
|
||||
srtmNeedsInstallation = srtmPlugin == null || srtmPlugin.needsInstallation();
|
||||
|
||||
|
|
|
@ -31,7 +31,6 @@ import net.osmand.plus.UiUtilities.DialogButtonType;
|
|||
import net.osmand.plus.activities.MapActivity;
|
||||
import net.osmand.plus.base.MenuBottomSheetDialogFragment;
|
||||
import net.osmand.plus.base.bottomsheetmenu.BottomSheetItemWithDescription;
|
||||
import net.osmand.plus.base.bottomsheetmenu.simpleitems.DividerSpaceItem;
|
||||
import net.osmand.plus.helpers.AndroidUiHelper;
|
||||
import net.osmand.plus.helpers.FontCache;
|
||||
import net.osmand.plus.settings.backend.OsmandSettings;
|
||||
|
@ -50,8 +49,9 @@ public class TripRecordingBottomSheet extends MenuBottomSheetDialogFragment {
|
|||
|
||||
private ImageView upDownBtn;
|
||||
private SwitchCompat confirmEveryRun;
|
||||
private RangeSlider intervalSlider;
|
||||
private TextView intervalValueView;
|
||||
|
||||
private LinearLayout container;
|
||||
private boolean infoExpanded;
|
||||
|
||||
@Override
|
||||
|
@ -66,11 +66,8 @@ public class TripRecordingBottomSheet extends MenuBottomSheetDialogFragment {
|
|||
.setCustomView(itemView)
|
||||
.create());
|
||||
|
||||
int padding = getResources().getDimensionPixelSize(R.dimen.content_padding_small);
|
||||
final int paddingSmall = getResources().getDimensionPixelSize(R.dimen.content_padding_small);
|
||||
|
||||
items.add(new DividerSpaceItem(context, padding));
|
||||
|
||||
LinearLayout showTrackOnMapView = itemView.findViewById(R.id.show_track_on_map);
|
||||
TextView showTrackOnMapTitle = showTrackOnMapView.findViewById(R.id.title);
|
||||
showTrackOnMapTitle.setText(R.string.show_track_on_map);
|
||||
|
@ -110,8 +107,10 @@ public class TripRecordingBottomSheet extends MenuBottomSheetDialogFragment {
|
|||
intervalValueView = itemView.findViewById(R.id.interval_value);
|
||||
updateIntervalLegend();
|
||||
|
||||
RangeSlider intervalSlider = itemView.findViewById(R.id.interval_slider);
|
||||
container = itemView.findViewById(R.id.always_ask_and_range_slider_container);
|
||||
intervalSlider = itemView.findViewById(R.id.interval_slider);
|
||||
intervalSlider.setValueTo(secondsLength + minutesLength - 1);
|
||||
container.setVisibility(View.GONE);
|
||||
intervalSlider.addOnChangeListener(new RangeSlider.OnChangeListener() {
|
||||
|
||||
@Override
|
||||
|
@ -218,7 +217,7 @@ public class TripRecordingBottomSheet extends MenuBottomSheetDialogFragment {
|
|||
|
||||
private void toggleInfoView() {
|
||||
infoExpanded = !infoExpanded;
|
||||
AndroidUiHelper.updateVisibility(confirmEveryRun, infoExpanded);
|
||||
AndroidUiHelper.updateVisibility(container, infoExpanded);
|
||||
updateUpDownBtn();
|
||||
}
|
||||
|
||||
|
|
|
@ -639,7 +639,7 @@ public class ResourceManager {
|
|||
collectFiles(context.getAppPath(IndexConstants.WIKI_INDEX_DIR), IndexConstants.BINARY_MAP_INDEX_EXT, files);
|
||||
collectFiles(context.getAppPath(IndexConstants.WIKIVOYAGE_INDEX_DIR), IndexConstants.BINARY_TRAVEL_GUIDE_MAP_INDEX_EXT, files);
|
||||
}
|
||||
if (OsmandPlugin.getEnabledPlugin(SRTMPlugin.class) != null || InAppPurchaseHelper.isSubscribedToLiveUpdates(context)) {
|
||||
if (OsmandPlugin.getEnabledPlugin(SRTMPlugin.class) != null || InAppPurchaseHelper.isContourLinesPurchased(context)) {
|
||||
collectFiles(context.getAppPath(IndexConstants.SRTM_INDEX_DIR), IndexConstants.BINARY_MAP_INDEX_EXT, files);
|
||||
}
|
||||
|
||||
|
|
|
@ -52,7 +52,7 @@ public class ContourLinesMenu {
|
|||
final OsmandApplication app = mapActivity.getMyApplication();
|
||||
final OsmandSettings settings = app.getSettings();
|
||||
final SRTMPlugin plugin = OsmandPlugin.getPlugin(SRTMPlugin.class);
|
||||
final boolean srtmEnabled = OsmandPlugin.getEnabledPlugin(SRTMPlugin.class) != null || InAppPurchaseHelper.isSubscribedToLiveUpdates(app);
|
||||
final boolean srtmEnabled = OsmandPlugin.getEnabledPlugin(SRTMPlugin.class) != null || InAppPurchaseHelper.isContourLinesPurchased(app);
|
||||
|
||||
final RenderingRuleProperty contourLinesProp = app.getRendererRegistry().getCustomRenderingRuleProperty(CONTOUR_LINES_ATTR);
|
||||
final RenderingRuleProperty colorSchemeProp = app.getRendererRegistry().getCustomRenderingRuleProperty(CONTOUR_LINES_SCHEME_ATTR);
|
||||
|
|
|
@ -14,14 +14,11 @@ import androidx.core.content.ContextCompat;
|
|||
|
||||
import net.osmand.AndroidUtils;
|
||||
import net.osmand.data.LatLon;
|
||||
import net.osmand.plus.settings.backend.ApplicationMode;
|
||||
import net.osmand.plus.ContextMenuAdapter;
|
||||
import net.osmand.plus.ContextMenuItem;
|
||||
import net.osmand.plus.DialogListItemAdapter;
|
||||
import net.osmand.plus.OsmandApplication;
|
||||
import net.osmand.plus.OsmandPlugin;
|
||||
import net.osmand.plus.settings.backend.OsmandSettings;
|
||||
import net.osmand.plus.settings.backend.CommonPreference;
|
||||
import net.osmand.plus.R;
|
||||
import net.osmand.plus.activities.MapActivity;
|
||||
import net.osmand.plus.dashboard.DashboardOnMap;
|
||||
|
@ -31,6 +28,9 @@ import net.osmand.plus.download.DownloadResources;
|
|||
import net.osmand.plus.download.IndexItem;
|
||||
import net.osmand.plus.inapp.InAppPurchaseHelper;
|
||||
import net.osmand.plus.quickaction.QuickActionType;
|
||||
import net.osmand.plus.settings.backend.ApplicationMode;
|
||||
import net.osmand.plus.settings.backend.CommonPreference;
|
||||
import net.osmand.plus.settings.backend.OsmandSettings;
|
||||
import net.osmand.plus.views.OsmandMapTileView;
|
||||
import net.osmand.render.RenderingRuleProperty;
|
||||
import net.osmand.util.Algorithms;
|
||||
|
@ -88,13 +88,13 @@ public class SRTMPlugin extends OsmandPlugin {
|
|||
|
||||
@Override
|
||||
public boolean needsInstallation() {
|
||||
return super.needsInstallation() && !InAppPurchaseHelper.isSubscribedToLiveUpdates(app);
|
||||
return super.needsInstallation()
|
||||
&& !InAppPurchaseHelper.isContourLinesPurchased(app);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean pluginAvailable(OsmandApplication app) {
|
||||
return super.pluginAvailable(app)
|
||||
|| InAppPurchaseHelper.isSubscribedToLiveUpdates(app)
|
||||
|| InAppPurchaseHelper.isContourLinesPurchased(app);
|
||||
}
|
||||
|
||||
|
|
|
@ -61,7 +61,7 @@ public class NativeCoreContext {
|
|||
|
||||
ObfsCollection obfsCollection = new ObfsCollection();
|
||||
obfsCollection.addDirectory(directory.getAbsolutePath(), false);
|
||||
if(OsmandPlugin.getEnabledPlugin(SRTMPlugin.class) != null || InAppPurchaseHelper.isSubscribedToLiveUpdates(app)) {
|
||||
if (OsmandPlugin.getEnabledPlugin(SRTMPlugin.class) != null || InAppPurchaseHelper.isContourLinesPurchased(app)) {
|
||||
obfsCollection.addDirectory(app.getAppPath(IndexConstants.SRTM_INDEX_DIR).getAbsolutePath(), false);
|
||||
}
|
||||
|
||||
|
|
|
@ -104,7 +104,7 @@ public class WikivoyageArticleNavigationFragment extends MenuBottomSheetDialogFr
|
|||
public boolean onChildClick(ExpandableListView parent, View v,
|
||||
int groupPosition, int childPosition, long id) {
|
||||
WikivoyageSearchResult articleItem = listAdapter.getArticleItem(groupPosition, childPosition);
|
||||
sendResults(articleItem.getArticleId());
|
||||
sendResults(articleItem.getArticleTitle());
|
||||
dismiss();
|
||||
return true;
|
||||
}
|
||||
|
@ -113,10 +113,10 @@ public class WikivoyageArticleNavigationFragment extends MenuBottomSheetDialogFr
|
|||
@Override
|
||||
public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) {
|
||||
WikivoyageSearchResult articleItem = (WikivoyageSearchResult) listAdapter.getGroup(groupPosition);
|
||||
if (Algorithms.isEmpty(articleItem.getArticleRouteId())) {
|
||||
if (Algorithms.isEmpty(articleItem.getArticleTitle())) {
|
||||
Toast.makeText(getContext(), R.string.wiki_article_not_found, Toast.LENGTH_LONG).show();
|
||||
} else {
|
||||
sendResults(articleItem.getArticleId());
|
||||
sendResults(articleItem.getArticleTitle());
|
||||
dismiss();
|
||||
}
|
||||
return true;
|
||||
|
@ -150,14 +150,14 @@ public class WikivoyageArticleNavigationFragment extends MenuBottomSheetDialogFr
|
|||
return nightMode ? R.color.wikivoyage_bottom_bar_bg_dark : R.color.list_background_color_light;
|
||||
}
|
||||
|
||||
private void sendResults(TravelArticleIdentifier articleId) {
|
||||
WikivoyageArticleDialogFragment.showInstance(getMyApplication(), getFragmentManager(), articleId, selectedLang);
|
||||
private void sendResults(String title) {
|
||||
WikivoyageArticleDialogFragment.showInstanceByTitle(getMyApplication(), getFragmentManager(), title, selectedLang);
|
||||
}
|
||||
|
||||
public static boolean showInstance(@NonNull FragmentManager fm,
|
||||
@Nullable Fragment targetFragment,
|
||||
@NonNull TravelArticleIdentifier articleId,
|
||||
@NonNull String selectedLang) {
|
||||
@Nullable Fragment targetFragment,
|
||||
@NonNull TravelArticleIdentifier articleId,
|
||||
@NonNull String selectedLang) {
|
||||
try {
|
||||
Bundle args = new Bundle();
|
||||
args.putParcelable(ARTICLE_ID_KEY, articleId);
|
||||
|
@ -239,7 +239,7 @@ public class WikivoyageArticleNavigationFragment extends MenuBottomSheetDialogFr
|
|||
boolean isLastChild, View convertView, ViewGroup parent) {
|
||||
WikivoyageSearchResult articleItem = getArticleItem(groupPosition, childPosition);
|
||||
String childTitle = articleItem.getArticleTitle();
|
||||
boolean selected = articleItem.getArticleId().equals(articleId) || parentsList.contains(childTitle);
|
||||
boolean selected = childTitle.equals(article.getTitle()) || parentsList.contains(childTitle);
|
||||
|
||||
if (convertView == null) {
|
||||
convertView = LayoutInflater.from(context)
|
||||
|
|
|
@ -31,6 +31,7 @@ public class TravelArticle {
|
|||
String title;
|
||||
String content;
|
||||
String isPartOf;
|
||||
String isParentOf = "";
|
||||
double lat = Double.NaN;
|
||||
double lon = Double.NaN;
|
||||
String imageTitle;
|
||||
|
|
|
@ -172,6 +172,7 @@ public class TravelObfHelper implements TravelHelper {
|
|||
res.title = Algorithms.isEmpty(title) ? amenity.getName() : title;
|
||||
res.content = amenity.getDescription(lang);
|
||||
res.isPartOf = Algorithms.emptyIfNull(amenity.getTagContent(Amenity.IS_PART, lang));
|
||||
res.isParentOf = Algorithms.emptyIfNull(amenity.getTagContent(Amenity.IS_PARENT_OF, lang));
|
||||
res.lat = amenity.getLocation().getLatitude();
|
||||
res.lon = amenity.getLocation().getLongitude();
|
||||
res.imageTitle = Algorithms.emptyIfNull(amenity.getTagContent(Amenity.IMAGE_TITLE, null));
|
||||
|
@ -401,64 +402,29 @@ public class TravelObfHelper implements TravelHelper {
|
|||
Map<String, List<WikivoyageSearchResult>> navMap = new HashMap<>();
|
||||
Set<String> headers = new LinkedHashSet<>();
|
||||
Map<String, WikivoyageSearchResult> headerObjs = new HashMap<>();
|
||||
Map<File, List<Amenity>> amenityMap = new HashMap<>();
|
||||
for (BinaryMapIndexReader reader : getReaders()) {
|
||||
try {
|
||||
SearchRequest<Amenity> req = BinaryMapIndexReader.buildSearchPoiRequest(0,
|
||||
Integer.MAX_VALUE, 0, Integer.MAX_VALUE, -1, getSearchFilter(false), new ResultMatcher<Amenity>() {
|
||||
|
||||
@Override
|
||||
public boolean publish(Amenity amenity) {
|
||||
String isPartOf = amenity.getTagContent(Amenity.IS_PART, lang);
|
||||
if (Algorithms.stringsEqual(title, isPartOf)) {
|
||||
return true;
|
||||
} else if (parts != null && parts.length > 0) {
|
||||
String title = amenity.getName(lang);
|
||||
title = Algorithms.isEmpty(title) ? amenity.getName() : title;
|
||||
for (int i = 0; i < parts.length; i++) {
|
||||
String part = parts[i];
|
||||
if (i == 0 && Algorithms.stringsEqual(part, title) || Algorithms.stringsEqual(part, isPartOf)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isCancelled() {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
List<Amenity> amenities = reader.searchPoi(req);
|
||||
if (!Algorithms.isEmpty(amenities)) {
|
||||
amenityMap.put(reader.getFile(), amenities);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
LOG.error(e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
if (parts != null && parts.length > 0) {
|
||||
headers.addAll(Arrays.asList(parts));
|
||||
headers.add(title);
|
||||
}
|
||||
if (!Algorithms.isEmpty(amenityMap)) {
|
||||
for (Entry<File, List<Amenity>> entry : amenityMap.entrySet()) {
|
||||
File file = entry.getKey();
|
||||
for (Amenity amenity : entry.getValue()) {
|
||||
Set<String> nameLangs = getLanguages(amenity);
|
||||
if (nameLangs.contains(lang)) {
|
||||
TravelArticle a = readArticle(file, amenity, lang, false);
|
||||
WikivoyageSearchResult rs = new WikivoyageSearchResult(a, new ArrayList<>(nameLangs));
|
||||
List<WikivoyageSearchResult> l = navMap.get(rs.isPartOf);
|
||||
if (l == null) {
|
||||
l = new ArrayList<>();
|
||||
navMap.put(rs.isPartOf, l);
|
||||
}
|
||||
l.add(rs);
|
||||
if (headers.contains(a.getTitle())) {
|
||||
headerObjs.put(a.getTitle(), rs);
|
||||
}
|
||||
|
||||
for (String header : headers) {
|
||||
TravelArticle parentArticle = getParentArticleByTitle(header, lang);
|
||||
if (parentArticle == null) {
|
||||
continue;
|
||||
}
|
||||
navMap.put(header, new ArrayList<WikivoyageSearchResult>());
|
||||
String[] isParentOf = parentArticle.isParentOf.split(";");
|
||||
for (String childTitle : isParentOf) {
|
||||
if (!childTitle.isEmpty()) {
|
||||
WikivoyageSearchResult searchResult = new WikivoyageSearchResult("", childTitle, null,
|
||||
null, Collections.singletonList(lang));
|
||||
List<WikivoyageSearchResult> resultList = navMap.get(header);
|
||||
if (resultList == null) {
|
||||
resultList = new ArrayList<>();
|
||||
navMap.put(header, resultList);
|
||||
}
|
||||
resultList.add(searchResult);
|
||||
if (headers.contains(childTitle)) {
|
||||
headerObjs.put(childTitle, searchResult);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -483,6 +449,41 @@ public class TravelObfHelper implements TravelHelper {
|
|||
return res;
|
||||
}
|
||||
|
||||
private TravelArticle getParentArticleByTitle(final String title, final String lang) {
|
||||
TravelArticle article = null;
|
||||
final List<Amenity> amenities = new ArrayList<>();
|
||||
for (BinaryMapIndexReader reader : getReaders()) {
|
||||
try {
|
||||
SearchRequest<Amenity> req = BinaryMapIndexReader.buildSearchPoiRequest(
|
||||
0, 0, title, 0, Integer.MAX_VALUE, 0, Integer.MAX_VALUE, getSearchFilter(false),
|
||||
new ResultMatcher<Amenity>() {
|
||||
boolean done = false;
|
||||
|
||||
@Override
|
||||
public boolean publish(Amenity amenity) {
|
||||
if (Algorithms.stringsEqual(title, Algorithms.emptyIfNull(amenity.getName(lang)))) {
|
||||
amenities.add(amenity);
|
||||
done = true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isCancelled() {
|
||||
return done;
|
||||
}
|
||||
}, null);
|
||||
reader.searchPoiByName(req);
|
||||
} catch (IOException e) {
|
||||
LOG.error(e.getMessage());
|
||||
}
|
||||
if (!Algorithms.isEmpty(amenities)) {
|
||||
article = readArticle(reader.getFile(), amenities.get(0), lang, false);
|
||||
}
|
||||
}
|
||||
return article;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TravelArticle getArticleById(@NonNull TravelArticleIdentifier articleId, @NonNull String lang) {
|
||||
TravelArticle article = getCachedArticle(articleId, lang, true);
|
||||
|
|
|
@ -10,7 +10,7 @@ buildscript {
|
|||
}
|
||||
dependencies {
|
||||
//classpath 'com.android.tools.build:gradle:2.+'
|
||||
classpath 'com.android.tools.build:gradle:4.1.1'
|
||||
classpath 'com.android.tools.build:gradle:4.1.2'
|
||||
classpath 'com.google.gms:google-services:3.0.0'
|
||||
classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'
|
||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
||||
|
|
Loading…
Reference in a new issue