commit
70dd9d941f
48 changed files with 634 additions and 316 deletions
|
@ -243,6 +243,9 @@ public class RoutePlannerFrontEnd {
|
|||
start = gpxPoints.get(0);
|
||||
}
|
||||
while (start != null && !gctx.ctx.calculationProgress.isCancelled) {
|
||||
if (Thread.currentThread().isInterrupted()) {
|
||||
return null;
|
||||
}
|
||||
double routeDist = gctx.MAXIMUM_STEP_APPROXIMATION;
|
||||
GpxPoint next = findNextGpxPointWithin(gctx, gpxPoints, start, routeDist);
|
||||
boolean routeFound = false;
|
||||
|
|
|
@ -33,6 +33,7 @@ import net.osmand.util.LocationParser.ParsedOpenLocationCode;
|
|||
import net.osmand.util.MapUtils;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.text.DecimalFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
|
@ -1407,6 +1408,7 @@ public class SearchCoreFactory {
|
|||
private LatLon olcPhraseLocation;
|
||||
private ParsedOpenLocationCode cachedParsedCode;
|
||||
private final List<String> citySubTypes = Arrays.asList("city", "town", "village");
|
||||
private final DecimalFormat latLonFormatter = new DecimalFormat("#.0####");
|
||||
|
||||
public SearchLocationAndUrlAPI() {
|
||||
super(ObjectType.LOCATION, ObjectType.PARTIAL_LOCATION);
|
||||
|
@ -1498,7 +1500,7 @@ public class SearchCoreFactory {
|
|||
sp.priority = SEARCH_LOCATION_PRIORITY;
|
||||
|
||||
sp.object = sp.location = ll;
|
||||
sp.localeName = ((float) sp.location.getLatitude()) + ", <input> ";
|
||||
sp.localeName = formatLatLon(sp.location.getLatitude()) + ", <input> ";
|
||||
sp.objectType = ObjectType.PARTIAL_LOCATION;
|
||||
resultMatcher.publish(sp);
|
||||
}
|
||||
|
@ -1510,7 +1512,7 @@ public class SearchCoreFactory {
|
|||
SearchResult sp = new SearchResult(phrase);
|
||||
sp.priority = SEARCH_LOCATION_PRIORITY;
|
||||
sp.object = sp.location = l;
|
||||
sp.localeName = ((float) sp.location.getLatitude()) + ", " + ((float) sp.location.getLongitude());
|
||||
sp.localeName = formatLatLon(sp.location.getLatitude()) + ", " + formatLatLon(sp.location.getLongitude());
|
||||
sp.objectType = ObjectType.LOCATION;
|
||||
sp.wordsSpan = lw;
|
||||
resultMatcher.publish(sp);
|
||||
|
@ -1525,7 +1527,7 @@ public class SearchCoreFactory {
|
|||
sp.object = pnt;
|
||||
sp.wordsSpan = text;
|
||||
sp.location = new LatLon(pnt.getLatitude(), pnt.getLongitude());
|
||||
sp.localeName = ((float)pnt.getLatitude()) +", " + ((float) pnt.getLongitude());
|
||||
sp.localeName = formatLatLon(pnt.getLatitude()) +", " + formatLatLon(pnt.getLongitude());
|
||||
if (pnt.getZoom() > 0) {
|
||||
sp.preferredZoom = pnt.getZoom();
|
||||
}
|
||||
|
@ -1555,6 +1557,10 @@ public class SearchCoreFactory {
|
|||
}
|
||||
return cachedParsedCode == null ? SEARCH_LOCATION_PRIORITY : SEARCH_MAX_PRIORITY;
|
||||
}
|
||||
|
||||
private String formatLatLon(double latLon) {
|
||||
return latLonFormatter.format(latLon);
|
||||
}
|
||||
}
|
||||
|
||||
private static String stripBraces(String localeName) {
|
||||
|
|
|
@ -73,4 +73,9 @@
|
|||
<string name="unit_of_length_descr">یکاهای طول را تغییر دهید.</string>
|
||||
<string name="unit_of_length">یکاهای طول</string>
|
||||
<string name="shared_string_appearance">ظاهر</string>
|
||||
<string name="last_response_duration">آخرین پاسخ: %1$s پیش</string>
|
||||
<string name="last_update_from_telegram_duration">آخرین بهروزرسانی تلگرام: %1$s پیش</string>
|
||||
<string name="last_response_date">آخرین پاسخ: %1$s</string>
|
||||
<string name="last_update_from_telegram_date">آخرین بهروزرسانی تلگرام: %1$s</string>
|
||||
<string name="shared_string_error_short">خطا</string>
|
||||
</resources>
|
|
@ -219,8 +219,8 @@
|
|||
<string name="shared_string_authorization_descr">国際形式でTelegramを利用する端末の電話番号を入力してください(日本の場合+81を先頭につけて電話番号最初の0を除いた番号を入力)</string>
|
||||
<string name="shared_string_welcome">ようこそ</string>
|
||||
<string name="yard">ヤード</string>
|
||||
<string name="foot">フィート</string>
|
||||
<string name="mile">マイル</string>
|
||||
<string name="foot">ft</string>
|
||||
<string name="mile">mi</string>
|
||||
<string name="km">km</string>
|
||||
<string name="m">m</string>
|
||||
<string name="nm">海里</string>
|
||||
|
|
|
@ -527,7 +527,7 @@ dependencies {
|
|||
implementation 'androidx.gridlayout:gridlayout:1.0.0'
|
||||
implementation 'androidx.cardview:cardview:1.0.0'
|
||||
implementation 'androidx.appcompat:appcompat:1.1.0'
|
||||
implementation 'com.google.android.material:material:1.2.0-beta01'
|
||||
implementation 'com.google.android.material:material:1.2.1'
|
||||
implementation 'androidx.browser:browser:1.0.0'
|
||||
implementation 'androidx.preference:preference:1.1.0'
|
||||
implementation fileTree(include: ['gnu-trove-osmand.jar', 'icu4j-49_1_patched.jar'], dir: 'libs')
|
||||
|
|
|
@ -46,9 +46,11 @@
|
|||
android:id="@+id/color_hex_edit_text"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:inputType="textMultiLine"
|
||||
android:maxLines="4"
|
||||
android:inputType="text"
|
||||
android:maxLines="1"
|
||||
android:minHeight="@dimen/bottom_sheet_list_item_height"
|
||||
android:paddingTop="@dimen/content_padding_small"
|
||||
android:paddingBottom="@dimen/content_padding_small"
|
||||
android:paddingStart="@dimen/content_padding_small"
|
||||
android:paddingLeft="@dimen/content_padding_small"
|
||||
android:paddingEnd="@dimen/content_padding_small"
|
||||
|
|
|
@ -135,6 +135,7 @@
|
|||
android:id="@+id/address_edit"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="start"
|
||||
android:maxLines="4"
|
||||
android:minHeight="@dimen/favorites_list_item_height"
|
||||
android:paddingStart="@dimen/content_padding_small"
|
||||
|
@ -147,25 +148,51 @@
|
|||
</com.google.android.material.textfield.TextInputLayout>
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/address_row"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<net.osmand.plus.widgets.TextViewEx
|
||||
android:id="@+id/address_button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/setting_list_item_small_height"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/content_padding_half"
|
||||
android:layout_marginLeft="@dimen/content_padding_half"
|
||||
android:layout_marginTop="@dimen/content_padding_small"
|
||||
android:layout_marginEnd="@dimen/content_padding"
|
||||
android:layout_marginRight="@dimen/content_padding"
|
||||
android:layout_weight="1"
|
||||
android:drawablePadding="8dp"
|
||||
android:duplicateParentState="true"
|
||||
android:gravity="center"
|
||||
android:gravity="center_vertical"
|
||||
android:minHeight="@dimen/setting_list_item_small_height"
|
||||
android:paddingStart="@dimen/content_padding_half"
|
||||
android:paddingLeft="@dimen/content_padding_half"
|
||||
android:paddingTop="@dimen/content_padding_half"
|
||||
android:paddingEnd="@dimen/content_padding_half"
|
||||
android:paddingRight="@dimen/content_padding_half"
|
||||
android:paddingBottom="@dimen/content_padding_half"
|
||||
android:text="@string/add_address"
|
||||
android:textSize="@dimen/default_desc_text_size"
|
||||
osmand:typeface="@string/font_roboto_medium"
|
||||
tools:text="@string/add_address" />
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/delete_address_icon"
|
||||
style="@style/Widget.AppCompat.Toolbar.Button.Navigation"
|
||||
android:layout_width="@dimen/setting_list_item_small_height"
|
||||
android:layout_height="@dimen/setting_list_item_small_height"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginStart="@dimen/list_item_button_padding"
|
||||
android:layout_marginLeft="@dimen/list_item_button_padding"
|
||||
android:layout_marginEnd="@dimen/list_item_button_padding"
|
||||
android:layout_marginRight="@dimen/list_item_button_padding"
|
||||
android:contentDescription="@string/delete_address"
|
||||
app:srcCompat="@drawable/ic_action_trash_basket_16" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
android:layout_height="wrap_content">
|
||||
|
||||
<net.osmand.plus.widgets.TextViewEx
|
||||
android:id="@+id/no_search_results_description"
|
||||
android:id="@+id/track_title"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="center_vertical"
|
||||
|
|
|
@ -44,7 +44,8 @@
|
|||
android:id="@+id/slider_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
android:orientation="vertical"
|
||||
android:paddingBottom="@dimen/content_padding">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
|
|
|
@ -3134,7 +3134,7 @@
|
|||
<string name="list_of_installed_plugins">الإضافات المثبتة</string>
|
||||
<string name="configure_navigation">تكوين الملاحة</string>
|
||||
<string name="general_settings_profile_descr">ثيم التطبيق ، وحدات ، المنطقة</string>
|
||||
<string name="configure_profile">تكوين ملف التعريف</string>
|
||||
<string name="configure_profile">إعداد الوضع</string>
|
||||
<string name="screen_alerts_descr">تظهر التنبيهات في أسفل اليسار أثناء التنقل.</string>
|
||||
<string name="switch_profile">تبديل الوضع</string>
|
||||
<string name="language_and_output">اللغة والإخراج</string>
|
||||
|
@ -3291,7 +3291,7 @@
|
|||
<string name="settings_derived_routing_mode_string">وضع المستخدم ، مشتق من:%s</string>
|
||||
<string name="routing_profile_ski">تزلج</string>
|
||||
<string name="profile_type_descr_string">النوع:%s</string>
|
||||
<string name="profile_type_base_string">ملف التعريف الأساسي</string>
|
||||
<string name="profile_type_base_string">وضع أساسي</string>
|
||||
<string name="profile_alert_need_routing_type_title">حدد نوع الملاحة</string>
|
||||
<string name="profile_alert_need_routing_type_msg">يرجى تحديد نوع الملاحة للوضع الجديد</string>
|
||||
<string name="profile_alert_need_profile_name_title">أدخل اسم الوضع</string>
|
||||
|
@ -3381,7 +3381,7 @@
|
|||
<string name="edit_profiles_descr">لا يمكنك حذف أوضاع أوسماند الافتراضية ، ولكن يمكنك تعطيلها في الشاشة السابقة ، أو نقلها إلى الأسفل.</string>
|
||||
<string name="edit_profiles">تحرير الأوضاع</string>
|
||||
<string name="select_nav_profile_dialog_message">يؤثر نوع التنقل على قواعد حسابات المسار.</string>
|
||||
<string name="profile_appearance">مظهر الملف الشخصي</string>
|
||||
<string name="profile_appearance">مظهر الوضع</string>
|
||||
<string name="choose_icon_color_name">اختر الايقونة واللون والاسم</string>
|
||||
<string name="reorder_profiles">تحرير قائمة الأوضاع</string>
|
||||
<string name="selected_profile">الملف الشخصي المحدد</string>
|
||||
|
@ -3532,7 +3532,7 @@
|
|||
<string name="select_data_to_import">حدد البيانات التي سيتم استيرادها.</string>
|
||||
<string name="shared_string_rendering_style">أسلوب التقديم</string>
|
||||
<string name="import_rendering_file">استيراد ملف الrendering</string>
|
||||
<string name="restore_all_profile_settings_descr">ستتم استعادة كافة إعدادات ملف التعريف إلى حالتها الأصلية بعد إنشاء/استيراد هذا الملف الشخصي.</string>
|
||||
<string name="restore_all_profile_settings_descr">ستتم استعادة كافة إعدادات الوضع إلى حالتها الأصلية بعد إنشاء/استيراد هذا الوضع.</string>
|
||||
<string name="restore_all_profile_settings">استعادة جميع إعدادات الملف الشخصي؟</string>
|
||||
<string name="saving_new_profile">حفظ ملف تعريف جديد</string>
|
||||
<string name="profile_backup_failed">لا يمكن عمل نسخة احتياطية من الملف الشخصي.</string>
|
||||
|
@ -3652,7 +3652,7 @@
|
|||
<string name="radius_ruler_item">مسطرة البوصلة</string>
|
||||
<string name="measure_distance_item">قياس المسافة</string>
|
||||
<string name="travel_item">السفر (Wikivoyage و Wikipedia)</string>
|
||||
<string name="map_markers_item">علامات الخريطة</string>
|
||||
<string name="map_markers_item">العلامات</string>
|
||||
<string name="favorites_item">المفضلة</string>
|
||||
<string name="subscription_osmandlive_item">اشتراك أوسماند لايف</string>
|
||||
<string name="osmand_purchases_item">مشتريات أوسماند</string>
|
||||
|
@ -3668,7 +3668,7 @@
|
|||
\n
|
||||
\n • إنشاء مرشح / خرائط POI الخاصة بك مع مرونة تامة
|
||||
\n
|
||||
\n • تمت إضافة خيارات لاستعادة إعدادات ملفات التعريف المخصصة
|
||||
\n • تمت إضافة خيارات لاستعادة إعدادات الأوضاع المخصصة
|
||||
\n
|
||||
\n • مسارات GPX كاملة من الممرات دعم حركة المرور وتعليمات كاملة
|
||||
\n
|
||||
|
@ -3691,7 +3691,7 @@
|
|||
<string name="quick_action_switch_profile_descr">سيتم تبديل زر الإجراء التسجيل بين التشكيلات الجانبية المحددة.</string>
|
||||
<string name="shared_string_add_profile">إضافة ملف تعريف</string>
|
||||
<string name="change_application_profile">تغيير ملف تعريف التطبيق</string>
|
||||
<string name="profiles_for_action_not_found">لم يتم العثور على ملفات التعريف المحددة لهذا الإجراء.</string>
|
||||
<string name="profiles_for_action_not_found">لم يتم العثور على الأوضاع المحددة لهذا الإجراء.</string>
|
||||
<string name="index_item_world_basemap_detailed">خريطة عامة للعالم (تفصيلية)</string>
|
||||
<string name="unsupported_type_error">نوع غير معتمد</string>
|
||||
<string name="gpx_parse_error">لم يتم تكوين OsmAnd GPX بشكل جيد ، يرجى الاتصال بفريق الدعم لمزيد من التحقيقات.</string>
|
||||
|
@ -3813,9 +3813,9 @@
|
|||
<string name="route_between_points_add_track_desc">حدد ملف المسار الذي سيتم إضافة مقطع جديد إليه.</string>
|
||||
<string name="save_as_new_track">حفظ كمسار جديد</string>
|
||||
<string name="reverse_route">عكس الطريق</string>
|
||||
<string name="route_between_points_whole_track_button_desc">سيتم إعادة حساب المقطع التالي فقط باستخدام ملف التعريف المحدد.</string>
|
||||
<string name="route_between_points_next_segment_button_desc">سيتم إعادة حساب المقطع التالي فقط باستخدام ملف التعريف المحدد.</string>
|
||||
<string name="route_between_points_desc">حدد كيفية توصيل النقاط، بخط مستقيم، أو حساب مسار بينها مع ملف التعريف المحدد.</string>
|
||||
<string name="route_between_points_whole_track_button_desc">سيتم إعادة حساب المقطع التالي فقط باستخدام الوضع المحدد.</string>
|
||||
<string name="route_between_points_next_segment_button_desc">سيتم إعادة حساب المقطع التالي فقط باستخدام الوضع المحدد.</string>
|
||||
<string name="route_between_points_desc">حدد كيفية توصيل النقاط، بخط مستقيم، أو حساب مسار بينها على النحو المحدد أدناه.</string>
|
||||
<string name="whole_track">مسار كامل</string>
|
||||
<string name="next_segment">المقطع التالي</string>
|
||||
<string name="route_between_points_warning_desc">بعد ذلك ، ألقط مسارك بأقرب طريق مسموح به باستخدام أحد ملفات تعريف التنقل الخاصة بك لاستخدام هذا الخيار.</string>
|
||||
|
@ -3863,7 +3863,7 @@
|
|||
<string name="all_next_segments">جميع الأجزاء اللاحقة</string>
|
||||
<string name="previous_segment">المقطع السابق</string>
|
||||
<string name="all_previous_segments">جميع المقاطع السابقة</string>
|
||||
<string name="only_selected_segment_recalc">سيتم إعادة حساب المقطع المحدد فقط باستخدام ملف التعريف المحدد.</string>
|
||||
<string name="only_selected_segment_recalc">سيتم إعادة حساب المقطع المحدد فقط باستخدام الوضع المحدد.</string>
|
||||
<string name="all_next_segments_will_be_recalc">سيتم إعادة حساب كافة الشرائح اللاحقة باستخدام ملف التعريف المحدد.</string>
|
||||
<string name="all_previous_segments_will_be_recalc">سيتم إعادة حساب كافة الشرائح السابقة باستخدام ملف التعريف المحدد.</string>
|
||||
<string name="open_saved_track">فتح المسار المحفوظ</string>
|
||||
|
@ -3873,19 +3873,19 @@
|
|||
<string name="shared_string_file_name">اسم الملف</string>
|
||||
<string name="one_point_error">الرجاء إضافة نقطتين على الأقل.</string>
|
||||
<string name="shared_string_redo">إعادة</string>
|
||||
<string name="release_3_8">• وضع مخطط المسار المحدث يسمح باستخدام أنواع الملاحة المختلفة لكل جزء ويربط أي مسار بالطرق
|
||||
<string name="release_3_8">• ميزة تخطيط المسار المحدثة: تسمح باستخدام أنواع الملاحة المختلفة لكل جزء وكذا اظافة طرق
|
||||
\n
|
||||
\n• خيارات المظهر الجديدة للمسارات: تحديد اللون، السماكة ستقوم بتفعيل أسهم التوجيه و علامات البداية والنهاية
|
||||
\n• قائمة مظهر جديدة للمسارات: تحديد اللون، السماكة، اظهار أسهم التوجيه، أيقونات الانطلاق والنهاية
|
||||
\n
|
||||
\n• تحسين رؤية عقد الدراجات
|
||||
\n
|
||||
\n• قائمة السياق للمسارات بمعلومات أساسية
|
||||
\n• المسارات قابلة للنقر عليها الان وقائمة سياق بمعلومات أساسية
|
||||
\n
|
||||
\n• تحسين خوارزميات البحث
|
||||
\n• خوارزميات بحث محسنة
|
||||
\n
|
||||
\n• تم تحسين خيارات متابعة المسار أثناء الملاحة
|
||||
\n• تم تحسين خيارات متابعة المسار خلال الملاحة
|
||||
\n
|
||||
\n• تم إصلاح المشكلات المتعلقة باستيراد/تصدير إعدادات الملف الشخصي
|
||||
\n• تم إصلاح المشكلات المتعلقة باستيراد/تصدير الأوضاع الشخصية
|
||||
\n
|
||||
\n</string>
|
||||
</resources>
|
|
@ -3842,4 +3842,5 @@
|
|||
<string name="poi_departures_board_realtime">Рэальны час</string>
|
||||
<string name="poi_departures_board_delay">Затрымка</string>
|
||||
<string name="poi_recycling_small_electrical_appliances">Маленькія электрапрыборы</string>
|
||||
<string name="poi_beehive">Вулей</string>
|
||||
</resources>
|
|
@ -3609,7 +3609,7 @@
|
|||
<string name="routing_attr_length_name">Ліміт даўжыні</string>
|
||||
<string name="shared_string_bearing">Арыентацыя</string>
|
||||
<string name="item_deleted">Выдалена: %1$s</string>
|
||||
<string name="speed_cameras_restart_descr">Перазапуск патрабуецца для поўнага выдалення даных камер кантролю хуткасці.</string>
|
||||
<string name="speed_cameras_restart_descr">Перазапусціце праграму для поўнага выдалення даных камер кантролю хуткасці.</string>
|
||||
<string name="use_volume_buttons_as_zoom_descr">Кіраванне ўзроўнем маштабавання мапы пры дапамозе кнопак рэгулявання гучнасці.</string>
|
||||
<string name="plugin_wikipedia_description">Інфармацыя пра славутасці з Вікіпедыі. Гэта ваш кішэнны даведнік - уключыце ўбудову вікіпедыі і чытайце артыкулы пра аб’екты вакол вас.</string>
|
||||
<string name="app_mode_enduro_motorcycle">Матацыкл Эндура</string>
|
||||
|
@ -3699,22 +3699,20 @@
|
|||
<string name="reverse_route">Зваротны маршрут</string>
|
||||
<string name="route_between_points_whole_track_button_desc">Увесь след будзе пералічаны з выкарыстаннем абранага профілю.</string>
|
||||
<string name="route_between_points_next_segment_button_desc">Толькі наступны сегмент будзе пералічаны паводле абранага профілю.</string>
|
||||
<string name="route_between_points_desc">Абярыце спосаб злучэння пунктаў. Варыянты: прамая лінія; разлік маршруту паводле абранага профілю.</string>
|
||||
<string name="route_between_points_desc">Абярыце спосаб злучэння пунктаў. Варыянты: прамая лінія; разлік маршруту як вызначана ніжэй.</string>
|
||||
<string name="whole_track">Увесь след</string>
|
||||
<string name="next_segment">Наступны сегмент</string>
|
||||
<string name="route_between_points_warning_desc">Для выкарыстання гэтага параметру OsmAnd пракладзе ваш след па дарогах.
|
||||
\n
|
||||
\n Пасля вам патрэбна абраць профіль навігацыі для вызначэння маршруту з улікам параметраў і абмежаванняў гэтага профілю.</string>
|
||||
<string name="route_between_points_warning_desc">Пасля вам патрэбна абраць профіль навігацыі для вызначэння маршруту з улікам параметраў і абмежаванняў гэтага профілю.</string>
|
||||
<string name="threshold_distance">Максімальная дыстанцыя</string>
|
||||
<string name="navigation_profile">Профіль навігацыі</string>
|
||||
<string name="route_between_points_add_track_desc">Абраць файл следу, да якога будзе дададзены новы сегмент.</string>
|
||||
<string name="street_level_imagery">Выявы на ўзроўні вуліц</string>
|
||||
<string name="plan_route_exit_dialog_descr">Сапраўды закрыць план маршруту без захавання\? Усе змены страцяцца.</string>
|
||||
<string name="plan_route_exit_dialog_descr">Усе змены страцяцца. Закрыць план маршруту\?</string>
|
||||
<string name="in_case_of_reverse_direction">У выпадку адваротнага кірунку</string>
|
||||
<string name="shared_string_gpx_route">Маршрут следу</string>
|
||||
<string name="follow_track">Кіравацца следу</string>
|
||||
<string name="follow_track_descr">Абярыце файл следу</string>
|
||||
<string name="import_track_descr">Абярыце альбо імпартуйце файл следу.</string>
|
||||
<string name="import_track_descr">Абярыце альбо імпартуйце файл следу са сваёй прылады.</string>
|
||||
<string name="select_another_track">Абраць іншы след</string>
|
||||
<string name="navigate_to_track_descr">Перайдзіце ад маёй пазіцыі да следу</string>
|
||||
<string name="pass_whole_track_descr">Пункт следу для навігацыі</string>
|
||||
|
|
|
@ -3849,4 +3849,5 @@
|
|||
<string name="poi_departures_board">Tablero de partidas</string>
|
||||
<string name="poi_drinking_water_refill">Recarga de agua potable</string>
|
||||
<string name="poi_recycling_small_electrical_appliances">Pequeños electrodomésticos</string>
|
||||
<string name="poi_beehive">Panal de abejas</string>
|
||||
</resources>
|
|
@ -3829,7 +3829,7 @@
|
|||
<string name="reverse_route">Ruta inversa</string>
|
||||
<string name="route_between_points_next_segment_button_desc">Recalcular sólo el siguiente segmento usando el perfil elegido.</string>
|
||||
<string name="route_between_points_whole_track_button_desc">Recalcular toda la traza usando el perfil elegido.</string>
|
||||
<string name="route_between_points_desc">Marca cómo conectar los puntos, con una línea recta o calcular una ruta entre ellos con el perfil elegido.</string>
|
||||
<string name="route_between_points_desc">Marca cómo conectar los puntos, con una línea recta o calcular una ruta entre ellos como se detalla a continuación.</string>
|
||||
<string name="whole_track">Traza completa</string>
|
||||
<string name="next_segment">Siguiente segmento</string>
|
||||
<string name="route_between_points_warning_desc">A continuación, ajusta la traza al camino permitido más cercano con un perfil de navegación.</string>
|
||||
|
@ -3889,13 +3889,13 @@
|
|||
<string name="number_of_gpx_files_selected_pattern">%s archivo(s) de trazas marcado(s)</string>
|
||||
<string name="one_point_error">Añade al menos dos puntos.</string>
|
||||
<string name="shared_string_redo">Rehacer</string>
|
||||
<string name="release_3_8">• Se ha actualizado el modo «Planificar ruta»: ahora permite usar diferentes tipos de navegación para cada segmento y adjunta cualquier traza a los caminos
|
||||
<string name="release_3_8">• Se ha actualizado la función «Planificar ruta»: permite utilizar diferentes tipos de navegación por segmento y la inclusión de trazas
|
||||
\n
|
||||
\n • Nuevas opciones en el aspecto de las trazas: elegir el color, cambiar el grosor de las flechas de dirección y las marcas de inicio/fin.
|
||||
\n • Nuevo menú con el aspecto de las trazas: elegir el color, el grosor, mostrar las flechas de dirección y los iconos de inicio/fin.
|
||||
\n
|
||||
\n • Mejoras en la visibilidad de los nodos de bicicleta
|
||||
\n • Mejoras en la visibilidad de los nodos de bicicleta.
|
||||
\n
|
||||
\n • Menú contextual con información básica para las trazas
|
||||
\n • Las trazas ahora se pueden pulsar, contiene un menú contextual con información básica.
|
||||
\n
|
||||
\n • Algoritmos de búsqueda mejorados
|
||||
\n
|
||||
|
|
|
@ -3824,4 +3824,6 @@
|
|||
<string name="poi_departures_board">Väljuvate reiside tabloo</string>
|
||||
<string name="poi_drinking_water_refill">Joogivee täitmine</string>
|
||||
<string name="poi_recycling_small_electrical_appliances">Väikesed elektriseadmed</string>
|
||||
<string name="poi_beehive">Mesitaru</string>
|
||||
<string name="poi_nuts">Pähklipood</string>
|
||||
</resources>
|
|
@ -166,7 +166,7 @@
|
|||
<string name="quick_action_osmbugs_show">Näita OSM märkmed</string>
|
||||
<string name="quick_action_osmbugs_hide">Peida OSM Notes</string>
|
||||
<string name="thank_you_for_feedback">Täname sind tagasiside eest</string>
|
||||
<string name="poi_cannot_be_found">Punkti või teed ei leitud.</string>
|
||||
<string name="poi_cannot_be_found">Sõlme või teed ei leidunud.</string>
|
||||
<string name="search_no_results_feedback">Otsingutulemused puuduvad\?
|
||||
\nJaga tagasisidet</string>
|
||||
<string name="increase_search_radius_to">Laienda otsingu raadiust kuni %1$s</string>
|
||||
|
@ -3738,4 +3738,19 @@
|
|||
<string name="export_import_quick_actions_with_profiles_promo">Kiirtegevusi saad eksportida või importida koos rakenduse profiilidega.</string>
|
||||
<string name="delete_all_actions_message_q">Kas sa oled kindel, et soovid pöördumatult kustutada %d kiirtegevust\?</string>
|
||||
<string name="route_between_points_desc">Vali kas soovid ühendada punkte sirge joonega või arvutada nendevahelist teekonda vastavalt oma valitud profiilile.</string>
|
||||
<string name="release_3_8">• Uuendatud teekonnaplaneerija: võimaldab kasutada igal segmendil erinevat liikumisviisi ning radade kaasamist
|
||||
\n
|
||||
\n • Uus radade kujunduse seadistamise menüü: valida saad värve, joone paksust, suunanoolte kuvamist ning alguse ja lõpu ikoone
|
||||
\n
|
||||
\n • Rattasõlmede parandatud nähtavus
|
||||
\n
|
||||
\n • Radasid saad nüüd puudutada, misjärel kuvatakse põhiteabega kontekstimenüü
|
||||
\n
|
||||
\n • Parandatud on otsingualgoritme
|
||||
\n
|
||||
\n • Parandatud raja jälgimise valikud navigeerimisel
|
||||
\n
|
||||
\n • Parandatud on profiili seadistuste impordi ja ekspordiga seotud vead
|
||||
\n
|
||||
\n</string>
|
||||
</resources>
|
|
@ -1080,7 +1080,7 @@
|
|||
<string name="edit_tilesource_choose_existing">انتخاب از موارد موجود…</string>
|
||||
<string name="maps_define_edit">تعریف/ویرایش…</string>
|
||||
<string name="driving_region">منطقهٔ رانندگی</string>
|
||||
<string name="edit_tilesource_elliptic_tile">مرکاتور بیضوی</string>
|
||||
<string name="edit_tilesource_elliptic_tile">فراتابی مرکاتور بیضوی</string>
|
||||
<string name="edit_tilesource_url_to_load">نشانی اینترنتی</string>
|
||||
<string name="map_magnifier">ذرهبین نقشه</string>
|
||||
<string name="base_world_map">نقشهٔ جهانی پایه</string>
|
||||
|
@ -1411,7 +1411,7 @@
|
|||
<string name="traffic_warning_border_control">کنترل مرزی</string>
|
||||
<string name="traffic_warning_payment">عوارضی</string>
|
||||
<string name="traffic_warning_stop">علامت ایست</string>
|
||||
<string name="traffic_warning_calming">سرعتگیر</string>
|
||||
<string name="traffic_warning_calming">آرامسازی ترافیک</string>
|
||||
<string name="traffic_warning_speed_camera">دوربین سرعت</string>
|
||||
<string name="traffic_warning">هشدار ترافیکی</string>
|
||||
<string name="enable_proxy_title">فعالکردن پروکسی HTTP</string>
|
||||
|
@ -1645,7 +1645,7 @@
|
|||
<string name="no_inet_connection_desc_map">برای دانلود نقشهها لازم است.</string>
|
||||
<string name="search_location">در حال جستوجوی مکان…</string>
|
||||
<string name="storage_free_space">فضای خالی</string>
|
||||
<string name="storage_place_description">ذخیرهگاه اطلاعات OsmAnd (برای نقشهها، فایلهای GPX و...): %1$s.</string>
|
||||
<string name="storage_place_description">ذخیرهگاه دادهٔ OsmAnd (برای نقشهها، فایلهای رد و...): %1$s.</string>
|
||||
<string name="give_permission">اجازهٔ دسترسی</string>
|
||||
<string name="allow_access_location">اجازهٔ دسترسی به موقعیتتان را بدهید</string>
|
||||
<string name="first_usage_greeting">مسیریابی و کشف جاهای تازه بدون اتصال به اینترنت</string>
|
||||
|
@ -2374,8 +2374,8 @@
|
|||
<string name="store_tracks_in_monthly_directories">ذخیرهٔ ردهای ضبطشده در پوشههای ماهانه</string>
|
||||
<string name="store_tracks_in_monthly_directories_descrp">ردهای ضبطشده در زیرپوشههای ماهانه ذخیره میشود (مثلاً ۲۰۱۸-۰۱).</string>
|
||||
<string name="display_zoom_level">زوم نمایش: %1$s</string>
|
||||
<string name="gpx_no_tracks_title">هنوز فایل GPXای ندارید</string>
|
||||
<string name="gpx_no_tracks_title_folder">همچنین میتوانید فایلهای GPX را در این پوشه قرار دهید</string>
|
||||
<string name="gpx_no_tracks_title">هنوز فایل رد (track) ندارید</string>
|
||||
<string name="gpx_no_tracks_title_folder">همچنین میتوانید فایلهای رد را در این پوشه قرار دهید</string>
|
||||
<string name="rec_split_title">استفاده از تقسیمگر ضبطکننده</string>
|
||||
<string name="context_menu_item_open_note">ایجاد یادداشت OSM</string>
|
||||
<string name="osm_edit_reopened_note">یادداشت OSM بازگشوده</string>
|
||||
|
@ -2919,10 +2919,10 @@
|
|||
<string name="routeInfo_road_types_name">نوع جادهها</string>
|
||||
<string name="exit_at">ایستگاه پیادهشدن</string>
|
||||
<string name="sit_on_the_stop">ایستگاه سوارشدن</string>
|
||||
<string name="quick_action_show_hide_gpx_tracks">آشکار/پنهان کردن ردهای GPX</string>
|
||||
<string name="quick_action_show_hide_gpx_tracks_descr">دکمهای برای آشکار/پنهان کردن ردهای GPX انتخابی بر روی نقشه.</string>
|
||||
<string name="quick_action_gpx_tracks_hide">پنهانکردن ردهای GPX</string>
|
||||
<string name="quick_action_gpx_tracks_show">آشکارکردن ردهای GPX</string>
|
||||
<string name="quick_action_show_hide_gpx_tracks">آشکار/پنهان کردن ردها</string>
|
||||
<string name="quick_action_show_hide_gpx_tracks_descr">دکمهای برای آشکار/پنهان کردن ردهای انتخابی بر روی نقشه.</string>
|
||||
<string name="quick_action_gpx_tracks_hide">پنهانکردن ردها</string>
|
||||
<string name="quick_action_gpx_tracks_show">آشکارکردن ردها</string>
|
||||
<string name="release_3_3">• طراحی جدید برای صفحهٔ «مسیریابی»: اضافهشدن دکمههای خانه و محل کار برای انتخاب مقصد، میانبر «مسیر قبلی»، لیست نشانهها و ردهای GPX فعال، سابقهٔ جستوجو
|
||||
\n
|
||||
\n • اطلاعات بیشتر در قسمت «جزئیات مسیر»: نوع جادهها، سطح، شیب، همواری
|
||||
|
@ -3771,7 +3771,7 @@
|
|||
\nیک هفته ۱۰ ۰۸۰ دقیقه است.
|
||||
\nیک ماه ۴۳ ۸۲۹ دقیقه است.</string>
|
||||
<string name="tiles_storage_descr">شیوهٔ ذخیرهسازی کاشیهای دانلودشده را انتخاب کنید.</string>
|
||||
<string name="default_screen_timeout">زمان خاموشی پیشفرض صفحه</string>
|
||||
<string name="default_screen_timeout">زمان پیشفرض خاموشی صفحه</string>
|
||||
<string name="export_import_quick_actions_with_profiles_promo">میتوانید کنشهای فوری را همراه با پروفایلهای برنامه برونبرد یا درونبرد کنید.</string>
|
||||
<string name="shared_string_delete_all_q">همه حذف شود؟</string>
|
||||
<string name="delete_all_actions_message_q">آیا %d کنش فوری را حذف میکنید؟ (برگشتناپذیر است)</string>
|
||||
|
@ -3804,7 +3804,7 @@
|
|||
<string name="shared_string_uninstall">حذف نصب</string>
|
||||
<string name="shared_string_bearing">سویه</string>
|
||||
<string name="item_deleted">%1$s حذف شد</string>
|
||||
<string name="speed_cameras_restart_descr">برای اینکه دادهٔ دوربین سرعت کاملاً حذف شود، یک بار برنامه را ببندید و باز کنید.</string>
|
||||
<string name="speed_cameras_restart_descr">برای اینکه دادهٔ دوربین سرعت کاملاً حذف شود، برنامه را ببندید و باز کنید.</string>
|
||||
<string name="speed_camera_pois">نقاط توجه دوربین سرعت</string>
|
||||
<string name="speed_cameras_legal_descr">قانونِ برخی کشورها استفاده از نرمافزارهای هشداردهندهٔ دوربین سرعت را ممنوع کرده است.
|
||||
\n
|
||||
|
@ -3814,16 +3814,16 @@
|
|||
\n
|
||||
\nبا انتخاب %2$s تا زمانی که OsmAnd را دوباره نصب کنید، تمام دادهٔ مربوط به دوربینهای سرعت (هشدارها، اعلانها، نقاط توجه) حذف میشود.</string>
|
||||
<string name="speed_cameras_alert">قانونِ برخی از کشورها استفاده از هشداردهندهٔ دوربین سرعت را ممنوع کرده است.</string>
|
||||
<string name="use_volume_buttons_as_zoom_descr">با این گزینه میتوانید با استفاده از دکمههای کم/زیاد صدای دستگاه سطح زوم را کنترل کنید.</string>
|
||||
<string name="use_volume_buttons_as_zoom_descr">با استفاده از دکمههای کم/زیاد صدای دستگاه، سطح زوم را کنترل کنید.</string>
|
||||
<string name="use_volume_buttons_as_zoom">زوم با دکمههای صدا</string>
|
||||
<string name="routing_attr_length_name">طول مجاز</string>
|
||||
<string name="routing_attr_length_description">طول مجاز خودرو در مسیرها را مشخص کنید.</string>
|
||||
<string name="speed_cameras_removed_descr">این دستگاه دوربینهای سرعت را ندارد.</string>
|
||||
<string name="keep_active">فعال بماند</string>
|
||||
<string name="quick_action_remove_next_destination">حذف مقصد بعدی</string>
|
||||
<string name="quick_action_remove_next_destination">حذف نزدیکترین مقصد</string>
|
||||
<string name="please_provide_point_name_error">لطفاً نام نقطه را بنویسید</string>
|
||||
<string name="search_download_wikipedia_maps">دانلود نقشههای ویکیپدیا</string>
|
||||
<string name="plugin_wikipedia_description">از ویکیپدیا دربارهٔ نقاط توجه اطلاعات کسب کنید. یک راهنمای آفلاین جیبی. کافی است افزونهٔ ویکیپدیا را فعال کنید و از مقالهها دربارهٔ چیزهای دوروبرتان لذت ببرید.</string>
|
||||
<string name="plugin_wikipedia_description">از ویکیپدیا دربارهٔ نقاط توجه اطلاعات کسب کنید؛ مانند یک راهنمای آفلاین جیبی. کافی است افزونهٔ ویکیپدیا را فعال کنید و از مقالههای مربوط به چیزهای دوروبرتان لذت ببرید.</string>
|
||||
<string name="app_mode_wheelchair">صندلی چرخدار</string>
|
||||
<string name="osm_edit_closed_note">یادداشت اُاِساِمی بسته</string>
|
||||
<string name="add_hidden_group_info">نقطهٔ اضافهشده روی نقشه دیده نمیشود، زیرا گروه انتخابشده پنهان است. آن را در «%s» پیدا میکنید.</string>
|
||||
|
@ -3843,23 +3843,23 @@
|
|||
<string name="plan_route_select_track_file_for_open">یک فایل رد انتخاب کنید تا باز شود.</string>
|
||||
<string name="shared_string_done">تمام</string>
|
||||
<string name="overwrite_track">بَرنویسی رد</string>
|
||||
<string name="open_saved_track">آهنگ ذخیره شده را باز کنید</string>
|
||||
<string name="shared_string_is_saved">ذخیره شده</string>
|
||||
<string name="one_point_error">لطفا حداقل دو امتیاز اضافه کنید.</string>
|
||||
<string name="shared_string_redo">آماده</string>
|
||||
<string name="release_3_8">"به روز شده برنامه یک عملکرد مسیر: اجازه می دهد تا از انواع مختلف پیمایش در هر بخش و گنجاندن مسیرها استفاده کنید
|
||||
<string name="open_saved_track">بازکردن رد ذخیرهشده</string>
|
||||
<string name="shared_string_is_saved">ذخیره شد</string>
|
||||
<string name="one_point_error">لطفاً حداقل دو نقطه اضافه کنید.</string>
|
||||
<string name="shared_string_redo">ازنو</string>
|
||||
<string name="release_3_8">• قابلیت «طرحریزی مسیر» روزآمد شد: امکان استفاده از شیوهٔ ناوبری متفاوت برای هر پاره از مسیر و در کار آوردن ردها اضافه شده است.
|
||||
\n
|
||||
\n • منوی New Appearance برای آهنگ ها، رنگ ، ضخامت ، فلش جهت نمایش ، نمادهای شروع / پایان استفاده می شوئ
|
||||
\n• منوی جدید «ظاهر» برای ردها: رنگ و ضخامت را مشخص کنید، فلشهای جهتنما و نمادهای آغاز/پایان را نمایش دهید.
|
||||
\n
|
||||
\n • بهبود دید نود های دوچرخه.
|
||||
\n• پدیداری گرههای شبکهٔ دوچرخه بهبود یافته است.
|
||||
\n
|
||||
\n • آهنگ ها اکنون قابل لمس هستند ، دارای منوی زمینه با اطلاعات اولیه هستند.
|
||||
\n• اکنون میتوان ردها را لمس کرد و منوی زمینه با اطلاعات پایه را مشاهده کرد.
|
||||
\n
|
||||
\n • بهبود الگوریتم های جستجو
|
||||
\n• الگوریتم «جستجو» بهبود یافته است.
|
||||
\n
|
||||
\n • گزینه های ردیابی را در پیمایش بهبود بخشید
|
||||
\n• گزینههای «دنبالکردن رد» در ناوبری بهبود یافته است.
|
||||
\n
|
||||
\n • مشکلات مربوط به واردات / صادرات تنظیمات نمایه برطرف شده است
|
||||
\n• مشکلاتی مربوط به درونبرد/برونبرد تنظیمات پروفایل برطرف شده است.
|
||||
\n
|
||||
\n"</string>
|
||||
\n</string>
|
||||
</resources>
|
|
@ -3801,7 +3801,7 @@
|
|||
<string name="plan_route_select_track_file_for_open">Sélectionnez un fichier de trace à ouvrir.</string>
|
||||
<string name="shared_string_done">Terminé</string>
|
||||
<string name="overwrite_track">Remplacer la trace</string>
|
||||
<string name="route_between_points_desc">Sélectionnez comment relier les points : par une ligne droite ou en calculant un itinéraire avec le profil sélectionné.</string>
|
||||
<string name="route_between_points_desc">Sélectionnez comment relier les points : par une ligne droite ou en calculant un itinéraire reliant les points comme indiqué ci-dessous.</string>
|
||||
<string name="route_between_points_whole_track_button_desc">Toute la trace sera recalculée en utilisant le profil sélectionné.</string>
|
||||
<string name="route_between_points_next_segment_button_desc">Seul le prochain segment sera recalculé en utilisant le profil sélectionné.</string>
|
||||
<string name="route_between_points_warning_desc">Ensuite, sélectionnez le profil de navigation pour détecter les routes autorisées et le seuil de distance afin de déplacer votre trace.</string>
|
||||
|
@ -3836,7 +3836,7 @@
|
|||
<string name="follow_track">Suivre la trace</string>
|
||||
<string name="follow_track_descr">Sélectionner un fichier de trace à suivre</string>
|
||||
<string name="select_another_track">Sélectionner une autre trace</string>
|
||||
<string name="navigate_to_track_descr">Naviguez de ma position vers la trace</string>
|
||||
<string name="navigate_to_track_descr">Naviguer de ma position vers la trace</string>
|
||||
<string name="nearest_point">Point le plus proche</string>
|
||||
<string name="delete_address">Supprimer l\'adresse</string>
|
||||
<string name="add_address">Ajouter une adresse</string>
|
||||
|
|
|
@ -3833,4 +3833,6 @@
|
|||
<string name="poi_recycling_small_electrical_appliances">Kis elektronikus készülékek</string>
|
||||
<string name="poi_departures_board">Indulásiidő-kijelző</string>
|
||||
<string name="poi_drinking_water_refill">Ivóvíz-utántöltés</string>
|
||||
<string name="poi_nuts">Mag- és aszaltgyümölcsbolt</string>
|
||||
<string name="poi_beehive">Méhkaptár</string>
|
||||
</resources>
|
|
@ -3834,7 +3834,7 @@
|
|||
<string name="simplified_track">Egyszerűsített nyomvonal</string>
|
||||
<string name="shared_string_done">Kész</string>
|
||||
<string name="shared_string_is_saved">elmentve</string>
|
||||
<string name="route_between_points_desc">Jelölje ki, hogyan legyenek összekötve a pontok: egyenes vonallal vagy a kiválasztott profilnak megfelelően kiszámított útvonallal.</string>
|
||||
<string name="route_between_points_desc">Jelölje ki, hogyan legyenek összekötve a pontok: egyenes vonallal vagy az alábbiak szerint kiszámított útvonallal.</string>
|
||||
<string name="whole_track">Teljes nyomvonal</string>
|
||||
<string name="monitoring_min_accuracy_descr_remark">Megjegyzés: Ha a GPS közvetlenül a felvétel előtt ki volt kapcsolva, akkor rosszabb lehet az első mért pont pontossága. A kódban ezért szeretnénk majd talán várni egy-két másodpercet egy pont rögzítése előtt (vagy a 3 egymást követő pont közül a legjobbat rögzíteni vagy valami hasonló), de ezt még nem programoztuk le.</string>
|
||||
<string name="delete_address">Cím törlése</string>
|
||||
|
@ -3878,13 +3878,13 @@
|
|||
<string name="route_between_points_add_track_desc">Jelölje ki azt a nyomvonalfájlt, amelyhez az új szakasz hozzáadódjék.</string>
|
||||
<string name="show_gpx">Nyomvonalak</string>
|
||||
<string name="shared_string_redo">Mégis</string>
|
||||
<string name="release_3_8">• A Tervezett útvonal mód frissítésével különböző navigációtípusok is használathatók az egyes szakaszokhoz, és bármilyen nyomvonal az utakhoz köthető
|
||||
<string name="release_3_8">• Frissített útvonaltervezési funkció: szakaszonként különböző navigációtípusok használhatók és nyomvonalak is beilleszthetők
|
||||
\n
|
||||
\n • Új megjelenési lehetőségek a nyomvonalakhoz: válassza ki a színt, a vastagságot, kapcsolja be az iránynyilakat és a kezdő / befejező jeleket
|
||||
\n • Új megjelenési menü a nyomvonalakhoz: válassza ki a színt, a vastagságot, kapcsolja be az iránynyilakat és a kiindulás / célpont ikonjait
|
||||
\n
|
||||
\n • A kerékpáros csomópontok jobb láthatósága
|
||||
\n • Kerékpáros csomópontok jobb láthatósága
|
||||
\n
|
||||
\n • Helyi menü a nyomvonalak az alapvető adataival
|
||||
\n • Nyomvonalra koppintással megnyíló helyi menü a nyomvonalak az alapvető adataival
|
||||
\n
|
||||
\n • Továbbfejlesztett keresési algoritmusok
|
||||
\n
|
||||
|
|
|
@ -3837,7 +3837,7 @@
|
|||
<string name="route_between_points_add_track_desc">נא לבחור קובץ מסלול שבו יתווסף המקטע החדש.</string>
|
||||
<string name="route_between_points_whole_track_button_desc">כל המסלול יחושב מחדש באמצעות הפרופיל הנבחר.</string>
|
||||
<string name="route_between_points_next_segment_button_desc">רק המקטע הבא יחושב מחודש באמצעות הפרופיל הנבחר.</string>
|
||||
<string name="route_between_points_desc">נא לבחור כיצד לחבר נקודות, בקו ישר, או לחבר מסלול ביניהן עם הפרופיל הנבחר.</string>
|
||||
<string name="route_between_points_desc">נא לבחור כיצד לחבר נקודות, בקו ישר, או לחבר מסלול ביניהן כפי שצוין להלן.</string>
|
||||
<string name="route_between_points_warning_desc">כדי להשתמש באפשרות זו על OsmAnd להצמיד את המסלול שלך לדרכים שעל המפה.
|
||||
\n
|
||||
\n בשלב הבא יהיה עליך לבחור בפרופיל ניווט כדי לזהות את הדרכים המורשות ואת סף המרחק כדי להעריך את המסלול שלך ביחס לדרכים.</string>
|
||||
|
|
|
@ -50,9 +50,9 @@
|
|||
<string name="si_mi_yard">マイル/ヤード</string>
|
||||
<string name="si_km_m">キロメートル/メートル</string>
|
||||
<string name="yard">ヤード</string>
|
||||
<string name="foot">フィート</string>
|
||||
<string name="foot">ft</string>
|
||||
<string name="mile_per_hour">mph</string>
|
||||
<string name="mile">マイル</string>
|
||||
<string name="mile">mi</string>
|
||||
<string name="send_location_way_choose_title">次の方法で位置を共有</string>
|
||||
<string name="send_location_sms_pattern">位置 : %1$s\n%2$s</string>
|
||||
<string name="send_location_email_pattern">位置を見るには
|
||||
|
@ -472,7 +472,7 @@ POIの更新は利用できません</string>
|
|||
<string name="poi_dialog_comment_default">POI 変更</string>
|
||||
<string name="poi_dialog_other_tags_message">他のタグは全て保存されました</string>
|
||||
<string name="default_buttons_commit">コミット</string>
|
||||
<string name="shared_string_clear">削除する</string>
|
||||
<string name="shared_string_clear">削除</string>
|
||||
<string name="filter_current_poiButton">フィルタ</string>
|
||||
<string name="edit_filter_save_as_menu_item">名前をつけて保存</string>
|
||||
<string name="edit_filter_delete_dialog_title">選択したフィルタを削除しますか?</string>
|
||||
|
@ -2068,7 +2068,7 @@ POIの更新は利用できません</string>
|
|||
<string name="lang_zh_hk">中国語 (香港)</string>
|
||||
<string name="driving_region_australia">オーストラリア</string>
|
||||
<string name="gpx_no_tracks_title">フォルダ内に経路データが存在しません</string>
|
||||
<string name="gpx_no_tracks_title_folder">以下フォルダーにトラックを追加することが可能です</string>
|
||||
<string name="gpx_no_tracks_title_folder">フォルダに経路を追加することも可能です</string>
|
||||
<string name="gpx_add_track">経路を追加</string>
|
||||
<string name="shared_string_appearance">表示形式</string>
|
||||
<string name="max_speed">最大速度</string>
|
||||
|
@ -2412,10 +2412,10 @@ POIの更新は利用できません</string>
|
|||
<string name="no_photos_descr">この近辺の写真はありません。</string>
|
||||
<string name="online_photos">近隣の写真(要オンライン)</string>
|
||||
<string name="mapillary_descr">情報共有のための路上写真です(要オンライン)。新たな場所の発見に、協力しあい、この世界を写真で保存しましょう。</string>
|
||||
<string name="improve_coverage_mapillary">Mapillaryにて写真の有効領域を広げましょう</string>
|
||||
<string name="improve_coverage_install_mapillary_desc">Mapillaryをインストールして、このマップの場所に写真を追加します。</string>
|
||||
<string name="improve_coverage_mapillary">Mapillaryにて写真によるレポートを強化しましょう</string>
|
||||
<string name="improve_coverage_install_mapillary_desc">Mapillaryをインストールすれば、このマップの場所にストリート写真を追加できます。</string>
|
||||
<string name="open_mapillary">Mapillaryを開く</string>
|
||||
<string name="mapillary">ストリート写真(Mapillary)</string>
|
||||
<string name="mapillary">Mapillary</string>
|
||||
<string name="mapillary_widget">Mapillaryウィジェット</string>
|
||||
<string name="mapillary_image">Mapillary画像</string>
|
||||
<string name="mapillary_action_descr">Mapillaryを利用し、あなたが撮影した路上写真を共有します。</string>
|
||||
|
@ -2611,7 +2611,7 @@ POIの更新は利用できません</string>
|
|||
<string name="light_rs_render_descr">シンプルな運転用スタイルです。おだやかな夜間モード、等高線、対照的なオレンジ色スタイルの道路表示で、セカンダリマップオブジェクトは若干暗くしてあります。</string>
|
||||
<string name="topo_render_descr">ハイキング、トレッキング、ネイチャーサイクリング向けです。屋外で視認しやすい配色になっています。対照的な道路と自然物、さまざまなルートタイプ、高度な等高線オプション、詳細の追加などがなされています。 路面の素材や質を表示するオプションを使えば、各道路の状態も把握できます。夜間モードはありません。</string>
|
||||
<string name="mapnik_render_descr">昔のデフォルトであった『Mapnik』スタイルです。Mapnikそのものではありませんが似た配色になります。</string>
|
||||
<string name="coord_input_edit_point">地点/座標の編集</string>
|
||||
<string name="coord_input_edit_point">地点/座標の編集</string>
|
||||
<string name="coord_input_add_point">座標の追加</string>
|
||||
<string name="coord_input_save_as_track">経路として保存</string>
|
||||
<string name="coord_input_save_as_track_descr">%1$sヶ所の座標を追加しました。ファイル名を付けて\"保存\"をタップしてください。</string>
|
||||
|
@ -2745,7 +2745,7 @@ POIの更新は利用できません</string>
|
|||
<string name="last_intermediate_dest_description">最後の中間経由地点として追加</string>
|
||||
<string name="first_intermediate_dest_description">最初の中間経由地点として追加</string>
|
||||
<string name="show_closed_notes">閉じたメモの表示</string>
|
||||
<string name="switch_osm_notes_visibility_desc">マップ上にあるOSMメモの表示/非表示を切り替えます。</string>
|
||||
<string name="switch_osm_notes_visibility_desc">マップ上にあるOSMメモの表示/非表示を切り替えます。</string>
|
||||
<string name="gpx_file_desc">GPX - JOSMまたは他のOSMエディタへ適したエクスポート形式です。</string>
|
||||
<string name="osc_file_desc">OSC - OSMの利用に適したエクスポート形式です。</string>
|
||||
<string name="shared_string_gpx_file">GPXファイル</string>
|
||||
|
@ -2855,10 +2855,10 @@ POIの更新は利用できません</string>
|
|||
<string name="shared_string_swap">入れ替え</string>
|
||||
<string name="show_more">詳細を見る</string>
|
||||
<string name="tracks_on_map">マップ上の経路</string>
|
||||
<string name="quick_action_show_hide_gpx_tracks">GPX経路の表示/非表示</string>
|
||||
<string name="quick_action_show_hide_gpx_tracks_descr">マップ上にある選択したGPX経路の表示/非表示を切り替えるボタンです。</string>
|
||||
<string name="quick_action_gpx_tracks_hide">GPX経路の非表示</string>
|
||||
<string name="quick_action_gpx_tracks_show">GPX経路の表示</string>
|
||||
<string name="quick_action_show_hide_gpx_tracks">GPX経路の表示/非表示</string>
|
||||
<string name="quick_action_show_hide_gpx_tracks_descr">マップ上にある選択したGPX経路の表示/非表示を切り替えるボタンです。</string>
|
||||
<string name="quick_action_gpx_tracks_hide">経路の非表示</string>
|
||||
<string name="quick_action_gpx_tracks_show">経路の表示</string>
|
||||
<string name="add_destination_query">最初に目的地を設定して下さい</string>
|
||||
<string name="previous_route">前回のルート</string>
|
||||
<string name="cubic_m">立方メートル</string>
|
||||
|
@ -3338,14 +3338,14 @@ POIの更新は利用できません</string>
|
|||
<string name="sit_on_the_stop">停留所標識</string>
|
||||
<string name="lang_oc">オック語</string>
|
||||
<string name="layer_osm_edits">OSMの編集</string>
|
||||
<string name="quick_action_contour_lines_descr">マップ上の等高線の表示/非表示を切り替えられるボタンです。</string>
|
||||
<string name="quick_action_contour_lines_descr">マップ上の等高線の表示/非表示を切り替えられるボタンです。</string>
|
||||
<string name="quick_action_contour_lines_show">等高線を表示</string>
|
||||
<string name="quick_action_contour_lines_hide">等高線を非表示</string>
|
||||
<string name="quick_action_show_hide_contour_lines">等高線を表示/非表示</string>
|
||||
<string name="quick_action_hillshade_descr">マップ上の陰影起伏図の表示/非表示を切り替えられるボタンです。</string>
|
||||
<string name="quick_action_show_hide_contour_lines">等高線を表示/非表示</string>
|
||||
<string name="quick_action_hillshade_descr">マップ上の陰影起伏図の表示/非表示を切り替えられるボタンです。</string>
|
||||
<string name="quick_action_hillshade_show">陰影起伏図を表示</string>
|
||||
<string name="quick_action_hillshade_hide">陰影起伏図を非表示</string>
|
||||
<string name="quick_action_show_hide_hillshade">陰影起伏図の表示/非表示</string>
|
||||
<string name="quick_action_show_hide_hillshade">陰影起伏図の表示/非表示</string>
|
||||
<string name="tts_initialization_error">テキスト読み上げエンジンを起動できません。</string>
|
||||
<string name="export_profile">プロファイルのエクスポート</string>
|
||||
<string name="exported_osmand_profile">OsmAndプロファイル:%1$s</string>
|
||||
|
@ -3455,7 +3455,7 @@ POIの更新は利用できません</string>
|
|||
<string name="multimedia_photo_play_sound">カメラシャッター音</string>
|
||||
<string name="osm_authorization_success">認証に成功しました</string>
|
||||
<string name="rearrange_categories">カテゴリーの並べ替え</string>
|
||||
<string name="create_custom_categories_list_promo">リストの並び順を変更したり、不要なカテゴリを非表示にします。プロファイルデータのインポート/エクスポートも可能です。</string>
|
||||
<string name="create_custom_categories_list_promo">リストの並び順を変更したり、不要なカテゴリを非表示にします。プロファイルデータのインポート/エクスポートも可能です。</string>
|
||||
<string name="add_new_custom_category_button_promo">一つあるいは複数のカテゴリーを選択して、新しいカスタムカテゴリーを追加できます。</string>
|
||||
<string name="shared_string_available">利用可</string>
|
||||
<string name="add_custom_category">カスタムカテゴリーを追加</string>
|
||||
|
@ -3718,7 +3718,7 @@ POIの更新は利用できません</string>
|
|||
<string name="turn_screen_on_power_button">電源ボタン</string>
|
||||
<string name="use_volume_buttons_as_zoom_descr">端末の音量ボタンでマップのズームレベルを変更できるようにします。</string>
|
||||
<string name="use_volume_buttons_as_zoom">音量ボタンでズーム</string>
|
||||
<string name="track_show_start_finish_icons">出発・目的地アイコンを表示</string>
|
||||
<string name="track_show_start_finish_icons">出発地点と目的地アイコンを表示</string>
|
||||
<string name="select_track_width">幅の選択</string>
|
||||
<string name="gpx_split_interval_descr">距離または時間のマーカーが経路に表示される間隔を選択します。</string>
|
||||
<string name="gpx_split_interval_none_descr">時間または距離で、必要な分割オプションを選択します。</string>
|
||||
|
@ -3735,7 +3735,7 @@ POIの更新は利用できません</string>
|
|||
<string name="reverse_route">ルート反転</string>
|
||||
<string name="route_between_points_next_segment_button_desc">選択したプロファイルを使用して、次のセグメントのみ再計算します。</string>
|
||||
<string name="route_between_points_whole_track_button_desc">選択したプロファイルを使用して、経路全体が再計算されます。</string>
|
||||
<string name="route_between_points_desc">直線で地点間をつなげる方法をとるか、選択したプロファイルで地点間のルートを計算します。</string>
|
||||
<string name="route_between_points_desc">地点間を直線で結ぶ方法、または地点だけを指定しその後ルートを計算する方法のどちらかを選択します。</string>
|
||||
<string name="whole_track">全経路</string>
|
||||
<string name="next_segment">次のセグメント</string>
|
||||
<string name="route_between_points_warning_desc">このオプションを使用するには、OsmAndで経路をマップ上の道路にスナップする必要があります。
|
||||
|
@ -3820,11 +3820,11 @@ POIの更新は利用できません</string>
|
|||
<string name="routing_attr_length_name">長さ制限</string>
|
||||
<string name="shared_string_bearing">ベアリング</string>
|
||||
<string name="item_deleted">%1$sを削除しました</string>
|
||||
<string name="speed_cameras_restart_descr">スピードカメラのデータを完全に削除するには、再起動が必要です。</string>
|
||||
<string name="speed_cameras_restart_descr">アプリを再起動し、すべてのスピードカメラデータを削除します。</string>
|
||||
<string name="shared_string_uninstall_and_restart">アンインストールして再起動</string>
|
||||
<string name="speed_cameras_removed_descr">このアプリには、スピードカメラに関する情報はありません。</string>
|
||||
<string name="app_mode_inline_skates">インラインスケート</string>
|
||||
<string name="quick_action_remove_next_destination">次の目的地を削除</string>
|
||||
<string name="quick_action_remove_next_destination">最も近い目的地を削除</string>
|
||||
<string name="please_provide_point_name_error">地点の名前を入力してください</string>
|
||||
<string name="quick_action_remove_next_destination_descr">ルート上の現在の目的地点が削除されます。目的地に着いた場合はナビは停止します。</string>
|
||||
<string name="search_download_wikipedia_maps">Wikipediaマップのダウンロード</string>
|
||||
|
@ -3835,13 +3835,13 @@ POIの更新は利用できません</string>
|
|||
<string name="shared_string_gpx_files">経路</string>
|
||||
<string name="layer_gpx_layer">経路</string>
|
||||
<string name="show_gpx">経路</string>
|
||||
<string name="monitoring_control_start">GPX</string>
|
||||
<string name="monitoring_control_start">REC</string>
|
||||
<string name="save_track_to_gpx_globally">GPXファイルへの経路ログ</string>
|
||||
<string name="shared_string_gpx_route">ルート経路</string>
|
||||
<string name="empty_state_my_tracks">経路ファイルを追加</string>
|
||||
<string name="empty_state_my_tracks_desc">経路ファイルを記録、またはインポートします</string>
|
||||
<string name="context_menu_item_add_waypoint">経路経由地点を追加</string>
|
||||
<string name="quick_action_add_gpx">経路経由地点を追加</string>
|
||||
<string name="context_menu_item_add_waypoint">経路・経由地点を追加</string>
|
||||
<string name="quick_action_add_gpx">経路・経由地点を追加</string>
|
||||
<string name="attach_to_the_roads">道路に貼り付ける</string>
|
||||
<string name="map_widget_monitoring">旅程の記録</string>
|
||||
<string name="marker_save_as_track">経路ファイルとして保存</string>
|
||||
|
@ -3875,13 +3875,13 @@ POIの更新は利用できません</string>
|
|||
<string name="open_saved_track">保存した経路を開く</string>
|
||||
<string name="one_point_error">少なくとも2つの地点を追加してください。</string>
|
||||
<string name="shared_string_redo">繰り返し</string>
|
||||
<string name="release_3_8">• アップデートで追加されたルート計画モードは、セグメントごとに異なるナビゲーションタイプを使用でき、おおまかな指定を実際の道路に沿って反映可能に。
|
||||
<string name="release_3_8">• ルート計画機能を更新 : セグメントごとに異なるナビゲーションタイプを使用し、経路として反映することが可能に
|
||||
\n
|
||||
\n• 経路の新しい外観オプション : 色、厚さを選択し、方向矢印のオン、マークの開始/終了など
|
||||
\n• 経路の新しい外観オプション : 色、太さ、表示方向矢印、開始/終了アイコン選択
|
||||
\n
|
||||
\n• 自転車ノードの可視性の向上
|
||||
\n• 自転車ノードの視認性を向上
|
||||
\n
|
||||
\n• 基本情報を含む経路のコンテキストメニュー追加
|
||||
\n• 経路のタップで、基本情報を含むコンテキストメニューの表示
|
||||
\n
|
||||
\n• 検索アルゴリズムの改善
|
||||
\n
|
||||
|
@ -3890,4 +3890,11 @@ POIの更新は利用できません</string>
|
|||
\n• プロファイル設定のインポート/エクスポートに関する問題を修正
|
||||
\n
|
||||
\n</string>
|
||||
<string name="simplified_track">簡略化された経路</string>
|
||||
<string name="simplified_track_description">ルートライン(経路)のみが保存され、経由地点は削除されます。</string>
|
||||
<string name="number_of_gpx_files_selected_pattern">%s個の経路ファイルが選択されました</string>
|
||||
<string name="shared_string_file_name">ファイル名</string>
|
||||
<string name="disable_recording_once_app_killed_descrp">(最近使用したアプリを介して) OsmAndを終了すると、GPXの記録が一時停止されます(バックグラウンドサービスインジケーターがAndroid通知バーから消えます。)</string>
|
||||
<string name="save_global_track_interval_descr">一般的な経路記録の記録間隔を定義します(マップ画面の\'GPX\'ボタンを使用)</string>
|
||||
<string name="shared_string_is_saved">保存されました</string>
|
||||
</resources>
|
|
@ -3842,4 +3842,6 @@
|
|||
<string name="poi_departures_board">Quadro de partidas</string>
|
||||
<string name="poi_drinking_water_refill">Recarga de água potável</string>
|
||||
<string name="poi_recycling_small_electrical_appliances">Pequenos aparelhos elétricos</string>
|
||||
<string name="poi_beehive">Colmeia</string>
|
||||
<string name="poi_nuts">Loja de nozes</string>
|
||||
</resources>
|
|
@ -3819,7 +3819,7 @@
|
|||
<string name="reverse_route">Rota reversa</string>
|
||||
<string name="route_between_points_whole_track_button_desc">A trilha inteira será recalculada usando o perfil selecionado.</string>
|
||||
<string name="route_between_points_next_segment_button_desc">Apenas o próximo segmento será recalculado usando o perfil selecionado.</string>
|
||||
<string name="route_between_points_desc">Selecione como conectar pontos, com uma linha reta, ou calcular uma rota entre eles com o perfil selecionado.</string>
|
||||
<string name="route_between_points_desc">Selecione como conectar pontos, por uma linha reta, ou calcular uma rota entre eles conforme especificado abaixo.</string>
|
||||
<string name="whole_track">Trilha inteira</string>
|
||||
<string name="next_segment">Próximo segmento</string>
|
||||
<string name="route_between_points_warning_desc">Para usar esta opção, OsmAnd precisa ajustar sua trilha para as estradas do mapa.
|
||||
|
@ -3849,7 +3849,7 @@
|
|||
<string name="follow_track_descr">Escolha o arquivo de trilha a seguir</string>
|
||||
<string name="import_track_descr">Escolha o arquivo de trilha a seguir ou importe-o de seu dispositivo.</string>
|
||||
<string name="select_another_track">Selecionar outra trilha</string>
|
||||
<string name="navigate_to_track_descr">Navegue de minha localização até a trilha</string>
|
||||
<string name="navigate_to_track_descr">Navegue da minha posição até a trilha</string>
|
||||
<string name="pass_whole_track_descr">Ponto da trilha para navegar</string>
|
||||
<string name="start_of_the_track">Início da pista</string>
|
||||
<string name="nearest_point">Ponto próximo</string>
|
||||
|
@ -3881,13 +3881,13 @@
|
|||
<string name="shared_string_is_saved">está salvo</string>
|
||||
<string name="one_point_error">Adicione pelo menos dois pontos.</string>
|
||||
<string name="shared_string_redo">Refazer</string>
|
||||
<string name="release_3_8">"• O modo de rota de plano atualizado permite o uso de diferentes tipos de navegação para cada segmento e anexa qualquer trilha às estradas
|
||||
<string name="release_3_8">"• Função de planejamento de rota atualizada: permite o uso de diferentes tipos de navegação por segmento e a inclusão de trilhas
|
||||
\n
|
||||
\n • Novas opções de aparência para trilhas: selecione a cor, a espessura, ative as setas de direção e as marcas de início/fim
|
||||
\n • Novo menu de aparência para trilhas: selecione cor, espessura, setas de direção de exibição, ícones de início / término
|
||||
\n
|
||||
\n • Melhor visibilidade dos nós da bicicleta
|
||||
\n • Melhor visibilidade dos nós da bicicleta.
|
||||
\n
|
||||
\n • Menu de contexto para trilhas com informações básicas
|
||||
\n • As trilhas agora podem ser tocadas, têm menu de contexto com informações básicas.
|
||||
\n
|
||||
\n • Algoritmos de pesquisa aprimorados
|
||||
\n
|
||||
|
|
|
@ -3827,4 +3827,5 @@
|
|||
<string name="poi_departures_board">Quadro de partidas</string>
|
||||
<string name="poi_drinking_water_refill">Reabastecimento de água potável</string>
|
||||
<string name="poi_recycling_small_electrical_appliances">Pequenos aparelhos elétricos</string>
|
||||
<string name="poi_beehive">Colmeia</string>
|
||||
</resources>
|
|
@ -3829,7 +3829,7 @@
|
|||
<string name="reverse_route">Rota inversa</string>
|
||||
<string name="route_between_points_whole_track_button_desc">O trilho inteiro será recalculado a usar o perfil selecionado.</string>
|
||||
<string name="route_between_points_next_segment_button_desc">Somente o próximo segmento será recalculado a usar o perfil selecionado.</string>
|
||||
<string name="route_between_points_desc">Selecione como ligar pontos, com uma linha reta ou calcule uma rota entre eles com o perfil selecionado.</string>
|
||||
<string name="route_between_points_desc">Selecione como ligar pontos, por uma linha reta ou a calcular uma rota entre eles como especificado abaixo.</string>
|
||||
<string name="whole_track">Trilho inteiro</string>
|
||||
<string name="next_segment">Próximo segmento</string>
|
||||
<string name="route_between_points_warning_desc">Em seguida, encaixe a sua pista na estrada mais próxima permitida com um dos seus perfis de navegação para usar esta opção.</string>
|
||||
|
@ -3840,7 +3840,7 @@
|
|||
<string name="follow_track_descr">Escolha o ficheiro de trilha a seguir</string>
|
||||
<string name="import_track_descr">Escolha o ficheiro de trilho a seguir ou importe um do seu aparelho.</string>
|
||||
<string name="select_another_track">Selecionar outra trilha</string>
|
||||
<string name="navigate_to_track_descr">Navegue de minha localização até a trilha</string>
|
||||
<string name="navigate_to_track_descr">Navegue de minha posição até ao trilho</string>
|
||||
<string name="pass_whole_track_descr">Ponto da trilha para navegar</string>
|
||||
<string name="start_of_the_track">Início da pista</string>
|
||||
<string name="nearest_point">Ponto próximo</string>
|
||||
|
@ -3888,19 +3888,19 @@
|
|||
<string name="shared_string_file_name">Nome do ficheiro</string>
|
||||
<string name="number_of_gpx_files_selected_pattern">%s ficheiros de faixa selecionados</string>
|
||||
<string name="disable_recording_once_app_killed_descrp">Vai pausar o registo de faixas quando a aplicação for morta (através de aplicações recentes). (indicação de fundo de OsmAnd desaparece da barra de notificação do Android.)</string>
|
||||
<string name="release_3_8">- O modo Rota do Plano Atualizado permite usar diferentes tipos de navegação para cada segmento e anexa qualquer pista às estradas
|
||||
<string name="release_3_8">- Função atualizada de Planear uma rota: permite utilizar diferentes tipos de navegação por segmento e a inclusão de faixas
|
||||
\n
|
||||
\n - Novas opções de aparência para pistas: selecionar cor, espessura, rodar nas setas de direcção e marcas de início/fim
|
||||
\n - Novo menu Aparência para trilhos: selecionar cor, espessura, setas de direção de visualização, ícones de início/fim
|
||||
\n
|
||||
\n - Melhoria da visibilidade dos nós da bicicleta
|
||||
\n - Melhoria da visibilidade dos nós da bicicleta.
|
||||
\n
|
||||
\n - Menu de contexto para faixas com informações básicas
|
||||
\n - Os trilhos agora podem ser tocados, ter menu de contexto com informações básicas.
|
||||
\n
|
||||
\n - Algoritmos de pesquisa melhorados
|
||||
\n
|
||||
\n - Opções de faixa de acompanhamento melhoradas na navegação
|
||||
\n - Opções de seguir faixas melhoradas na navegação
|
||||
\n
|
||||
\n - Problemas fixos com as configurações de importação/exportação de perfis
|
||||
\n - Problemas com as configurações de importação/exportação de perfis resolvidos
|
||||
\n
|
||||
\n</string>
|
||||
</resources>
|
|
@ -3830,4 +3830,6 @@
|
|||
<string name="poi_departures_board_delay">Задержка</string>
|
||||
<string name="poi_departures_board_timetable">Расписание</string>
|
||||
<string name="poi_recycling_small_electrical_appliances">Малые электроприборы</string>
|
||||
<string name="poi_nuts">Магазин орехов</string>
|
||||
<string name="poi_beehive">Улей</string>
|
||||
</resources>
|
|
@ -181,7 +181,7 @@
|
|||
<string name="rendering_attr_contourWidth_description">Толщина горизонталей</string>
|
||||
<string name="rendering_attr_contourWidth_name">Толщина горизонталей</string>
|
||||
<string name="rendering_attr_hideWaterPolygons_description">Воду</string>
|
||||
<string name="rendering_attr_hideWaterPolygons_name">Скрыть воду</string>
|
||||
<string name="rendering_attr_hideWaterPolygons_name">Водные объекты</string>
|
||||
<string name="legacy_search">Старый поиск</string>
|
||||
<string name="show_legacy_search">Показывать старый поиск</string>
|
||||
<string name="show_legacy_search_desc">Добавить старый поиск в меню.</string>
|
||||
|
@ -194,7 +194,7 @@
|
|||
<string name="route_calculation">Построение маршрута</string>
|
||||
<string name="gpx_no_tracks_title">У вас пока нет файлов треков</string>
|
||||
<string name="gpx_no_tracks_title_folder">Вы также можете добавить файлы треков в папку</string>
|
||||
<string name="gpx_add_track">Добавь ещё…</string>
|
||||
<string name="gpx_add_track">Добавить…</string>
|
||||
<string name="shared_string_appearance">Внешний вид</string>
|
||||
<string name="trip_rec_notification_settings">Включить быструю запись</string>
|
||||
<string name="trip_rec_notification_settings_desc">Отображение системного уведомления, позволяющего начать запись поездки.</string>
|
||||
|
@ -233,18 +233,18 @@
|
|||
<string name="save_filter">Сохранить фильтр</string>
|
||||
<string name="delete_filter">Удалить фильтр</string>
|
||||
<string name="new_filter">Новый фильтр</string>
|
||||
<string name="change_markers_position">Изменить позицию</string>
|
||||
<string name="change_markers_position">Изменить положение</string>
|
||||
<string name="current_track">Текущий путь</string>
|
||||
<string name="use_osm_live_routing">Навигация OsmAnd Live</string>
|
||||
<string name="map_widget_battery">Уровень заряда батареи</string>
|
||||
<string name="move_marker_bottom_sheet_title">Переместите карту, чтобы изменить положение маркера</string>
|
||||
<string name="move_marker_bottom_sheet_title">Двигайте карту, чтобы изменить позицию маркера</string>
|
||||
<!-- string name="lat_lon_pattern">Широта: %1$.5f Долгота: %2$.5f</string -->
|
||||
<string name="map_widget_magnetic_bearing">Магнитный пеленг</string>
|
||||
<string name="map_widget_bearing">Курсовой угол</string>
|
||||
<string name="map_mode">Режим карты</string>
|
||||
<string name="rendering_value_thin_name">Тонко</string>
|
||||
<string name="rendering_value_medium_name">Средне</string>
|
||||
<string name="rendering_value_bold_name">Толстый</string>
|
||||
<string name="rendering_value_bold_name">Жирно</string>
|
||||
<string name="select_map_markers">Выберите маркеры</string>
|
||||
<string name="shared_string_topbar">Верхняя панель</string>
|
||||
<string name="osm_user_stat">Правок: %1$s, ранг: %2$s, всего правок: %3$s</string>
|
||||
|
@ -317,8 +317,8 @@
|
|||
<string name="recording_open_external_player">Открыть внешний проигрыватель</string>
|
||||
<string name="recording_delete_confirm">Удалить эту запись?</string>
|
||||
<string name="recording_unavailable">недоступно</string>
|
||||
<string name="recording_context_menu_arecord">Создать аудиозаметку</string>
|
||||
<string name="recording_context_menu_vrecord">Создать видеозаметку</string>
|
||||
<string name="recording_context_menu_arecord">Записать аудио</string>
|
||||
<string name="recording_context_menu_vrecord">Записать видео</string>
|
||||
<string name="layer_recordings">Слой аудиозаписей</string>
|
||||
<string name="recording_can_not_be_played">Запись не может быть воспроизведена.</string>
|
||||
<string name="recording_context_menu_delete">Удалить запись</string>
|
||||
|
@ -520,7 +520,7 @@
|
|||
<string name="gpx_option_from_start_point">Пройти весь путь</string>
|
||||
<string name="switch_to_vector_map_to_see">Для этого региона доступны локальные векторные карты.
|
||||
\n\t
|
||||
\n\tДля их использования выберите в «Меню» → «Настройки карты» → «Источник карты…» → «Векторные карты».</string>
|
||||
\n\tДля их использования выберите в \"Меню\" → \"Настройка карты\" → \"Источник карты…\" → \"Векторные карты\".</string>
|
||||
<string name="choose_audio_stream">Голосовые инструкции</string>
|
||||
<string name="choose_audio_stream_descr">Выберите канал вывода голосовых подсказок.</string>
|
||||
<string name="voice_stream_voice_call">Канал голосовых звонков (прерывает автомобильную Bluetooth стереосистему)</string>
|
||||
|
@ -531,14 +531,14 @@
|
|||
<string name="overlay_transparency">Прозрачность наложения</string>
|
||||
<string name="map_transparency_descr">Отрегулируйте прозрачность основной карты.</string>
|
||||
<string name="map_transparency">Прозрачность основной карты</string>
|
||||
<string name="layer_underlay">Карта подложки…</string>
|
||||
<string name="layer_underlay">Карта подложки</string>
|
||||
<string name="map_underlay">Карта подложки</string>
|
||||
<string name="map_underlay_descr">Выберите карту подложки</string>
|
||||
<string name="layer_overlay">Карта наложения…</string>
|
||||
<string name="layer_overlay">Карта наложения</string>
|
||||
<string name="map_overlay">Карта наложения</string>
|
||||
<string name="map_overlay_descr">Выберите слой наложения поверх основной карты</string>
|
||||
<string name="tile_source_already_installed">Карта уже установлена, настройки будут обновлены.</string>
|
||||
<string name="select_tile_source_to_install">Выберите (тайловые) карты для установки или обновления.</string>
|
||||
<string name="select_tile_source_to_install">Выберите тайловые карты для установки или обновления.</string>
|
||||
<string name="internet_not_available">Для данной операции требуется подключение к интернету, но оно недоступно.</string>
|
||||
<string name="install_more">Загрузить ещё…</string>
|
||||
<string name="level_to_switch_vector_raster_descr">Минимальный масштаб для использования векторных карт.</string>
|
||||
|
@ -689,7 +689,7 @@
|
|||
<string name="layer_route">Маршрут</string>
|
||||
<string name="layer_osm_bugs">Заметки OSM (онлайн)</string>
|
||||
<string name="layer_poi">POI…</string>
|
||||
<string name="layer_map">Источник карты…</string>
|
||||
<string name="layer_map">Источник карты</string>
|
||||
<string name="menu_layers">Слои</string>
|
||||
<string name="context_menu_item_search_poi">Искать POI</string>
|
||||
<string name="use_trackball_descr">Использовать трекбол для перемещения по карте.</string>
|
||||
|
@ -819,7 +819,7 @@
|
|||
<string name="poi">POI</string>
|
||||
<string name="error_occurred_saving_gpx">Не удалось сохранить файл GPX.</string>
|
||||
<string name="error_calculating_route">Не удалось рассчитать маршрут.</string>
|
||||
<string name="error_calculating_route_occured">Не удалось рассчитать маршрут.</string>
|
||||
<string name="error_calculating_route_occured">Не удалось рассчитать маршрут</string>
|
||||
<string name="empty_route_calculated">Невозможно построить маршрут.</string>
|
||||
<string name="new_route_calculated_dist">Проложен новый маршрут, расстояние</string>
|
||||
<string name="arrived_at_destination">Вы прибыли.</string>
|
||||
|
@ -864,7 +864,7 @@
|
|||
<string name="map_view_3d">3D вид</string>
|
||||
<string name="show_poi_over_map_description">Показать последние использованные POI на карте.</string>
|
||||
<string name="show_poi_over_map">Показывать POI</string>
|
||||
<string name="map_tile_source_descr">Выберите источник онлайн или кешированных тайлов карты.</string>
|
||||
<string name="map_tile_source_descr">Выберите источник онлайн или кешированных тайлов карты</string>
|
||||
<string name="map_tile_source">Растровые карты</string>
|
||||
<string name="map_source">Источник карты</string>
|
||||
<string name="use_internet">Использовать интернет</string>
|
||||
|
@ -1258,7 +1258,7 @@
|
|||
<string name="cancel_route">Отменить маршрут</string>
|
||||
<string name="clear_destination">Очистить пункт назначения</string>
|
||||
<string name="search_street_in_neighborhood_cities">Искать улицу в ближайших населённых пунктах</string>
|
||||
<string name="intermediate_items_sort_by_distance">Сортировать от двери до двери</string>
|
||||
<string name="intermediate_items_sort_by_distance">В порядке следования домов</string>
|
||||
<string name="available_downloads_left">Доступно %1$d файлов для скачивания</string>
|
||||
<string name="files_limit">осталось %1$d файлов</string>
|
||||
<string name="wait_current_task_finished">Подождите, пока завершится текущая операция</string>
|
||||
|
@ -1267,7 +1267,7 @@
|
|||
<string name="gpx_file_name">Имя файла GPX</string>
|
||||
<string name="gpx_saved_sucessfully">Файл GPX сохранён в {0}</string>
|
||||
<string name="osmand_distance_planning_plugin_name">Инструмент расчёта дистанции и планирования</string>
|
||||
<string name="intermediate_items_sort_return">Оптимальный порядок точек по пути к месту назначения.</string>
|
||||
<string name="intermediate_items_sort_return">Оптимальный порядок точек маршрута по пути к месту назначения.</string>
|
||||
<string name="local_osm_changes_backup_failed">Не удалось выполнить резервное копирование изменений OSM.</string>
|
||||
<string name="local_osm_changes_backup">Резервное копирование как правка OSM</string>
|
||||
<string name="plugin_distance_point_ele">высота</string>
|
||||
|
@ -1304,7 +1304,7 @@
|
|||
<string name="route_to">К:</string>
|
||||
<string name="route_via">Через:</string>
|
||||
<string name="route_from">От:</string>
|
||||
<string name="new_directions_point_dialog">У вас уже установлены промежуточные пункты.</string>
|
||||
<string name="new_directions_point_dialog">Промежуточные пункты уже заданы.</string>
|
||||
<string name="speak_street_names">Названия улиц (TTS)</string>
|
||||
<string name="speak_title">Объявлять…</string>
|
||||
<string name="speak_descr">Настройки озвучивания названий улиц, предупреждений о дорожном движении (принудительные остановки, искусственные неровности), камер контроля скорости и ограничений скорости.</string>
|
||||
|
@ -1502,7 +1502,7 @@
|
|||
<string name="rendering_attr_hideBuildings_name">Строения</string>
|
||||
<string name="rendering_attr_hideText_name">Текст</string>
|
||||
<string name="rendering_attr_hideWoodScrubs_name">Леса и кустарники</string>
|
||||
<string name="rendering_attr_moreDetailed_name">Более подробно</string>
|
||||
<string name="rendering_attr_moreDetailed_name">Повышенная детализация</string>
|
||||
<string name="rendering_attr_lessDetailed_name">Менее подробно</string>
|
||||
<string name="rendering_attr_showSurfaceGrade_name">Качество дорог</string>
|
||||
<string name="rendering_attr_showSurfaces_name">Тип дорожного покрытия</string>
|
||||
|
@ -2110,7 +2110,7 @@
|
|||
<string name="item_removed">Запись удалена</string>
|
||||
<string name="n_items_removed">элементы удалены</string>
|
||||
<string name="live_updates">Автообновления</string>
|
||||
<string name="select_voice_provider_descr">Выберите или скачайте голосовые оповещения для вашего языка.</string>
|
||||
<string name="select_voice_provider_descr">Выберите или скачайте голосовые подсказки для вашего языка.</string>
|
||||
<string name="full_report">Полный отчёт</string>
|
||||
<string name="recalculate_route">Пересчёт маршрута</string>
|
||||
<string name="open_street_map_login_and_pass">Имя пользователя и пароль OSM</string>
|
||||
|
@ -2170,7 +2170,7 @@
|
|||
<string name="access_disable_wrong_direction_recalc">Не пересчитывать маршрут при обратном направлении движения</string>
|
||||
<string name="access_disable_wrong_direction_recalc_descr">Предотвращает автоматический пересчёт маршрута при обратном направлении движения.</string>
|
||||
<string name="access_no_destination">Пункт назначения не задан</string>
|
||||
<string name="access_direction_audio_feedback">Звуковая индикация направления</string>
|
||||
<string name="access_direction_audio_feedback">Озвучивать направление</string>
|
||||
<string name="access_direction_audio_feedback_descr">Индицировать звуком направление на целевую точку.</string>
|
||||
<string name="access_direction_haptic_feedback">Тактильная индикация направления</string>
|
||||
<string name="access_direction_haptic_feedback_descr">Индицировать вибрацией направление на целевую точку.</string>
|
||||
|
@ -2216,7 +2216,7 @@
|
|||
<string name="download_files_question_space_with_temp">Скачать {0} файл(ов)\?
|
||||
\nИспользуется {3} МБ временного хранилища и {1} МБ постоянного. (Из {2} МБ)</string>
|
||||
<string name="search_my_location">Найти моё местоположение</string>
|
||||
<string name="first_usage_greeting">Прокладывайте маршруты и открывайте новые для себя места без подключения к интернету</string>
|
||||
<string name="first_usage_greeting">Стройте маршруты и открывайте новые места без подключения к интернету</string>
|
||||
<string name="allow_access_location">Разрешить доступ к местоположению</string>
|
||||
<string name="give_permission">Дать разрешение</string>
|
||||
<string name="storage_place_description">Хранилище данных OsmAnd (для карт, файлов треков и пр.): %1$s.</string>
|
||||
|
@ -2235,7 +2235,7 @@
|
|||
<string name="get_it">Получить</string>
|
||||
<string name="osm_live_banner_desc">Получайте неограниченное количество загрузок карт, вдобавок к еженедельным, ежедневным и даже почасовым обновлениям.</string>
|
||||
<string name="osmand_plus_banner_desc">Неограниченный доступ к картам, обновлениям и плагину «Википедия».</string>
|
||||
<string name="select_voice_provider">Выберите голосовое сопровождение</string>
|
||||
<string name="select_voice_provider">Голосовое сопровождение</string>
|
||||
<string name="osm_live_payment_desc">Абонентская плата взимается за выбранный период. Отменить подписку можно в Google Play в любой момент.</string>
|
||||
<string name="donation_to_osm">Пожертвование для сообщества OSM</string>
|
||||
<string name="donation_to_osm_desc">Часть вашего пожертвования будет отправлена участникам OSM. Стоимость подписки при этом остаётся прежней.</string>
|
||||
|
@ -2296,7 +2296,7 @@
|
|||
<string name="mapillary_descr">Фото с улиц онлайн для каждого. Открывайте места, взаимодействуйте, запечатлейте весь мир.</string>
|
||||
<string name="mapillary">Mapillary</string>
|
||||
<string name="plugin_mapillary_descr">Уличные фотографии для всех. Открывайте для себя места, сотрудничайте, снимайте мир.</string>
|
||||
<string name="save_poi_too_many_uppercase">Название содержит слишком много заглавных букв. Вы хотите продолжить?</string>
|
||||
<string name="save_poi_too_many_uppercase">В названии слишком много заглавных букв. Продолжить\?</string>
|
||||
<string name="quick_action_resume_pause_navigation_descr">Кнопка приостановки и возобновления навигации.</string>
|
||||
<string name="quick_action_show_navigation_finish_dialog">Показывать диалог завершения навигации</string>
|
||||
<string name="quick_action_start_stop_navigation">Запуск/остановка навигации</string>
|
||||
|
@ -2320,12 +2320,12 @@
|
|||
<string name="max_min">Макс/Мин</string>
|
||||
<string name="min_max">Мин/Макс</string>
|
||||
<string name="quick_action_resume_pause_navigation">Пауза/возобновление навигации</string>
|
||||
<string name="mapillary_menu_descr_tile_cache">Перезагрузка тайлов для отображения актуальных данных.</string>
|
||||
<string name="mapillary_menu_descr_tile_cache">Перезагрузить тайлы для актуализации данных.</string>
|
||||
<string name="mapillary_menu_edit_text_hint">Введите имя пользователя</string>
|
||||
<string name="shared_string_reset">Сбросить</string>
|
||||
<string name="shared_string_to">До</string>
|
||||
<string name="mapillary_menu_date_from">От</string>
|
||||
<string name="shared_string_reload">Перезагрузить</string>
|
||||
<string name="shared_string_reload">Обновить</string>
|
||||
<string name="mapillary_menu_filter_description">Фильтровать фотографии по отправителю, дате или типу. Фильтры применяются только для больших масштабов.</string>
|
||||
<string name="import_gpx_failed_descr">Не удалось импортировать файл. Убедитесь, что OsmAnd имеет разрешение на его чтение.</string>
|
||||
<string name="distance_moving">Откорректированное расстояние</string>
|
||||
|
@ -2447,7 +2447,7 @@
|
|||
<string name="wrong_format">Неправильный формат</string>
|
||||
<string name="enter_new_name">Введите новое имя</string>
|
||||
<string name="shared_string_back">Назад</string>
|
||||
<string name="appearance_on_the_map">Внешний вид на карте</string>
|
||||
<string name="appearance_on_the_map">Вид на карте</string>
|
||||
<string name="add_favourites_group_to_markers_descr">Выберите категорию избранных для добавления к маркерам.</string>
|
||||
<string name="favourites_group">Категория избранных</string>
|
||||
<string name="add_group">Добавить группу</string>
|
||||
|
@ -2669,8 +2669,8 @@
|
|||
<string name="toast_empty_name_error">Место без названия</string>
|
||||
<string name="shared_string_current">Текущий</string>
|
||||
<string name="last_intermediate_dest_description">Добавляет промежуточную остановку</string>
|
||||
<string name="first_intermediate_dest_description">Добавляет первую остановку</string>
|
||||
<string name="subsequent_dest_description">Перемещает пункт назначения и создаёт промежуточную точку</string>
|
||||
<string name="first_intermediate_dest_description">Добавляет начальную остановку</string>
|
||||
<string name="subsequent_dest_description">Добавляет в конец точку в качестве нового пункта назначения</string>
|
||||
<string name="show_closed_notes">Показать закрытые заметки</string>
|
||||
<string name="switch_osm_notes_visibility_desc">Показать/скрыть заметки OSM на карте.</string>
|
||||
<string name="gpx_file_desc">GPX — подходит для экспорта в JOSM и другие OSM редакторы.</string>
|
||||
|
@ -2701,10 +2701,10 @@
|
|||
<string name="west_abbreviation">З</string>
|
||||
<string name="south_abbreviation">Ю</string>
|
||||
<string name="north_abbreviation">С</string>
|
||||
<string name="optional_point_name">Необязательное имя точки</string>
|
||||
<string name="optional_point_name">Имя точки (необязательно)</string>
|
||||
<string name="rendering_attr_whiteWaterSports_name">Спортивные сплавы</string>
|
||||
<string name="distance_farthest">Сначала дальние</string>
|
||||
<string name="distance_nearest">Удалённость (сначала ближние)</string>
|
||||
<string name="distance_nearest">Сначала ближние</string>
|
||||
<string name="group_deleted">Группа удалена</string>
|
||||
<string name="clear_all_intermediates">Очистить все промежуточные точки</string>
|
||||
<string name="use_two_digits_longitude">Использовать двузначную долготу</string>
|
||||
|
@ -3721,7 +3721,7 @@
|
|||
<string name="keep_screen_off">Держать экран отключённым</string>
|
||||
<string name="keep_screen_on">Держать экран включённым</string>
|
||||
<string name="sqlite_db_file">Файл SQLiteDB</string>
|
||||
<string name="online_map_name_helper_text">Укажите имя источника онлайн-карты.</string>
|
||||
<string name="online_map_name_helper_text">Укажите название источника онлайн-карты.</string>
|
||||
<string name="online_map_url_helper_text">Введите или вставьте URL онлайн-источника.</string>
|
||||
<string name="expire_time">Время устаревания</string>
|
||||
<string name="mercator_projection">Проекция Меркатора</string>
|
||||
|
@ -3786,13 +3786,13 @@
|
|||
<string name="routing_attr_length_name">Предельная длина</string>
|
||||
<string name="speed_cameras_removed_descr">В этом устройстве нет камер контроля скорости.</string>
|
||||
<string name="app_mode_inline_skates">Роликовые коньки</string>
|
||||
<string name="use_volume_buttons_as_zoom_descr">Управляйте уровнем масштабирования карты с помощью кнопок громкости на устройстве.</string>
|
||||
<string name="use_volume_buttons_as_zoom_descr">Изменение масштаба карты кнопками громкости.</string>
|
||||
<string name="use_volume_buttons_as_zoom">Масштабирование кнопками громкости</string>
|
||||
<string name="lenght_limit_description">Укажите длину автомобиля, для длинных транспортных средств могут применяться ограничения на маршруте.</string>
|
||||
<string name="quick_action_remove_next_destination">Удалить ближайшую точку назначения</string>
|
||||
<string name="quick_action_remove_next_destination">Удалить следующий пункт</string>
|
||||
<string name="please_provide_point_name_error">Задайте название точки</string>
|
||||
<string name="quick_action_remove_next_destination_descr">Следующая точка маршрута будет удалена. Если это конечный пункт, навигация завершится.</string>
|
||||
<string name="plugin_wikipedia_description">Получите информацию о достопримечательностях из Википедии. Это ваш карманный автономный путеводитель - просто включите плагин Википедии и наслаждайтесь статьями об объектах вокруг вас.</string>
|
||||
<string name="plugin_wikipedia_description">Информация о достопримечательностях из Википедии. Ваш карманный офлайн-путеводитель — просто включите плагин Википедии и читайте об объектах вокруг вас.</string>
|
||||
<string name="search_download_wikipedia_maps">Скачать карты Википедии</string>
|
||||
<string name="app_mode_enduro_motorcycle">Эндуро мотоцикл</string>
|
||||
<string name="app_mode_motor_scooter">Мотороллер</string>
|
||||
|
@ -3824,14 +3824,14 @@
|
|||
<string name="threshold_distance">Предельная дистанция</string>
|
||||
<string name="save_as_new_track">Сохранить как новый трек</string>
|
||||
<string name="reverse_route">Обратный маршрут</string>
|
||||
<string name="route_between_points_whole_track_button_desc">Весь трек будет перестроен с использованием выбранного профиля.</string>
|
||||
<string name="route_between_points_next_segment_button_desc">Только следующий сегмент будет перестроен с использованием выбранного профиля.</string>
|
||||
<string name="route_between_points_whole_track_button_desc">Профиль будет примёнен ко всему маршруту.</string>
|
||||
<string name="route_between_points_next_segment_button_desc">Профиль будет применён только к следующему сегменту.</string>
|
||||
<string name="next_segment">Следующий сегмент</string>
|
||||
<string name="whole_track">Весь трек</string>
|
||||
<string name="route_between_points_warning_desc">Для использования данной возможности OsmAnd необходимо привязать ваш трек по дорогам.
|
||||
\n
|
||||
\nНа следующем шаге необходимо выбрать профиль навигации для определения разрешенных дорог и пороговое расстояние, чтобы приблизительно привязать маршрут к дорогам.</string>
|
||||
<string name="route_between_points_desc">Выберите способ соединения точек: прямой линией или прокладкой маршрута с выбранным профилем.</string>
|
||||
<string name="route_between_points_desc">Выберите способ соединения точек прямой линией или рассчитайте маршрут между ними, как указано ниже.</string>
|
||||
<string name="in_case_of_reverse_direction">При обратном направлении</string>
|
||||
<string name="plan_route_exit_dialog_descr">Все изменения будут утеряны. Закрыть план маршрута\?</string>
|
||||
<string name="street_level_imagery">Съёмка уличного уровня</string>
|
||||
|
@ -3845,8 +3845,8 @@
|
|||
<string name="shared_string_gpx_route">Маршрут трека</string>
|
||||
<string name="empty_state_my_tracks">Добавить файлы треков</string>
|
||||
<string name="empty_state_my_tracks_desc">Импортируйте или запишите файлы треков</string>
|
||||
<string name="context_menu_item_add_waypoint">Добавить путевую точку</string>
|
||||
<string name="quick_action_add_gpx">Добавить к маршруту</string>
|
||||
<string name="context_menu_item_add_waypoint">Добавить точку</string>
|
||||
<string name="quick_action_add_gpx">Добавить точку к треку</string>
|
||||
<string name="map_widget_monitoring">Запись поездки</string>
|
||||
<string name="marker_save_as_track">Сохранить как файл трека</string>
|
||||
<string name="follow_track">Следовать по маршруту</string>
|
||||
|
@ -3883,7 +3883,7 @@
|
|||
<string name="open_saved_track">Открыть сохранённый трек</string>
|
||||
<string name="disable_recording_once_app_killed_descrp">Остановка записи GPX при принудительном закрытии (через последние приложения). (Из панели уведомлений Android исчезнет значок фонового режима.)</string>
|
||||
<string name="shared_string_is_saved">сохранен</string>
|
||||
<string name="one_point_error">Добавьте как минимум две точки.</string>
|
||||
<string name="one_point_error">Добавьте хотя бы две точки.</string>
|
||||
<string name="shared_string_redo">ПОВТОРИТЬ</string>
|
||||
<string name="release_3_8">• Обновленный режим планирования маршрута позволяет использовать разные типы навигации для каждого сегмента и прикрепляет любой трек к дорогам
|
||||
\n
|
||||
|
|
|
@ -3811,9 +3811,9 @@
|
|||
<string name="poi_seamark_water_level_above_mwl">Raportu cun su livellu de s\'abba: in foras de su livellu mèdiu de s\'abba</string>
|
||||
<string name="poi_seamark_water_level_below_mwl">Raportu cun su livellu de s\'abba: in suta de su livellu mèdiu de s\'abba</string>
|
||||
<string name="poi_seamark_obstruction">Tapadura</string>
|
||||
<string name="poi_drinking_water_refill_yes">Ricàrica de s\'abba potàbile: eja</string>
|
||||
<string name="poi_drinking_water_refill_no">Ricàrica de s\'abba potàbile: nono</string>
|
||||
<string name="poi_drinking_water_refill_network">Retza de ricàrica de s\'abba potàbile</string>
|
||||
<string name="poi_drinking_water_refill_yes">Eja</string>
|
||||
<string name="poi_drinking_water_refill_no">Ricàrriga de abba potàbile: nono</string>
|
||||
<string name="poi_drinking_water_refill_network">Retza de ricàrriga de abba potàbile</string>
|
||||
<string name="poi_osmand_fire_hydrant_pressure_suction">Sutzione</string>
|
||||
<string name="poi_osmand_fire_hydrant_pressure_pressurized">Presurizada</string>
|
||||
<string name="poi_fire_hydrant_style_water_source_groundwater">Abba suta de terra</string>
|
||||
|
@ -3830,4 +3830,14 @@
|
|||
<string name="poi_borough">Unidade amministrativa (Borough)</string>
|
||||
<string name="poi_elevator">Ascensore</string>
|
||||
<string name="poi_traffic_signals_arrow_no">Fritza: nono</string>
|
||||
<string name="poi_nuts">Butega de pilarda (nughes e àteru)</string>
|
||||
<string name="poi_beehive">Moju</string>
|
||||
<string name="poi_departures_board_timetable">Oràriu</string>
|
||||
<string name="poi_departures_board_realtime">Tempus reale</string>
|
||||
<string name="poi_departures_board_delay">Ritardu</string>
|
||||
<string name="poi_departures_board_yes">Eja</string>
|
||||
<string name="poi_departures_board_no">Tabella de sas tzucadas: nono</string>
|
||||
<string name="poi_recycling_small_electrical_appliances">Eletrodomèsticos minores</string>
|
||||
<string name="poi_departures_board">Tabellone de sas tzucadas</string>
|
||||
<string name="poi_drinking_water_refill">Ricàrriga de abba potàbile</string>
|
||||
</resources>
|
|
@ -3783,27 +3783,27 @@
|
|||
<string name="shared_string_uninstall">Disinstalla</string>
|
||||
<string name="shared_string_bearing">Orientamentu</string>
|
||||
<string name="item_deleted">%1$s iscantzelladu</string>
|
||||
<string name="speed_cameras_restart_descr">Depes torrare a allùghere pro iscantzellare de su totu sos datos de sos autovelox.</string>
|
||||
<string name="speed_cameras_restart_descr">Torra a allùghere s\'aplicatzione pro iscantzellare totu sos datos de sos autovelox.</string>
|
||||
<string name="shared_string_uninstall_and_restart">Disinstalla e torra a allùghere</string>
|
||||
<string name="routing_attr_length_description">Dillinda sa longària de su veìculu permìtida in sas àndalas.</string>
|
||||
<string name="routing_attr_length_name">Lìmite de longària</string>
|
||||
<string name="speed_cameras_removed_descr">Custu dispositivu non tenet autovelox.</string>
|
||||
<string name="app_mode_inline_skates">Pàtinos in lìnia</string>
|
||||
<string name="use_volume_buttons_as_zoom_descr">Abìlita pro controllare su livellu de ismanniamentu cun sos butones de su volume de su dispositivu.</string>
|
||||
<string name="use_volume_buttons_as_zoom_descr">Controlla su livellu de ismanniamentu de sa mapa cun sos butones de su volume de su dispositivu.</string>
|
||||
<string name="use_volume_buttons_as_zoom">Butones de su volume pro s\'ismanniamentu</string>
|
||||
<string name="lenght_limit_description">Inserta sa longària de su veìculu tuo. Bi diant pòdere èssere unas cantas restritziones de sas àndalas pro sos veìculos longos.</string>
|
||||
<string name="quick_action_remove_next_destination">Iscantzella su puntu de destinatzione imbeniente</string>
|
||||
<string name="quick_action_remove_next_destination">Iscantzella su puntu de destinatzione prus a curtzu</string>
|
||||
<string name="please_provide_point_name_error">Fruni unu nùmene pro su puntu</string>
|
||||
<string name="quick_action_remove_next_destination_descr">Su puntu de destinatzione atuale in s\'àndala at a èssere iscantzelladu. Si at a èssere sa destinatzione, sa navigatzione s\'at a firmare.</string>
|
||||
<string name="search_download_wikipedia_maps">Iscàrriga sas mapas de Wikipedia</string>
|
||||
<string name="plugin_wikipedia_description">Otene informatziones a pitzu de puntos de interesse dae Wikipedia. Est sa ghia non in lìnia tua de mantènnere in butzaca - abìlita s\'estensione Wikipedia e ispassia·ti cun sos artìculos a pitzu de sos ogetos a fùrriu de tie.</string>
|
||||
<string name="plugin_wikipedia_description">Otene informatziones a pitzu de puntos de interesse dae Wikipedia. Est sa ghia non in lìnia tua de mantènnere in butzaca - allughe s\'estensione Wikipedia e ispassia·ti cun sos artìculos a pitzu de sos ogetos a fùrriu de tie.</string>
|
||||
<string name="app_mode_enduro_motorcycle">Moto enduro</string>
|
||||
<string name="app_mode_motor_scooter">Motorinu</string>
|
||||
<string name="app_mode_wheelchair_forward">Cadira a rodas cara a in antis</string>
|
||||
<string name="app_mode_wheelchair">Cadira a rodas</string>
|
||||
<string name="app_mode_go_cart">Go-kart</string>
|
||||
<string name="osm_edit_closed_note">Nota de OSM serrada</string>
|
||||
<string name="set_working_days_to_continue">Depes impostare sas dies de traballu pro sighire</string>
|
||||
<string name="set_working_days_to_continue">Imposta sas dies de traballu pro sighire</string>
|
||||
<string name="route_between_points">Àndala intre puntos</string>
|
||||
<string name="plan_a_route">Pranìfica un\'àndala</string>
|
||||
<string name="add_to_a_track">Annanghe a una rasta</string>
|
||||
|
@ -3826,7 +3826,7 @@
|
|||
<string name="reverse_route">Fùrria s\'àndala</string>
|
||||
<string name="route_between_points_whole_track_button_desc">Sa rasta intrea at a èssere torrada a calculare impreende su profilu ischertadu.</string>
|
||||
<string name="route_between_points_next_segment_button_desc">Petzi su segmentu imbeniente at a èssere torradu a calculare impreende su profilu ischertadu.</string>
|
||||
<string name="route_between_points_desc">Ischerta comente connètere sos puntos: cun una lìnia reta o calculende un\'àndala intre issos cun su profilu ischertadu.</string>
|
||||
<string name="route_between_points_desc">Ischerta comente connètere sos puntos: cun una lìnia reta o calculende un\'àndala intre issos comente dislindadu inoghe in suta.</string>
|
||||
<string name="whole_track">Rasta intrea</string>
|
||||
<string name="next_segment">Segmentu imbeniente</string>
|
||||
<string name="route_between_points_warning_desc">Pro impreare custa optzione OsmAnd tenet bisòngiu de alliniare sa rasta tua a sos caminos de sa mapa.
|
||||
|
@ -3836,7 +3836,7 @@
|
|||
<string name="navigation_profile">Profilu de navigatzione</string>
|
||||
<string name="route_between_points_add_track_desc">Ischerta unu documentu de rasta in ue annànghere su segmentu nou.</string>
|
||||
<string name="street_level_imagery">Fotografias a livellu de sas carreras</string>
|
||||
<string name="plan_route_exit_dialog_descr">Ses seguru de chèrrere serrare sa pianificatzione de s\'àndala chene sarvare\? As a pèrdere totu sas modìficas.</string>
|
||||
<string name="plan_route_exit_dialog_descr">Ses seguru de chèrrere serrare sa pianificatzione de s\'àndala e pèrdere totu sas modìficas\?</string>
|
||||
<string name="in_case_of_reverse_direction">In casu de diretzione furriada</string>
|
||||
<string name="layer_gpx_layer">Rastas</string>
|
||||
<string name="save_track_to_gpx_globally">Càrriga sa rasta in unu documentu GPX</string>
|
||||
|
@ -3859,7 +3859,7 @@
|
|||
<string name="shared_string_gpx_route">Àndala de una rasta</string>
|
||||
<string name="follow_track">Sighi sa rasta</string>
|
||||
<string name="follow_track_descr">Issèbera su documentu de sa rasta de sighire</string>
|
||||
<string name="import_track_descr">Issèbera su documentu de sa rasta de sighire, o importa·nde unu.</string>
|
||||
<string name="import_track_descr">Issèbera su documentu de sa rasta de sighire o importa·lu dae su dispositivu tuo.</string>
|
||||
<string name="select_another_track">Ischerta un\'àtera rasta</string>
|
||||
<string name="navigate_to_track_descr">Nàviga dae sa positzione mea a sa rasta</string>
|
||||
<string name="pass_whole_track_descr">Puntu de sa rasta de navigare</string>
|
||||
|
@ -3887,4 +3887,19 @@
|
|||
<string name="shared_string_is_saved">est sarvadu</string>
|
||||
<string name="one_point_error">Pro praghere annanghe a su mancu duos puntos.</string>
|
||||
<string name="shared_string_redo">Torra a fàghere</string>
|
||||
<string name="release_3_8">• Funtzionalidade de pranificatione de un\'àndala agiornada: permitit de impreare castas diferentes de navigatzione pro segmentu e s\'inclusione de rastas
|
||||
\n
|
||||
\n • New Appearance menu for tracks: select color, thickness, display direction arrows, start/finish icons
|
||||
\n
|
||||
\n • Visibilidade megiorada de sos nodos pro sas bitzicletas.
|
||||
\n
|
||||
\n • Como podes incarcare in sas rastas, e faghende gasi as a abèrrere unu menù de cuntestu cun informatziones de base.
|
||||
\n
|
||||
\n • Algoritmu de chirca megioradu
|
||||
\n
|
||||
\n • Optziones pro sighire una rasta durante sa navigatzione megioradas
|
||||
\n
|
||||
\n • Problemas cun s\'importatzione e s\'esportatzione de sas impostatziones de sos profilos risoltos
|
||||
\n
|
||||
\n</string>
|
||||
</resources>
|
|
@ -3780,17 +3780,17 @@
|
|||
<string name="quick_action_showhide_mapillary_descr">Prepínač pre zobrazenie alebo skrytie vrstvy Mapillary na mape.</string>
|
||||
<string name="shared_string_bearing">Smerovanie</string>
|
||||
<string name="item_deleted">%1$s vymazané</string>
|
||||
<string name="speed_cameras_restart_descr">Pre úplné odstránenie údajov o rýchlostných radaroch je potrebný reštart.</string>
|
||||
<string name="speed_cameras_restart_descr">Reštartovať aplikáciu pre úplné odstránenie údajov o rýchlostných radaroch.</string>
|
||||
<string name="shared_string_uninstall_and_restart">Odinštalovať a reštartovať</string>
|
||||
<string name="shared_string_uninstall">Odinštalovať</string>
|
||||
<string name="routing_attr_length_description">Zadajte aká dĺžka vozidla musí byť povolená na trase.</string>
|
||||
<string name="routing_attr_length_name">Limit dĺžky</string>
|
||||
<string name="speed_cameras_removed_descr">Toto zariadenie neobsahuje rýchlostné radary.</string>
|
||||
<string name="app_mode_inline_skates">Kolieskové korčule</string>
|
||||
<string name="use_volume_buttons_as_zoom_descr">Umožní ovládať priblíženie mapy tlačidlami hlasitosti zariadenia.</string>
|
||||
<string name="use_volume_buttons_as_zoom_descr">Ovládať priblíženie mapy tlačidlami hlasitosti zariadenia.</string>
|
||||
<string name="use_volume_buttons_as_zoom">Tlačidlá hlasitosti na približovanie</string>
|
||||
<string name="lenght_limit_description">Zadajte dĺžku vášho vozidla, pretože na trase môžu byť obmedzenia pre dlhé vozidlá.</string>
|
||||
<string name="quick_action_remove_next_destination">Vymazať ďalší cieľový bod</string>
|
||||
<string name="quick_action_remove_next_destination">Vymazať najbližší cieľový bod</string>
|
||||
<string name="please_provide_point_name_error">Prosím zadajte názov pre bod</string>
|
||||
<string name="quick_action_remove_next_destination_descr">Aktuálny cieľový bod na trase bude vymazaný. Ak je to posledný cieľ, navigácia sa zastaví.</string>
|
||||
<string name="search_download_wikipedia_maps">Stiahnuť mapy Wikipédia</string>
|
||||
|
@ -3800,8 +3800,8 @@
|
|||
<string name="app_mode_wheelchair">Invalidný vozík</string>
|
||||
<string name="app_mode_wheelchair_forward">Invalidný vozík dopredu</string>
|
||||
<string name="app_mode_go_cart">Motokára</string>
|
||||
<string name="osm_edit_closed_note">Zatvorená OSM poznámka</string>
|
||||
<string name="set_working_days_to_continue">Pre pokračovanie musíte zadať pracovné dni</string>
|
||||
<string name="osm_edit_closed_note">OSM poznámka zatvorená</string>
|
||||
<string name="set_working_days_to_continue">Zadať pracovné dni pre pokračovanie</string>
|
||||
<string name="route_between_points">Trasa medzi bodmi</string>
|
||||
<string name="plan_a_route">Naplánovať trasu</string>
|
||||
<string name="add_to_a_track">Pridať do stopy</string>
|
||||
|
@ -3824,23 +3824,21 @@
|
|||
<string name="reverse_route">Otočiť trasu</string>
|
||||
<string name="route_between_points_whole_track_button_desc">Celá stopa bude prepočítaná pomocou zvoleného profilu.</string>
|
||||
<string name="route_between_points_next_segment_button_desc">Len nasledujúci úsek bude prepočítaný pomocou zvoleného profilu.</string>
|
||||
<string name="route_between_points_desc">Zvoľte ako spojiť body, priamou čiarou alebo vypočítať trasu medzi nimi pomocou zvoleného profilu.</string>
|
||||
<string name="route_between_points_desc">Zvoľte ako spojiť body, priamou čiarou alebo vypočítať trasu medzi nimi ako je určené ďalej.</string>
|
||||
<string name="whole_track">Celá stopa</string>
|
||||
<string name="next_segment">Ďalší úsek</string>
|
||||
<string name="route_between_points_warning_desc">Pre použitie tejto možnosti musí OsmAnd prichytiť vašu stopu na cesty v mape.
|
||||
\n
|
||||
\n V ďalšom kroku budete musieť zvoliť navigačný profil pre detekciu povolených ciest a hraničnú vzdialenosť pre aproximovanie vašej stopy cestami.</string>
|
||||
<string name="route_between_points_warning_desc">Ďalej, pre použitie tejto možnosti pripojte vašu stopu k najbližšej povolenej ceste s niektorým vaším navigačným profilom.</string>
|
||||
<string name="threshold_distance">Hraničná vzdialenosť</string>
|
||||
<string name="navigation_profile">Navigačný profil</string>
|
||||
<string name="route_between_points_add_track_desc">Zvoľte súbor stopy, pre ktorú bude pridaný nový úsek.</string>
|
||||
<string name="street_level_imagery">Snímky z úrovne ulice</string>
|
||||
<string name="plan_route_exit_dialog_descr">Naozaj chcete zatvoriť plánovanie trasy bez uloženia\? Všetky zmeny sa stratia.</string>
|
||||
<string name="plan_route_exit_dialog_descr">Naozaj chcete zahodiť všetky zmeny v plánovanej trasy jej zatvorením\?</string>
|
||||
<string name="in_case_of_reverse_direction">V prípade opačného smeru</string>
|
||||
<string name="shared_string_gpx_route">Trasa zo stopy</string>
|
||||
<string name="context_menu_item_add_waypoint">Pridať prechodný bod stopy</string>
|
||||
<string name="follow_track">Nasledovať stopu</string>
|
||||
<string name="follow_track_descr">Zvoľte súbor stopy pre nasledovanie</string>
|
||||
<string name="import_track_descr">Zvoľte súbor stopy pre nasledovanie, alebo nejaký importujte.</string>
|
||||
<string name="import_track_descr">Zvoľte súbor stopy pre nasledovanie alebo nejaký importujte z vášho zariadenia.</string>
|
||||
<string name="select_another_track">Zvoliť inú stopu</string>
|
||||
<string name="navigate_to_track_descr">Navigovať z mojej polohy k stope</string>
|
||||
<string name="pass_whole_track_descr">Bod stopy pre navigovanie</string>
|
||||
|
@ -3886,4 +3884,19 @@
|
|||
<string name="gpx_monitoring_start">Pokračovať v nahrávaní výletu</string>
|
||||
<string name="one_point_error">Prosím pridajte aspoň dva body.</string>
|
||||
<string name="shared_string_redo">Vykonať znova</string>
|
||||
<string name="release_3_8">• Vylepšená funkcia plánovania trasy: umožňuje použiť rôzne typy navigácie pre úseky trasy a začlenenie stôp
|
||||
\n
|
||||
\n • Nové menu pre vzhľad stôp: zvoľte farbu, hrúbku, smerové šípky, ikony štartu a cieľa
|
||||
\n
|
||||
\n • Zlepšená viditeľnosť bodov pre bicykle.
|
||||
\n
|
||||
\n • Stopy je teraz možné aktivovať, pre kontextové menu sú základnými údajmi.
|
||||
\n
|
||||
\n • Zlepšený algoritmus vyhľadávania
|
||||
\n
|
||||
\n • Zlepšené možnosti nasledovania stopy v navigácii
|
||||
\n
|
||||
\n • Opravené problému s importom a exportom nastavení profilov
|
||||
\n
|
||||
\n</string>
|
||||
</resources>
|
|
@ -3783,7 +3783,7 @@
|
|||
<string name="reverse_route">Ters güzergah</string>
|
||||
<string name="route_between_points_whole_track_button_desc">Tüm yol, seçilen profil kullanılarak yeniden hesaplanacaktır.</string>
|
||||
<string name="route_between_points_next_segment_button_desc">Sadece sonraki bölüm, seçilen profil kullanılarak yeniden hesaplanacaktır.</string>
|
||||
<string name="route_between_points_desc">Düz bir çizgi ile noktaları nasıl birleştireceğinizi veya seçili profille aralarında nasıl güzergah hesaplayacağınızı seçin.</string>
|
||||
<string name="route_between_points_desc">Düz bir çizgi ile noktaları nasıl birleştireceğinizi veya aşağıda belirtildiği gibi aralarında nasıl güzergah hesaplayacağınızı seçin.</string>
|
||||
<string name="whole_track">Tüm yol</string>
|
||||
<string name="next_segment">Sonraki bölüm</string>
|
||||
<string name="threshold_distance">Eşik mesafesi</string>
|
||||
|
@ -3814,4 +3814,17 @@
|
|||
<string name="save_global_track_interval_descr">Genel yol kaydı için kayıt aralığını seçin (haritadaki seyahat kayıt widget\'ı aracılığıyla etkin).</string>
|
||||
<string name="gpx_monitoring_stop">Seyahat kaydetmeyi duraklat</string>
|
||||
<string name="gpx_monitoring_start">Seyahat kaydetmeyi devam ettir</string>
|
||||
<string name="nearest_point">En yakın nokta</string>
|
||||
<string name="delete_address">Adres sil</string>
|
||||
<string name="add_address">Adres ekle</string>
|
||||
<string name="access_hint_enter_address">Adres girin</string>
|
||||
<string name="simplified_track_description">Sadece güzergah hattı kaydedilecek, ara noktalar silinecektir.</string>
|
||||
<string name="shared_string_file_name">Dosya adı</string>
|
||||
<string name="system_default_theme">Sistem öntanımlı değeri</string>
|
||||
<string name="all_next_segments">Sonraki tüm bölümler</string>
|
||||
<string name="previous_segment">Önceki bölüm</string>
|
||||
<string name="all_previous_segments">Önceki tüm bölümler</string>
|
||||
<string name="only_selected_segment_recalc">Sadece seçili bölüm, seçilen profil kullanılarak yeniden hesaplanacaktır.</string>
|
||||
<string name="all_next_segments_will_be_recalc">Sonraki tüm bölümler, seçilen profil kullanılarak yeniden hesaplanacaktır.</string>
|
||||
<string name="all_previous_segments_will_be_recalc">Önceki tüm bölümler, seçilen profil kullanılarak yeniden hesaplanacaktır.</string>
|
||||
</resources>
|
|
@ -3830,4 +3830,6 @@
|
|||
<string name="poi_departures_board">Дошка відправлень</string>
|
||||
<string name="poi_drinking_water_refill">Поповнення питної води</string>
|
||||
<string name="poi_recycling_small_electrical_appliances">Невеликі електроприлади</string>
|
||||
<string name="poi_beehive">Вулик</string>
|
||||
<string name="poi_nuts">Насіннєвий магазин</string>
|
||||
</resources>
|
|
@ -3828,7 +3828,7 @@
|
|||
<string name="save_as_new_track">Зберегти як новий трек</string>
|
||||
<string name="route_between_points_whole_track_button_desc">Весь трек буде перераховано за допомогою вибраного профілю.</string>
|
||||
<string name="route_between_points_next_segment_button_desc">Лише наступний сегмент буде перераховано за допомогою обраного профілю.</string>
|
||||
<string name="route_between_points_desc">Виберіть спосіб з\'єднання точок: прямою лінією чи розраховувати маршрут між ними за допомогою вибраного профілю.</string>
|
||||
<string name="route_between_points_desc">Виберіть спосіб з\'єднання точок: прямою лінією чи обчислити маршрут між ними за, як зазначено далі.</string>
|
||||
<string name="street_level_imagery">Зображення вулиць</string>
|
||||
<string name="plan_route_exit_dialog_descr">Ви дійсно бажаєте відхилити всі зміни у запланованому маршруті, закривши його\?</string>
|
||||
<string name="in_case_of_reverse_direction">Для зворотного напрямку</string>
|
||||
|
@ -3881,13 +3881,13 @@
|
|||
<string name="simplified_track_description">Буде збережено лише лінію маршруту, а проміжні точки буде видалено.</string>
|
||||
<string name="shared_string_file_name">Назва файлу</string>
|
||||
<string name="shared_string_redo">Повторити</string>
|
||||
<string name="release_3_8">• Оновлений режим планування маршруту дозволяє застосувати різні типи переходів для кожного сегмента і прив\'язує будь-який трек до доріг
|
||||
<string name="release_3_8">• Оновлено функції планування маршруту: дозволено застосувати різні типи переходів для кожного сегмента і прив\'язати будь-який трек до доріг
|
||||
\n
|
||||
\n• Нові параметри вигляду треків: вибір кольору, товщина стрілки напрямку та позначки початку/завершення
|
||||
\n• Нове меню вигляду треків: вибір кольору, товщина, вигляд стрілки напрямку, піктограми початку/завершення
|
||||
\n
|
||||
\n• Покращено оглядовість велосипедних вузлів
|
||||
\n
|
||||
\n• Контекстне меню для треків з основною інформацією
|
||||
\n• На треки тепер можна натискати, є контекстне меню з основною інформацією.
|
||||
\n
|
||||
\n• Вдосконалено алгоритми пошуку
|
||||
\n
|
||||
|
|
|
@ -3841,4 +3841,5 @@
|
|||
<string name="poi_departures_board">時刻表</string>
|
||||
<string name="poi_drinking_water_refill">飲用水補充</string>
|
||||
<string name="poi_recycling_small_electrical_appliances">小電器</string>
|
||||
<string name="poi_beehive">蜂箱</string>
|
||||
</resources>
|
|
@ -3821,7 +3821,7 @@
|
|||
<string name="reverse_route">反向路線</string>
|
||||
<string name="route_between_points_whole_track_button_desc">整個軌跡都會使用選定的設定檔重新計算。</string>
|
||||
<string name="route_between_points_next_segment_button_desc">僅下一個片段會使用選定的設定檔重新計算。</string>
|
||||
<string name="route_between_points_desc">選取如何連接點,用直線或以選定的設定檔計算其間的路徑。</string>
|
||||
<string name="route_between_points_desc">選取如何連接點,透過直線或以下面選定的方法計算其間的路徑。</string>
|
||||
<string name="whole_track">整個軌道</string>
|
||||
<string name="next_segment">下一段</string>
|
||||
<string name="route_between_points_warning_desc">接下來,使用您其中一個導航設定檔來將路線貼齊到最近可用的道路上以使用此選項。</string>
|
||||
|
@ -3881,13 +3881,13 @@
|
|||
<string name="shared_string_is_saved">已儲存</string>
|
||||
<string name="one_point_error">請至少新增兩個點。</string>
|
||||
<string name="shared_string_redo">重做</string>
|
||||
<string name="release_3_8">• 更新的規劃路線模式允許對不同路段使用不同的導航類型,並可將任何軌跡附加到道路上
|
||||
<string name="release_3_8">• 更新「規劃路線」功能:允許每個路段使用不同的導航類型並包含軌跡
|
||||
\n
|
||||
\n • 新的軌跡外觀選項:選取顏色、厚度、開啟方向箭頭與開始/結束標記
|
||||
\n • 新的軌跡外觀選項:選取顏色、厚度、開啟方向箭頭與開始/結束圖示
|
||||
\n
|
||||
\n • 改善自行車節點的能見度
|
||||
\n
|
||||
\n • 有基本資訊的軌跡情境選單
|
||||
\n • 軌跡現在是可點擊的,且有包含基本資訊的內容選單
|
||||
\n
|
||||
\n • 改進了搜尋演算法
|
||||
\n
|
||||
|
|
|
@ -4255,4 +4255,7 @@
|
|||
|
||||
<string name="poi_beehive">Beehive</string>
|
||||
|
||||
<string name="poi_nuts">Nut store</string>
|
||||
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -42,6 +42,7 @@ import androidx.core.graphics.drawable.DrawableCompat;
|
|||
import androidx.core.view.ViewCompat;
|
||||
import androidx.core.widget.TintableCompoundButton;
|
||||
|
||||
import com.google.android.material.slider.LabelFormatter;
|
||||
import com.google.android.material.slider.RangeSlider;
|
||||
import com.google.android.material.slider.Slider;
|
||||
import com.google.android.material.snackbar.BaseTransientBottomBar;
|
||||
|
@ -230,8 +231,12 @@ public class UiUtilities {
|
|||
}
|
||||
|
||||
@ColorInt
|
||||
public static int mixTwoColors(@ColorInt int color1, @ColorInt int color2, float amount )
|
||||
{
|
||||
public static int removeAlpha(@ColorInt int color) {
|
||||
return Color.rgb(Color.red(color), Color.green(color), Color.blue(color));
|
||||
}
|
||||
|
||||
@ColorInt
|
||||
public static int mixTwoColors(@ColorInt int color1, @ColorInt int color2, float amount) {
|
||||
final byte ALPHA_CHANNEL = 24;
|
||||
final byte RED_CHANNEL = 16;
|
||||
final byte GREEN_CHANNEL = 8;
|
||||
|
@ -606,7 +611,7 @@ public class UiUtilities {
|
|||
slider.setTrackHeight(ctx.getResources().getDimensionPixelSize(R.dimen.slider_track_height));
|
||||
|
||||
// label behavior
|
||||
slider.setLabelBehavior(Slider.LABEL_GONE);
|
||||
slider.setLabelBehavior(LabelFormatter.LABEL_GONE);
|
||||
}
|
||||
|
||||
public static void setupSlider(RangeSlider slider, boolean nightMode,
|
||||
|
@ -646,7 +651,7 @@ public class UiUtilities {
|
|||
slider.setTrackHeight(ctx.getResources().getDimensionPixelSize(R.dimen.slider_track_height));
|
||||
|
||||
// label behavior
|
||||
slider.setLabelBehavior(Slider.LABEL_GONE);
|
||||
slider.setLabelBehavior(LabelFormatter.LABEL_GONE);
|
||||
}
|
||||
|
||||
public static void setupDialogButton(boolean nightMode, View buttonView, DialogButtonType buttonType, @StringRes int buttonTextId) {
|
||||
|
|
|
@ -61,6 +61,7 @@ import net.osmand.plus.mapmarkers.MarkersPlanRouteContext;
|
|||
import net.osmand.plus.measurementtool.MeasurementToolFragment;
|
||||
import net.osmand.plus.measurementtool.StartPlanRouteBottomSheet;
|
||||
import net.osmand.plus.monitoring.OsmandMonitoringPlugin;
|
||||
import net.osmand.plus.profiles.RoutingProfileDataObject;
|
||||
import net.osmand.plus.routepreparationmenu.MapRouteInfoMenu;
|
||||
import net.osmand.plus.routepreparationmenu.WaypointsFragment;
|
||||
import net.osmand.plus.routing.RouteProvider.GPXRouteParamsBuilder;
|
||||
|
@ -86,6 +87,7 @@ import java.text.MessageFormat;
|
|||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import static net.osmand.IndexConstants.GPX_FILE_EXT;
|
||||
import static net.osmand.aidlapi.OsmAndCustomizationConstants.DRAWER_CONFIGURE_MAP_ID;
|
||||
|
@ -115,6 +117,7 @@ import static net.osmand.aidlapi.OsmAndCustomizationConstants.MAP_CONTEXT_MENU_S
|
|||
import static net.osmand.plus.ContextMenuAdapter.PROFILES_CHOSEN_PROFILE_TAG;
|
||||
import static net.osmand.plus.ContextMenuAdapter.PROFILES_CONTROL_BUTTON_TAG;
|
||||
import static net.osmand.plus.ContextMenuAdapter.PROFILES_NORMAL_PROFILE_TAG;
|
||||
import static net.osmand.plus.settings.fragments.NavigationFragment.getRoutingProfiles;
|
||||
|
||||
|
||||
public class MapActivityActions implements DialogProvider {
|
||||
|
@ -732,10 +735,10 @@ public class MapActivityActions implements DialogProvider {
|
|||
|
||||
String modeDescription;
|
||||
|
||||
Map<String, RoutingProfileDataObject> profilesObjects = getRoutingProfiles(app);
|
||||
for (final ApplicationMode appMode : activeModes) {
|
||||
if (appMode.isCustomProfile()) {
|
||||
modeDescription = String.format(app.getString(R.string.profile_type_descr_string),
|
||||
Algorithms.capitalizeFirstLetterAndLowercase(appMode.getParent().toHumanString()));
|
||||
modeDescription = getCustomProfileDescription(app, appMode, profilesObjects);
|
||||
} else {
|
||||
modeDescription = getString(R.string.profile_type_base_string);
|
||||
}
|
||||
|
@ -1045,8 +1048,8 @@ public class MapActivityActions implements DialogProvider {
|
|||
ApplicationMode currentMode = app.getSettings().APPLICATION_MODE.get();
|
||||
String modeDescription;
|
||||
if (currentMode.isCustomProfile()) {
|
||||
modeDescription = String.format(app.getString(R.string.profile_type_descr_string),
|
||||
Algorithms.capitalizeFirstLetterAndLowercase(currentMode.getParent().toHumanString()));
|
||||
Map<String, RoutingProfileDataObject> profilesObjects = getRoutingProfiles(app);
|
||||
modeDescription = getCustomProfileDescription(app, currentMode, profilesObjects);
|
||||
} else {
|
||||
modeDescription = getString(R.string.profile_type_base_string);
|
||||
}
|
||||
|
@ -1081,6 +1084,21 @@ public class MapActivityActions implements DialogProvider {
|
|||
.createItem());
|
||||
}
|
||||
|
||||
private String getCustomProfileDescription(OsmandApplication app, ApplicationMode mode,
|
||||
Map<String, RoutingProfileDataObject> profilesObjects){
|
||||
String description = getString(R.string.profile_type_custom_string);
|
||||
|
||||
String routingProfileKey = mode.getRoutingProfile();
|
||||
if (!Algorithms.isEmpty(routingProfileKey)) {
|
||||
RoutingProfileDataObject profileDataObject = profilesObjects.get(routingProfileKey);
|
||||
if (profileDataObject != null) {
|
||||
description = String.format(app.getString(R.string.profile_type_descr_string),
|
||||
Algorithms.capitalizeFirstLetterAndLowercase(profileDataObject.getName()));
|
||||
}
|
||||
}
|
||||
return description;
|
||||
}
|
||||
|
||||
public void openIntermediatePointsDialog() {
|
||||
mapActivity.hideContextAndRouteInfoMenues();
|
||||
WaypointsFragment.showInstance(mapActivity.getSupportFragmentManager());
|
||||
|
|
|
@ -46,6 +46,7 @@ import net.osmand.plus.activities.MapActivity;
|
|||
import net.osmand.plus.helpers.AndroidUiHelper;
|
||||
import net.osmand.plus.mapcontextmenu.InterceptorLinearLayout;
|
||||
import net.osmand.plus.views.controls.HorizontalSwipeConfirm;
|
||||
import net.osmand.plus.views.controls.SingleTapConfirm;
|
||||
|
||||
import static net.osmand.plus.mapcontextmenu.MapContextMenuFragment.CURRENT_Y_UNDEFINED;
|
||||
|
||||
|
@ -315,7 +316,8 @@ public abstract class ContextMenuFragment extends BaseOsmAndFragment {
|
|||
processScreenHeight(container);
|
||||
minHalfY = getMinHalfY(mapActivity);
|
||||
|
||||
final GestureDetector swipeDetector = new GestureDetector(app, new HorizontalSwipeConfirm(true));
|
||||
final GestureDetector singleTapDetector = new GestureDetector(view.getContext(), new SingleTapConfirm());
|
||||
final GestureDetector swipeDetector = new GestureDetector(view.getContext(), new HorizontalSwipeConfirm(true));
|
||||
|
||||
final OnTouchListener slideTouchListener = new OnTouchListener() {
|
||||
private float dy;
|
||||
|
@ -330,6 +332,8 @@ public abstract class ContextMenuFragment extends BaseOsmAndFragment {
|
|||
private boolean slidingUp;
|
||||
private boolean slidingDown;
|
||||
|
||||
private boolean hasMoved;
|
||||
|
||||
{
|
||||
OsmandApplication app = requireMyApplication();
|
||||
scroller = new OverScroller(app);
|
||||
|
@ -340,7 +344,15 @@ public abstract class ContextMenuFragment extends BaseOsmAndFragment {
|
|||
|
||||
@Override
|
||||
public boolean onTouch(View v, MotionEvent event) {
|
||||
if (!hasMoved && getHeaderViewHeight() > 0 && event.getY() <= getHeaderViewHeight()) {
|
||||
if (singleTapDetector.onTouchEvent(event)) {
|
||||
moving = false;
|
||||
onHeaderClick();
|
||||
|
||||
recycleVelocityTracker();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (!portrait) {
|
||||
if (swipeDetector.onTouchEvent(event)) {
|
||||
dismiss();
|
||||
|
@ -352,6 +364,7 @@ public abstract class ContextMenuFragment extends BaseOsmAndFragment {
|
|||
|
||||
switch (event.getAction()) {
|
||||
case MotionEvent.ACTION_DOWN:
|
||||
hasMoved = false;
|
||||
mDownY = event.getRawY();
|
||||
dy = event.getY();
|
||||
dyMain = getViewY();
|
||||
|
@ -365,6 +378,7 @@ public abstract class ContextMenuFragment extends BaseOsmAndFragment {
|
|||
moving = true;
|
||||
}
|
||||
if (moving) {
|
||||
hasMoved = true;
|
||||
float y = event.getY();
|
||||
float newY = getViewY() + (y - dy);
|
||||
if (!portrait && newY > topScreenPosY) {
|
||||
|
@ -390,6 +404,7 @@ public abstract class ContextMenuFragment extends BaseOsmAndFragment {
|
|||
case MotionEvent.ACTION_UP:
|
||||
if (moving) {
|
||||
moving = false;
|
||||
hasMoved = false;
|
||||
int currentY = getViewY();
|
||||
int fullScreenTopPosY = getMenuStatePosY(MenuState.FULL_SCREEN);
|
||||
final VelocityTracker velocityTracker = this.velocityTracker;
|
||||
|
@ -417,6 +432,7 @@ public abstract class ContextMenuFragment extends BaseOsmAndFragment {
|
|||
break;
|
||||
case MotionEvent.ACTION_CANCEL:
|
||||
moving = false;
|
||||
hasMoved = false;
|
||||
recycleVelocityTracker();
|
||||
break;
|
||||
|
||||
|
@ -903,6 +919,10 @@ public abstract class ContextMenuFragment extends BaseOsmAndFragment {
|
|||
runLayoutListener();
|
||||
}
|
||||
|
||||
protected void onHeaderClick() {
|
||||
|
||||
}
|
||||
|
||||
@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
|
||||
protected void runLayoutListener() {
|
||||
if (view != null) {
|
||||
|
|
|
@ -243,8 +243,8 @@ public class FavoritePointEditorFragmentNew extends PointEditorFragmentNew {
|
|||
if (favorite != null) {
|
||||
final FavouritePoint point = new FavouritePoint(favorite.getLatitude(), favorite.getLongitude(),
|
||||
getNameTextValue(), getCategoryTextValue());
|
||||
point.setDescription(getDescriptionTextValue());
|
||||
point.setAddress(getAddressTextValue());
|
||||
point.setDescription(isDescriptionAvailable() ? getDescriptionTextValue() : null);
|
||||
point.setAddress(isAddressAvailable() ? getAddressTextValue() : null);
|
||||
point.setColor(color);
|
||||
point.setBackgroundType(backgroundType);
|
||||
point.setIconId(iconId);
|
||||
|
@ -259,8 +259,8 @@ public class FavoritePointEditorFragmentNew extends PointEditorFragmentNew {
|
|||
if (favorite != null) {
|
||||
final FavouritePoint point = new FavouritePoint(favorite.getLatitude(), favorite.getLongitude(),
|
||||
getNameTextValue(), getCategoryTextValue());
|
||||
point.setDescription(getDescriptionTextValue());
|
||||
point.setAddress(getAddressTextValue());
|
||||
point.setDescription(isDescriptionAvailable() ? getDescriptionTextValue() : null);
|
||||
point.setAddress(isAddressAvailable() ? getAddressTextValue() : null);
|
||||
point.setColor(color);
|
||||
point.setBackgroundType(backgroundType);
|
||||
point.setIconId(iconId);
|
||||
|
|
|
@ -27,6 +27,7 @@ import android.widget.TextView;
|
|||
|
||||
import androidx.activity.OnBackPressedCallback;
|
||||
import androidx.annotation.ColorInt;
|
||||
import androidx.annotation.ColorRes;
|
||||
import androidx.annotation.DrawableRes;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
@ -39,7 +40,6 @@ import androidx.fragment.app.FragmentActivity;
|
|||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.google.android.material.textfield.TextInputEditText;
|
||||
import com.google.android.material.textfield.TextInputLayout;
|
||||
|
||||
import net.osmand.AndroidUtils;
|
||||
|
@ -81,6 +81,7 @@ public abstract class PointEditorFragmentNew extends BaseOsmAndFragment {
|
|||
private TextView addDelDescription;
|
||||
private TextView addAddressBtn;
|
||||
private TextView addToHiddenGroupInfo;
|
||||
private ImageView deleteAddressIcon;
|
||||
private boolean cancelled;
|
||||
private boolean nightMode;
|
||||
@DrawableRes
|
||||
|
@ -167,7 +168,7 @@ public abstract class PointEditorFragmentNew extends BaseOsmAndFragment {
|
|||
}
|
||||
});
|
||||
|
||||
final int activeColorResId = nightMode ? R.color.active_color_primary_dark : R.color.active_color_primary_light;
|
||||
final int activeColorResId = getActiveColorRes();
|
||||
ImageView toolbarAction = (ImageView) view.findViewById(R.id.toolbar_action);
|
||||
view.findViewById(R.id.background_layout).setBackgroundResource(nightMode
|
||||
? R.color.app_bar_color_dark : R.color.list_background_color_light);
|
||||
|
@ -247,56 +248,69 @@ public abstract class PointEditorFragmentNew extends BaseOsmAndFragment {
|
|||
if (getDescriptionInitValue() != null) {
|
||||
descriptionEdit.setText(getDescriptionInitValue());
|
||||
}
|
||||
if (getAddressInitValue() != null){
|
||||
addressEdit.setText(getAddressInitValue());
|
||||
addressEdit.setSelection(addressEdit.getText().length());
|
||||
}
|
||||
|
||||
descriptionCaption = view.findViewById(R.id.description);
|
||||
addressCaption = view.findViewById(R.id.address);
|
||||
addDelDescription = (TextView) view.findViewById(R.id.description_button);
|
||||
addAddressBtn = view.findViewById(R.id.address_button);
|
||||
deleteAddressIcon = view.findViewById(R.id.delete_address_icon);
|
||||
deleteAddressIcon.setImageDrawable(app.getUIUtilities().getIcon(R.drawable.ic_action_trash_basket_16, activeColorResId));
|
||||
|
||||
addDelDescription.setTextColor(getResources().getColor(activeColorResId));
|
||||
addAddressBtn.setTextColor(getResources().getColor(activeColorResId));
|
||||
addAddressBtn.setCompoundDrawablesWithIntrinsicBounds(
|
||||
app.getUIUtilities().getIcon(R.drawable.ic_action_location_16, activeColorResId),null,null,null);
|
||||
addDelDescription.setCompoundDrawablesWithIntrinsicBounds(
|
||||
app.getUIUtilities().getIcon(R.drawable.ic_action_description_16, activeColorResId),null,null,null);
|
||||
Drawable addressIcon = app.getUIUtilities().getIcon(R.drawable.ic_action_location_16, activeColorResId);
|
||||
addAddressBtn.setCompoundDrawablesWithIntrinsicBounds(addressIcon, null, null, null);
|
||||
addDelDescription.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (descriptionCaption.getVisibility() != View.VISIBLE) {
|
||||
descriptionCaption.setVisibility(View.VISIBLE);
|
||||
addDelDescription.setText(view.getResources().getString(R.string.delete_description));
|
||||
addDelDescription.setCompoundDrawablesWithIntrinsicBounds(
|
||||
app.getUIUtilities().getIcon(R.drawable.ic_action_trash_basket_16,
|
||||
activeColorResId),null,null,null);
|
||||
View descriptionEdit = view.findViewById(R.id.description_edit);
|
||||
descriptionEdit.requestFocus();
|
||||
AndroidUtils.softKeyboardDelayed(getActivity(), descriptionEdit);
|
||||
} else {
|
||||
descriptionCaption.setVisibility(View.GONE);
|
||||
addDelDescription.setText(view.getResources().getString(R.string.add_description));
|
||||
addDelDescription.setCompoundDrawablesWithIntrinsicBounds(
|
||||
app.getUIUtilities().getIcon(R.drawable.ic_action_description_16,
|
||||
activeColorResId),null,null,null);
|
||||
AndroidUtils.hideSoftKeyboard(requireActivity(), descriptionEdit);
|
||||
descriptionEdit.clearFocus();
|
||||
}
|
||||
updateDescriptionIcon();
|
||||
}
|
||||
});
|
||||
AndroidUiHelper.updateVisibility(addressCaption, false);
|
||||
addAddressBtn.setText(getAddressInitValue());
|
||||
|
||||
String addressInitValue = getAddressInitValue();
|
||||
if (!Algorithms.isEmpty(addressInitValue)) {
|
||||
addressEdit.setText(addressInitValue);
|
||||
addAddressBtn.setText(addressInitValue);
|
||||
addressEdit.setSelection(addressInitValue.length());
|
||||
AndroidUiHelper.updateVisibility(deleteAddressIcon, true);
|
||||
} else {
|
||||
addAddressBtn.setText(getString(R.string.add_address));
|
||||
AndroidUiHelper.updateVisibility(deleteAddressIcon, false);
|
||||
}
|
||||
|
||||
deleteAddressIcon.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
addressEdit.setText("");
|
||||
addAddressBtn.setText(view.getResources().getString(R.string.add_address));
|
||||
AndroidUiHelper.updateVisibility(addressCaption, false);
|
||||
AndroidUiHelper.updateVisibility(deleteAddressIcon, false);
|
||||
}
|
||||
});
|
||||
|
||||
final View addressRow = view.findViewById(R.id.address_row);
|
||||
addAddressBtn.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (addressCaption.getVisibility() != View.VISIBLE) {
|
||||
addressCaption.setVisibility(View.VISIBLE);
|
||||
addAddressBtn.setText(view.getResources().getString(R.string.delete_address));
|
||||
TextInputEditText addressEdit = view.findViewById(R.id.address_edit);
|
||||
addressEdit.requestFocus();
|
||||
addressEdit.setSelection(addressEdit.getText().length());
|
||||
AndroidUtils.softKeyboardDelayed(requireActivity(), addressEdit);
|
||||
AndroidUiHelper.updateVisibility(addressRow, false);
|
||||
} else {
|
||||
addressCaption.setVisibility(View.GONE);
|
||||
addAddressBtn.setText(getAddressTextValue());
|
||||
|
@ -371,6 +385,17 @@ public abstract class PointEditorFragmentNew extends BaseOsmAndFragment {
|
|||
return view;
|
||||
}
|
||||
|
||||
private void updateDescriptionIcon() {
|
||||
int iconId;
|
||||
if (descriptionCaption.getVisibility() == View.VISIBLE) {
|
||||
iconId = R.drawable.ic_action_trash_basket_16;
|
||||
} else {
|
||||
iconId = R.drawable.ic_action_description_16;
|
||||
}
|
||||
Drawable icon = app.getUIUtilities().getIcon(iconId, getActiveColorRes());
|
||||
addDelDescription.setCompoundDrawablesWithIntrinsicBounds(icon, null, null, null);
|
||||
}
|
||||
|
||||
private void checkEmptyName(Editable name, TextInputLayout nameCaption, View saveButton) {
|
||||
if (name.toString().trim().isEmpty()) {
|
||||
nameCaption.setError(app.getString(R.string.please_provide_point_name_error));
|
||||
|
@ -408,7 +433,20 @@ public abstract class PointEditorFragmentNew extends BaseOsmAndFragment {
|
|||
descriptionCaption.setVisibility(View.GONE);
|
||||
addDelDescription.setText(app.getString(R.string.add_description));
|
||||
}
|
||||
updateDescriptionIcon();
|
||||
}
|
||||
|
||||
boolean isAddressAvailable() {
|
||||
return addressCaption.getVisibility() == View.VISIBLE;
|
||||
}
|
||||
|
||||
boolean isDescriptionAvailable() {
|
||||
return descriptionCaption.getVisibility() == View.VISIBLE;
|
||||
}
|
||||
|
||||
@ColorRes
|
||||
private int getActiveColorRes() {
|
||||
return nightMode ? R.color.active_color_primary_dark : R.color.active_color_primary_light;
|
||||
}
|
||||
|
||||
private void createGroupSelector() {
|
||||
|
|
|
@ -22,6 +22,7 @@ import org.apache.commons.logging.Log;
|
|||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.Future;
|
||||
import java.util.concurrent.LinkedBlockingQueue;
|
||||
import java.util.concurrent.ThreadPoolExecutor;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
@ -44,6 +45,7 @@ public class GpxApproximator {
|
|||
|
||||
private ThreadPoolExecutor singleThreadedExecutor;
|
||||
private GpxApproximationProgressCallback approximationProgress;
|
||||
private Future<?> currentApproximationTask;
|
||||
|
||||
public interface GpxApproximationProgressCallback {
|
||||
|
||||
|
@ -152,7 +154,10 @@ public class GpxApproximator {
|
|||
this.gctx = gctx;
|
||||
startProgress();
|
||||
updateProgress(gctx);
|
||||
singleThreadedExecutor.submit(new Runnable() {
|
||||
if (currentApproximationTask != null) {
|
||||
currentApproximationTask.cancel(true);
|
||||
}
|
||||
currentApproximationTask = singleThreadedExecutor.submit(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
|
|
|
@ -11,6 +11,7 @@ import android.widget.EditText;
|
|||
|
||||
import androidx.annotation.ColorInt;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentManager;
|
||||
|
||||
|
@ -46,7 +47,7 @@ public class CustomColorBottomSheet extends MenuBottomSheetDialogFragment implem
|
|||
private boolean fromEditText;
|
||||
|
||||
@ColorInt
|
||||
private int prevColor;
|
||||
private Integer prevColor;
|
||||
@ColorInt
|
||||
private int newColor;
|
||||
|
||||
|
@ -54,12 +55,18 @@ public class CustomColorBottomSheet extends MenuBottomSheetDialogFragment implem
|
|||
public void createMenuItems(Bundle savedInstanceState) {
|
||||
if (savedInstanceState != null) {
|
||||
newColor = savedInstanceState.getInt(NEW_SELECTED_COLOR);
|
||||
if (savedInstanceState.containsKey(PREV_SELECTED_COLOR)) {
|
||||
prevColor = savedInstanceState.getInt(PREV_SELECTED_COLOR);
|
||||
}
|
||||
} else {
|
||||
Bundle args = getArguments();
|
||||
if (args != null) {
|
||||
if (args.containsKey(PREV_SELECTED_COLOR)) {
|
||||
prevColor = args.getInt(PREV_SELECTED_COLOR);
|
||||
newColor = prevColor != -1 ? prevColor : Color.RED;
|
||||
newColor = prevColor;
|
||||
} else {
|
||||
newColor = Color.RED;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -74,7 +81,9 @@ public class CustomColorBottomSheet extends MenuBottomSheetDialogFragment implem
|
|||
@Override
|
||||
public void onSaveInstanceState(Bundle outState) {
|
||||
outState.putInt(NEW_SELECTED_COLOR, newColor);
|
||||
if (prevColor != null) {
|
||||
outState.putInt(PREV_SELECTED_COLOR, prevColor);
|
||||
}
|
||||
super.onSaveInstanceState(outState);
|
||||
}
|
||||
|
||||
|
@ -157,11 +166,13 @@ public class CustomColorBottomSheet extends MenuBottomSheetDialogFragment implem
|
|||
dismiss();
|
||||
}
|
||||
|
||||
public static void showInstance(@NonNull FragmentManager fragmentManager, Fragment target, int prevColor) {
|
||||
public static void showInstance(@NonNull FragmentManager fragmentManager, Fragment target, @Nullable Integer prevColor) {
|
||||
try {
|
||||
if (!fragmentManager.isStateSaved() && fragmentManager.findFragmentByTag(CustomColorBottomSheet.TAG) == null) {
|
||||
Bundle args = new Bundle();
|
||||
if (prevColor != null) {
|
||||
args.putInt(PREV_SELECTED_COLOR, prevColor);
|
||||
}
|
||||
|
||||
CustomColorBottomSheet customColorBottomSheet = new CustomColorBottomSheet();
|
||||
customColorBottomSheet.setArguments(args);
|
||||
|
@ -175,7 +186,7 @@ public class CustomColorBottomSheet extends MenuBottomSheetDialogFragment implem
|
|||
|
||||
public interface ColorPickerListener {
|
||||
|
||||
void onColorSelected(@ColorInt int prevColor, @ColorInt int newColor);
|
||||
void onColorSelected(@ColorInt Integer prevColor, @ColorInt int newColor);
|
||||
|
||||
}
|
||||
}
|
|
@ -13,6 +13,7 @@ import android.view.ViewTreeObserver;
|
|||
import android.widget.FrameLayout;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.ScrollView;
|
||||
|
||||
import androidx.activity.OnBackPressedCallback;
|
||||
import androidx.annotation.ColorInt;
|
||||
|
@ -80,6 +81,9 @@ public class TrackAppearanceFragment extends ContextMenuScrollFragment implement
|
|||
private TrackColoringCard trackColoringCard;
|
||||
|
||||
private ImageView trackIcon;
|
||||
private View buttonsShadow;
|
||||
private View routeMenuTopShadowAll;
|
||||
private View controlButtons;
|
||||
|
||||
@Override
|
||||
public int getMainLayoutId() {
|
||||
|
@ -109,6 +113,11 @@ public class TrackAppearanceFragment extends ContextMenuScrollFragment implement
|
|||
return trackDrawInfo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getSupportedMenuStatesPortrait() {
|
||||
return MenuState.HEADER_ONLY | MenuState.HALF_SCREEN | MenuState.FULL_SCREEN;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
@ -182,13 +191,9 @@ public class TrackAppearanceFragment extends ContextMenuScrollFragment implement
|
|||
View view = super.onCreateView(inflater, container, savedInstanceState);
|
||||
if (view != null) {
|
||||
trackIcon = view.findViewById(R.id.track_icon);
|
||||
|
||||
view.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
openMenuHeaderOnly();
|
||||
}
|
||||
});
|
||||
buttonsShadow = view.findViewById(R.id.buttons_shadow);
|
||||
controlButtons = view.findViewById(R.id.control_buttons);
|
||||
routeMenuTopShadowAll = view.findViewById(R.id.route_menu_top_shadow_all);
|
||||
|
||||
if (isPortrait()) {
|
||||
updateCardsLayout();
|
||||
|
@ -201,7 +206,7 @@ public class TrackAppearanceFragment extends ContextMenuScrollFragment implement
|
|||
int widthNoShadow = getLandscapeNoShadowWidth();
|
||||
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(widthNoShadow, ViewGroup.LayoutParams.WRAP_CONTENT);
|
||||
params.gravity = Gravity.BOTTOM | Gravity.START;
|
||||
view.findViewById(R.id.control_buttons).setLayoutParams(params);
|
||||
controlButtons.setLayoutParams(params);
|
||||
}
|
||||
enterTrackAppearanceMode();
|
||||
runLayoutListener();
|
||||
|
@ -211,9 +216,8 @@ public class TrackAppearanceFragment extends ContextMenuScrollFragment implement
|
|||
|
||||
@Override
|
||||
protected void calculateLayout(View view, boolean initLayout) {
|
||||
menuTitleHeight = view.findViewById(R.id.route_menu_top_shadow_all).getHeight()
|
||||
+ view.findViewById(R.id.control_buttons).getHeight()
|
||||
- view.findViewById(R.id.buttons_shadow).getHeight();
|
||||
menuTitleHeight = routeMenuTopShadowAll.getHeight()
|
||||
+ controlButtons.getHeight() - buttonsShadow.getHeight();
|
||||
super.calculateLayout(view, initLayout);
|
||||
}
|
||||
|
||||
|
@ -229,6 +233,11 @@ public class TrackAppearanceFragment extends ContextMenuScrollFragment implement
|
|||
updateStatusBarColor();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean shouldShowMapControls(int menuState) {
|
||||
return menuState == MenuState.HEADER_ONLY || menuState == MenuState.HALF_SCREEN;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
|
@ -325,10 +334,7 @@ public class TrackAppearanceFragment extends ContextMenuScrollFragment implement
|
|||
if (card instanceof SplitIntervalCard) {
|
||||
SplitIntervalBottomSheet.showInstance(mapActivity.getSupportFragmentManager(), trackDrawInfo, this);
|
||||
} else if (card instanceof TrackColoringCard) {
|
||||
updateAppearanceIcon();
|
||||
if (trackWidthCard != null) {
|
||||
trackWidthCard.updateItems();
|
||||
}
|
||||
updateColorItems();
|
||||
} else if (card instanceof TrackWidthCard) {
|
||||
updateAppearanceIcon();
|
||||
} else if (card instanceof DirectionArrowsCard) {
|
||||
|
@ -343,8 +349,9 @@ public class TrackAppearanceFragment extends ContextMenuScrollFragment implement
|
|||
}
|
||||
|
||||
@Override
|
||||
public void onColorSelected(int prevColor, int newColor) {
|
||||
public void onColorSelected(Integer prevColor, int newColor) {
|
||||
trackColoringCard.onColorSelected(prevColor, newColor);
|
||||
updateColorItems();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -361,6 +368,11 @@ public class TrackAppearanceFragment extends ContextMenuScrollFragment implement
|
|||
trackIcon.setImageDrawable(icon);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onHeaderClick() {
|
||||
adjustMapPosition(getViewY());
|
||||
}
|
||||
|
||||
private void adjustMapPosition(int y) {
|
||||
MapActivity mapActivity = getMapActivity();
|
||||
if (mapActivity != null && mapActivity.getMapView() != null) {
|
||||
|
@ -391,13 +403,21 @@ public class TrackAppearanceFragment extends ContextMenuScrollFragment implement
|
|||
int strokeColor = UiUtilities.getColorWithAlpha(Color.BLACK, 0.7f);
|
||||
Drawable strokeIcon = app.getUIUtilities().getPaintedIcon(strokeIconId, strokeColor);
|
||||
|
||||
Drawable transparencyIcon = getTransparencyIcon(app, widthAttr, color);
|
||||
if (showArrows) {
|
||||
int arrowsIconId = getArrowsIconId(widthAttr);
|
||||
int contrastColor = UiUtilities.getContrastColor(app, color, false);
|
||||
Drawable arrows = app.getUIUtilities().getPaintedIcon(arrowsIconId, contrastColor);
|
||||
return UiUtilities.getLayeredIcon(widthIcon, strokeIcon, arrows);
|
||||
return UiUtilities.getLayeredIcon(transparencyIcon, widthIcon, strokeIcon, arrows);
|
||||
}
|
||||
return UiUtilities.getLayeredIcon(widthIcon, strokeIcon);
|
||||
return UiUtilities.getLayeredIcon(transparencyIcon, widthIcon, strokeIcon);
|
||||
}
|
||||
|
||||
private Drawable getTransparencyIcon(OsmandApplication app, String widthAttr, @ColorInt int color) {
|
||||
int transparencyIconId = getTransparencyIconId(widthAttr);
|
||||
int colorWithoutAlpha = UiUtilities.removeAlpha(color);
|
||||
int transparencyColor = UiUtilities.getColorWithAlpha(colorWithoutAlpha, 0.8f);
|
||||
return app.getUIUtilities().getPaintedIcon(transparencyIconId, transparencyColor);
|
||||
}
|
||||
|
||||
private void updateCardsLayout() {
|
||||
|
@ -465,10 +485,23 @@ public class TrackAppearanceFragment extends ContextMenuScrollFragment implement
|
|||
} else if (scrollY > 0 && bottomContainer.getForeground() == null) {
|
||||
bottomContainer.setForeground(shadowIcon);
|
||||
}
|
||||
updateButtonsShadow();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void updateButtonsShadow() {
|
||||
boolean scrollToBottomAvailable = getBottomScrollView().canScrollVertically(1);
|
||||
AndroidUiHelper.updateVisibility(buttonsShadow, scrollToBottomAvailable);
|
||||
}
|
||||
|
||||
private void updateColorItems() {
|
||||
updateAppearanceIcon();
|
||||
if (trackWidthCard != null) {
|
||||
trackWidthCard.updateItems();
|
||||
}
|
||||
}
|
||||
|
||||
private void saveTrackInfo() {
|
||||
GPXFile gpxFile = selectedGpxFile.getGpxFile();
|
||||
|
||||
|
@ -547,19 +580,7 @@ public class TrackAppearanceFragment extends ContextMenuScrollFragment implement
|
|||
}
|
||||
|
||||
private void saveGpx(final GPXFile gpxFile) {
|
||||
new SaveGpxAsyncTask(gpxFile, new SaveGpxAsyncTask.SaveGpxListener() {
|
||||
@Override
|
||||
public void gpxSavingStarted() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gpxSavingFinished(Exception errorMessage) {
|
||||
if (errorMessage == null) {
|
||||
app.showShortToastMessage(R.string.shared_string_track_is_saved, Algorithms.getFileWithoutDirs(gpxFile.path));
|
||||
}
|
||||
}
|
||||
}).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
||||
new SaveGpxAsyncTask(gpxFile, null).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
||||
}
|
||||
|
||||
private void setupCards() {
|
||||
|
@ -582,7 +603,21 @@ public class TrackAppearanceFragment extends ContextMenuScrollFragment implement
|
|||
trackColoringCard.setListener(this);
|
||||
cardsContainer.addView(trackColoringCard.build(mapActivity));
|
||||
|
||||
trackWidthCard = new TrackWidthCard(mapActivity, trackDrawInfo);
|
||||
trackWidthCard = new TrackWidthCard(mapActivity, trackDrawInfo, new OnNeedScrollListener() {
|
||||
|
||||
@Override
|
||||
public void onVerticalScrollNeeded(int y) {
|
||||
View view = trackWidthCard.getView();
|
||||
if (view != null) {
|
||||
int resultYPosition = view.getTop() + y;
|
||||
int dialogHeight = getInnerScrollableHeight();
|
||||
ScrollView scrollView = (ScrollView) getBottomScrollView();
|
||||
if (resultYPosition > (scrollView.getScrollY() + dialogHeight)) {
|
||||
scrollView.smoothScrollTo(0, resultYPosition - dialogHeight);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
trackWidthCard.setListener(this);
|
||||
cardsContainer.addView(trackWidthCard.build(mapActivity));
|
||||
}
|
||||
|
@ -625,6 +660,13 @@ public class TrackAppearanceFragment extends ContextMenuScrollFragment implement
|
|||
}
|
||||
}
|
||||
|
||||
public int getInnerScrollableHeight() {
|
||||
int totalScreenHeight = getViewHeight() - getMenuStatePosY(getCurrentMenuState());
|
||||
int frameTotalHeight = routeMenuTopShadowAll.getHeight()
|
||||
+ controlButtons.getHeight() + buttonsShadow.getHeight();
|
||||
return totalScreenHeight - frameTotalHeight;
|
||||
}
|
||||
|
||||
public static boolean showInstance(@NonNull MapActivity mapActivity, TrackAppearanceFragment fragment) {
|
||||
try {
|
||||
mapActivity.getSupportFragmentManager()
|
||||
|
@ -638,6 +680,16 @@ public class TrackAppearanceFragment extends ContextMenuScrollFragment implement
|
|||
}
|
||||
}
|
||||
|
||||
public static int getTransparencyIconId(String widthAttr) {
|
||||
if (TRACK_WIDTH_BOLD.equals(widthAttr)) {
|
||||
return R.drawable.ic_action_track_line_bold_transparency;
|
||||
} else if (TRACK_WIDTH_MEDIUM.equals(widthAttr)) {
|
||||
return R.drawable.ic_action_track_line_medium_transparency;
|
||||
} else {
|
||||
return R.drawable.ic_action_track_line_thin_transparency;
|
||||
}
|
||||
}
|
||||
|
||||
public static int getWidthIconId(String widthAttr) {
|
||||
if (TRACK_WIDTH_BOLD.equals(widthAttr)) {
|
||||
return R.drawable.ic_action_track_line_bold_color;
|
||||
|
@ -667,4 +719,8 @@ public class TrackAppearanceFragment extends ContextMenuScrollFragment implement
|
|||
return R.drawable.ic_action_track_line_thin_direction;
|
||||
}
|
||||
}
|
||||
|
||||
public interface OnNeedScrollListener {
|
||||
void onVerticalScrollNeeded(int y);
|
||||
}
|
||||
}
|
|
@ -23,9 +23,9 @@ import com.google.android.material.internal.FlowLayout;
|
|||
|
||||
import net.osmand.AndroidUtils;
|
||||
import net.osmand.PlatformUtil;
|
||||
import net.osmand.plus.GPXDatabase;
|
||||
import net.osmand.plus.GPXDatabase.GpxDataItem;
|
||||
import net.osmand.plus.GpxSelectionHelper.SelectedGpxFile;
|
||||
import net.osmand.plus.OsmandApplication;
|
||||
import net.osmand.plus.R;
|
||||
import net.osmand.plus.UiUtilities;
|
||||
import net.osmand.plus.activities.MapActivity;
|
||||
|
@ -146,11 +146,15 @@ public class TrackColoringCard extends BaseCard implements ColorPickerListener {
|
|||
View colorItemView = createCircleView(rootView);
|
||||
|
||||
ImageView backgroundCircle = colorItemView.findViewById(R.id.background);
|
||||
|
||||
Drawable transparencyIcon = getTransparencyIcon(app, color);
|
||||
Drawable colorIcon = app.getUIUtilities().getPaintedIcon(R.drawable.bg_point_circle, color);
|
||||
Drawable layeredIcon = UiUtilities.getLayeredIcon(transparencyIcon, colorIcon);
|
||||
double contrastRatio = ColorUtils.calculateContrast(color, ContextCompat.getColor(app, nightMode ? R.color.card_and_list_background_dark : R.color.card_and_list_background_light));
|
||||
if (contrastRatio < MINIMUM_CONTRAST_RATIO) {
|
||||
backgroundCircle.setBackgroundResource(nightMode ? R.drawable.circle_contour_bg_dark : R.drawable.circle_contour_bg_light);
|
||||
}
|
||||
backgroundCircle.setImageDrawable(UiUtilities.tintDrawable(AppCompatResources.getDrawable(app, R.drawable.bg_point_circle), color));
|
||||
backgroundCircle.setImageDrawable(layeredIcon);
|
||||
backgroundCircle.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
|
@ -180,6 +184,12 @@ public class TrackColoringCard extends BaseCard implements ColorPickerListener {
|
|||
return colorItemView;
|
||||
}
|
||||
|
||||
private Drawable getTransparencyIcon(OsmandApplication app, @ColorInt int color) {
|
||||
int colorWithoutAlpha = UiUtilities.removeAlpha(color);
|
||||
int transparencyColor = UiUtilities.getColorWithAlpha(colorWithoutAlpha, 0.8f);
|
||||
return app.getUIUtilities().getPaintedIcon(R.drawable.ic_bg_transparency, transparencyColor);
|
||||
}
|
||||
|
||||
private View createAddCustomColorItemView(FlowLayout rootView) {
|
||||
View colorItemView = createCircleView(rootView);
|
||||
ImageView backgroundCircle = colorItemView.findViewById(R.id.background);
|
||||
|
@ -190,7 +200,7 @@ public class TrackColoringCard extends BaseCard implements ColorPickerListener {
|
|||
ImageView icon = colorItemView.findViewById(R.id.icon);
|
||||
icon.setVisibility(View.VISIBLE);
|
||||
int activeColorResId = nightMode ? R.color.icon_color_active_dark : R.color.icon_color_active_light;
|
||||
icon.setImageDrawable(app.getUIUtilities().getIcon(R.drawable.ic_action_add, activeColorResId));
|
||||
icon.setImageDrawable(app.getUIUtilities().getIcon(R.drawable.ic_action_plus, activeColorResId));
|
||||
|
||||
backgroundCircle.setImageDrawable(backgroundIcon);
|
||||
backgroundCircle.setOnClickListener(new View.OnClickListener() {
|
||||
|
@ -198,7 +208,7 @@ public class TrackColoringCard extends BaseCard implements ColorPickerListener {
|
|||
public void onClick(View v) {
|
||||
MapActivity mapActivity = getMapActivity();
|
||||
if (mapActivity != null) {
|
||||
CustomColorBottomSheet.showInstance(mapActivity.getSupportFragmentManager(), target, TrackColoringCard.INVALID_VALUE);
|
||||
CustomColorBottomSheet.showInstance(mapActivity.getSupportFragmentManager(), target, null);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@ -285,23 +295,27 @@ public class TrackColoringCard extends BaseCard implements ColorPickerListener {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void onColorSelected(int prevColor, int newColor) {
|
||||
if (prevColor == INVALID_VALUE && customColors.size() < 6) {
|
||||
customColors.add(newColor);
|
||||
} else if (!Algorithms.isEmpty(customColors)) {
|
||||
public void onColorSelected(Integer prevColor, int newColor) {
|
||||
if (prevColor != null) {
|
||||
int index = customColors.indexOf(prevColor);
|
||||
if (index != INVALID_VALUE) {
|
||||
customColors.set(index, newColor);
|
||||
saveCustomColorsToTracks(prevColor, newColor);
|
||||
}
|
||||
if (trackDrawInfo.getColor() == prevColor) {
|
||||
trackDrawInfo.setColor(newColor);
|
||||
}
|
||||
} else if (customColors.size() < 6) {
|
||||
customColors.add(newColor);
|
||||
trackDrawInfo.setColor(newColor);
|
||||
}
|
||||
saveCustomColors();
|
||||
saveCustomColorsToTracks(prevColor, newColor);
|
||||
updateContent();
|
||||
}
|
||||
|
||||
private void saveCustomColorsToTracks(int prevColor, int newColor) {
|
||||
List<GpxDataItem> gpxDataItems = app.getGpxDbHelper().getItems();
|
||||
for (GPXDatabase.GpxDataItem dataItem : gpxDataItems) {
|
||||
for (GpxDataItem dataItem : gpxDataItems) {
|
||||
if (prevColor == dataItem.getColor()) {
|
||||
app.getGpxDbHelper().updateColor(dataItem, newColor);
|
||||
}
|
||||
|
|
|
@ -14,6 +14,7 @@ import androidx.core.content.ContextCompat;
|
|||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.github.ksoichiro.android.observablescrollview.ScrollUtils;
|
||||
import com.google.android.material.slider.Slider;
|
||||
|
||||
import net.osmand.AndroidUtils;
|
||||
|
@ -25,6 +26,7 @@ import net.osmand.plus.dialogs.GpxAppearanceAdapter.AppearanceListItem;
|
|||
import net.osmand.plus.dialogs.GpxAppearanceAdapter.GpxAppearanceAdapterType;
|
||||
import net.osmand.plus.helpers.AndroidUiHelper;
|
||||
import net.osmand.plus.routepreparationmenu.cards.BaseCard;
|
||||
import net.osmand.plus.track.TrackAppearanceFragment.OnNeedScrollListener;
|
||||
import net.osmand.util.Algorithms;
|
||||
|
||||
import java.util.List;
|
||||
|
@ -36,15 +38,19 @@ public class TrackWidthCard extends BaseCard {
|
|||
private final static int CUSTOM_WIDTH_MAX = 24;
|
||||
|
||||
private TrackDrawInfo trackDrawInfo;
|
||||
private OnNeedScrollListener onNeedScrollListener;
|
||||
|
||||
private AppearanceListItem selectedItem;
|
||||
private List<AppearanceListItem> appearanceItems;
|
||||
|
||||
private GpxWidthAdapter widthAdapter;
|
||||
private View sliderContainer;
|
||||
|
||||
public TrackWidthCard(MapActivity mapActivity, TrackDrawInfo trackDrawInfo) {
|
||||
public TrackWidthCard(MapActivity mapActivity, TrackDrawInfo trackDrawInfo,
|
||||
OnNeedScrollListener onNeedScrollListener) {
|
||||
super(mapActivity);
|
||||
this.trackDrawInfo = trackDrawInfo;
|
||||
this.onNeedScrollListener = onNeedScrollListener;
|
||||
appearanceItems = getWidthAppearanceItems();
|
||||
}
|
||||
|
||||
|
@ -115,6 +121,7 @@ public class TrackWidthCard extends BaseCard {
|
|||
}
|
||||
|
||||
private void updateCustomWidthSlider() {
|
||||
sliderContainer = view.findViewById(R.id.slider_container);
|
||||
AppearanceListItem item = getSelectedItem();
|
||||
if (item != null && CUSTOM_WIDTH.equals(item.getAttrName())) {
|
||||
Slider widthSlider = view.findViewById(R.id.width_slider);
|
||||
|
@ -149,9 +156,17 @@ public class TrackWidthCard extends BaseCard {
|
|||
}
|
||||
});
|
||||
UiUtilities.setupSlider(widthSlider, nightMode, null);
|
||||
AndroidUiHelper.updateVisibility(view.findViewById(R.id.slider_container), true);
|
||||
ScrollUtils.addOnGlobalLayoutListener(sliderContainer, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (sliderContainer.getVisibility() == View.VISIBLE) {
|
||||
onNeedScrollListener.onVerticalScrollNeeded(sliderContainer.getBottom());
|
||||
}
|
||||
}
|
||||
});
|
||||
AndroidUiHelper.updateVisibility(sliderContainer, true);
|
||||
} else {
|
||||
AndroidUiHelper.updateVisibility(view.findViewById(R.id.slider_container), false);
|
||||
AndroidUiHelper.updateVisibility(sliderContainer, false);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -467,12 +467,16 @@ public class GPXLayer extends OsmandMapLayer implements IContextMenuProvider, IM
|
|||
int endX = (int) tileBox.getPixXFromLatLon(end.lat, end.lon);
|
||||
int endY = (int) tileBox.getPixYFromLatLon(end.lat, end.lon);
|
||||
|
||||
int iconSize = AndroidUtils.dpToPx(view.getContext(), 14);
|
||||
QuadRect startRectWithoutShadow = calculateRect(startX, startY, iconSize, iconSize);
|
||||
QuadRect endRectWithoutShadow = calculateRect(endX, endY, iconSize, iconSize);
|
||||
|
||||
if (QuadRect.intersects(startRectWithoutShadow, endRectWithoutShadow)) {
|
||||
QuadRect startAndFinishRect = calculateRect(startX, startY, startAndFinishIcon.getIntrinsicWidth(), startAndFinishIcon.getIntrinsicHeight());
|
||||
drawPoint(canvas, startAndFinishRect, startAndFinishIcon);
|
||||
} else {
|
||||
QuadRect startRect = calculateRect(startX, startY, startPointIcon.getIntrinsicWidth(), startPointIcon.getIntrinsicHeight());
|
||||
QuadRect endRect = calculateRect(endX, endY, finishPointIcon.getIntrinsicWidth(), finishPointIcon.getIntrinsicHeight());
|
||||
|
||||
if (QuadRect.intersects(startRect, endRect)) {
|
||||
drawPoint(canvas, startRect, startAndFinishIcon);
|
||||
} else {
|
||||
drawPoint(canvas, startRect, startPointIcon);
|
||||
drawPoint(canvas, endRect, finishPointIcon);
|
||||
}
|
||||
|
@ -913,12 +917,12 @@ public class GPXLayer extends OsmandMapLayer implements IContextMenuProvider, IM
|
|||
|
||||
@Override
|
||||
public boolean disableSingleTap() {
|
||||
return false;
|
||||
return isInTrackAppearanceMode();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean disableLongPressOnMap() {
|
||||
return false;
|
||||
return isInTrackAppearanceMode();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
Loading…
Reference in a new issue