Merge branch 'master' of ssh://github.com/osmandapp/Osmand into Fix_5324

This commit is contained in:
Chumva 2018-05-16 14:57:07 +03:00
commit a90204438f
25 changed files with 632 additions and 102 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

@ -585,7 +585,7 @@ Memòria proporcional %4$s MB (límit de l\'Android %5$s MB, Dalvik %6$s MB).</s
<string name="data_settings_descr">Especifiqueu l\'idioma, baixada/recàrrega de dades.</string>
<string name="use_online_routing">Utilitza la navegació en línia</string>
<string name="save_current_track_descr">Desa la traça actual a la SD ara mateix.</string>
<string name="shared_string_add_to_favorites">Afegeix a Preferits</string>
<string name="shared_string_add_to_favorites">Afegeix a \'Preferits\'</string>
<string name="ChooseCountry">Trieu el país</string>
<string name="choose_street">Trieu el carrer</string>
<string name="choose_city">Trieu la ciutat o el codi postal</string>
@ -1813,7 +1813,7 @@ Per retornar a l\'estil habitual dels mapes d\'OsmAnd, només cal desactivar aqu
<string name="application_dir_description">Trieu on voleu desar els fitxers de mapes i d\'altres dades.</string>
<string name="shared_string_qr_code">Codi QR</string>
<string name="map_downloaded">Mapa baixat</string>
<string name="map_downloaded_descr">S\'ha baixat el mapa de %1$s, ja el podeu començar a utilitzar.</string>
<string name="map_downloaded_descr">El mapa de %1$s està a punt per ser utilitzat.</string>
<string name="go_to_map">Mostra el mapa</string>
<string name="world_map_download_descr">El mapa base mundial (d\'abast mundial i poc detall) no es troba o està caducat. Considereu baixar-lo per una tenir una perspectiva global.</string>
<string name="show_on_start_description">Si es desactiva s\'engega amb la pantalla del mapa.</string>
@ -2032,7 +2032,8 @@ L\'espai disponible és només de {2} MB.</string>
<string name="osm_live_subscription">Subscripció a OsmAnd Live</string>
<string name="osm_live_email_desc">Per informar-vos d\'aportacions.</string>
<string name="osm_live_support_region">Zona de suport</string>
<string name="osm_live_thanks">Us agraïm haver-vos subscrit a les actualitzacions en directe</string>
<string name="osm_live_thanks">Us agraïm el vostre recolçament a OsmAnd
\nPer activar totes les noves funcionalitats us caldrà reiniciar OsmAnd.</string>
<string name="osm_live_region_desc">Una part del vostre donatiu s\'enviarà als usuaris d\'OSM que enviïn modificacions del mapa a aquesta regió.</string>
<string name="osm_live_ask_for_purchase">Primer heu de comprar una subscripció a OsmAnd Live</string>
@ -2397,7 +2398,7 @@ Abasta l\'àrea: %1$s x %2$s</string>
<string name="points_delete_multiple_succesful">El(s) punt(s) s\'ha(n) esborrat.</string>
<string name="points_delete_multiple">Esteu eliminant %1$d punt(s). Ho confirmeu?</string>
<string name="route_points_category_name">Canvis de direcció a la ruta</string>
<string name="track_points_category_name">Punts destacables en aquesta ruta</string>
<string name="track_points_category_name">Fites, punts d\'interès, elements famosos</string>
<string name="add_new_folder">Afegeix a una carpeta nova</string>
<string name="shared_string_slope">Pista</string>
<string name="lang_ber">Berber</string>
@ -2587,9 +2588,9 @@ Abasta l\'àrea: %1$s x %2$s</string>
<string name="choose_navigation_type">Escolliu el perfil de navegació</string>
<string name="add_route_points">Afegeix punts de la ruta</string>
<string name="add_line">Afegeix una línia</string>
<string name="empty_state_my_tracks">Afegeix i enregistra traces</string>
<string name="empty_state_my_tracks">Afegiu i enregistreu traces</string>
<string name="empty_state_my_tracks_desc">Enregistra o importa traces per veure.</string>
<string name="empty_state_favourites">Afegeix als preferits</string>
<string name="empty_state_favourites">Afegiu als preferits</string>
<string name="empty_state_favourites_desc">Afegiu preferits al mapa o importeu-los.</string>
<string name="import_track">Importa traça</string>
<string name="import_track_desc">El fitxer %1$s no conté fites, voleu importar-lo com una traça?</string>
@ -2723,8 +2724,16 @@ Abasta l\'àrea: %1$s x %2$s</string>
<string name="by_date">Per data</string>
<string name="by_type">Per tipus</string>
<string name="modify_the_search_query">Modifica la consulta de cerca.</string>
<string name="release_3_0">\\022
\n
<string name="release_3_0">\\022 Nou menú Viatge: consulta articles de Viquiviatges sense internet
\n
\n• Viquipèdia: nova imatge, enllaços actius, imatges
\n
\n• IU de rutes Open Track: mostra grups de fites
\n
\n• Marcadors de mapa: importa determinats grups dels fitxers GPX, nou aspecte de l\'introducció de coordenades
\n
\n• La subscripció OsmAnd Live ara inclou totes les característiques d\'OsmAnd
\n
\n</string>
<string name="one_tap_active">S\'activa amb un toc</string>
<string name="what_is_here">El que hi ha aquí:</string>
@ -2811,7 +2820,7 @@ Abasta l\'àrea: %1$s x %2$s</string>
<string name="south_abbreviation">S</string>
<string name="north_abbreviation">N</string>
<string name="optional_point_name">"Nom opcional del punt "</string>
<string name="transport_nearby_routes_within">Rutes properes a</string>
<string name="transport_nearby_routes_within">Rutes prou properes</string>
<string name="transport_nearby_routes">A prop</string>
<string name="enter_the_file_name">Introduïu el nom del fitxer.</string>
<string name="map_import_error">Error d\'importació del mapa</string>
@ -2843,7 +2852,7 @@ Abasta l\'àrea: %1$s x %2$s</string>
<string name="images_cache">Memòria cau d\'imatges</string>
<string name="delete_search_history">Esborra l\'historial de cerca</string>
<string name="download_images">Mostra les imatges</string>
<string name="download_maps_travel">Mapes de viatge</string>
<string name="download_maps_travel">Guies de viatge</string>
<string name="article_removed">Article esborrat</string>
<string name="purchase_dialog_title">Seleccioneu un pla</string>
<string name="purchase_dialog_travel_description">Compreu un dels elements següents per llegir articles de viatge sense connexió:</string>
@ -2908,4 +2917,10 @@ Abasta l\'àrea: %1$s x %2$s</string>
<string name="wiki_article_search_text">Buscant el corresponent article a la wiki</string>
<string name="shared_string_bookmark">Adreça d\'interès</string>
<string name="off_road_render_descr">Dissenyat per un ús alternatiu en conducció. Pensat per posar imatges de satèl·lit com un mapa de fons. Principals característiques: gruix reduit de les carreteres principals, augment del gruix de pistes, camins, vies ciclistes i altres vies. Basat en l\'estil Topo.</string>
<string name="topo_render_descr">Estil contrastat dissenyat principalment per senderisme, excursionisme i ciclisme de natura. Força llegible amb il·luminació ambient extrema. Principals característiques: Contrast de vies i objectes naturals, diferents tipus de rutes, corbes de nivell amb configuració avançada, més detallat que l\'estil normal i ajustat al nivell de zoom. L\'opció d\'integritat de superfície permet distingir el tipus de superfície de la via. No hi ha mode nocturn.</string>
<string name="mapnik_render_descr">Estil de renderitzat per defecte de l\'antic \'Mapnik\'. Principals característiques: colors semblants als de l\'estil \'Mapnik\'.</string>
<string name="touring_view_render_descr">Estil molt detallat per fer turisme. Inclou totes les opcions de configuració de l\'estil per defecte, afegint: Pantalles amb el màxim detall, en particular totes les carreteres, camins, i altres maneres de viatjar. Distinció visual clara entre tots els tipus diferents de via, semblant al de molts atles de viatge. Paleta de colors d\'alt contrast per utilitzar a l\'exterior, mode diürn i nocturn.</string>
<string name="default_render_descr">Estil de propòsit general. Renderitzat simplificat i més clar dins les ciutats densament poblades. Principals característiques: Corbes de nivell, vies, tipus de superfície, restriccions d\'accés, codis de les carreteres, camins representats segons l\'escala de SAC, característiques per esports aquàtics.</string>
<string name="access_intermediate_arrival_time">Temps de pas</string>
<string name="map_widget_intermediate_time">Temps de pas</string>
</resources>

View file

@ -1839,7 +1839,7 @@
<string name="empty_state_av_notes">Κρατήστε σημειώσεις!</string>
<string name="empty_state_av_notes_desc">Προσθήκη ήχου, βίντεο ή σημείωση φωτογραφίας για κάθε σημείο στο χάρτη, χρησιμοποιώντας το widget ή το συναφές μενού.</string>
<string name="notes_by_date">Σημειώσεις κατά ημερομηνία</string>
<string name="download_maps_travel">Ταξιδιωτικοί χάρτες</string>
<string name="download_maps_travel">Ταξιδιωτικοί οδηγοί</string>
<string name="article_removed">Το άρθρο αφαιρέθηκε</string>
<string name="wikivoyage_search_hint">Αναζήτηση: Χώρα, πόλη, επαρχία</string>
<string name="shared_string_read">Ανάγνωση</string>
@ -2129,7 +2129,7 @@
<string name="points_delete_multiple_succesful">Διαγράφηκαν σημεία.</string>
<string name="points_delete_multiple">Πρόκειται να διαγράψετε %1$d σημεία. Είσαστε σίγουρος;</string>
<string name="route_points_category_name">Στροφές για προσπέραση σε αυτό το δρομολόγιο</string>
<string name="track_points_category_name">Σημαντικά σημεία σε αυτό το δρομολόγιο</string>
<string name="track_points_category_name">Σημεία διαδρομής, σημεία ενδιαφέροντος, επώνυμα χαρακτηριστικά</string>
<string name="gpx_track">Ίχνος</string>
<string name="max_speed">Μέγιστη ταχύτητα</string>
<string name="average_speed">Μέση ταχύτητα</string>
@ -3152,4 +3152,6 @@
<string name="shared_string_bookmark">Σελιδοδείκτης</string>
<string name="off_road_render_descr">Κατάλληλο για χρήση κατά την οδήγηση εκτός δρόμου. Κατάλληλο για χρήση με πράσινες εικόνες δορυφόρου ως χάρτης υποστρώματος. Βασικά σημεία: μειωμένο πάχος κύριου δρόμου, αυξημένο πάχος ιχνών, διαδρομών, ποδηλάτων και άλλων διαδρομών. Βασισμένο σε μορφή \'τοπογραφική\'.</string>
<string name="touring_view_render_descr">Μορφή υψηλών λεπτομερειών για τουριστικούς σκοπούς. Περιλαμβάνει όλες τις επιλογές διαμόρφωσης της προεπιλεγμένης μορφής και επιπλέον: Εμφανίζει τη μεγαλύτερη δυνατή λεπτομέρεια, ιδιαίτερα σε δρόμους, διαδρομές και άλλους τρόπους ταξιδιού. Καθαρή οπτική διάκριση μεταξύ όλων των διαφορετικών τύπων δρόμου, που θυμίζει πολλούς τουριστικούς άτλαντες. Χρωματικός συνδυασμός υψηλής αντίθεσης για εξωτερική χρήση, κατάσταση μέρας και νύχτας.</string>
<string name="access_intermediate_arrival_time">Ενδιάμεσος χρόνος άφιξης</string>
<string name="map_widget_intermediate_time">Ενδιάμεσος χρόνος</string>
</resources>

View file

@ -3861,4 +3861,8 @@
<string name="poi_checkpoint_type_stamp">stampilo</string>
<string name="poi_checkpoint_type_code">kodo</string>
<string name="poi_checkpoint_type_notebook">memorkajero</string>
</resources>
<string name="poi_checkpoint_type_quize">demandaro</string>
<string name="poi_checkpoint_type_electronic">elektronika ilo</string>
<string name="poi_course">Ekskurso</string>
</resources>

View file

@ -3257,4 +3257,6 @@
<string name="shared_string_bookmark">نشانک</string>
<string name="off_road_render_descr">مناسب رانندگی برون‌جاده‌ای (آفرود). بهتر است با زیرلایهٔ سبزرنگ از تصاویر ماهواره‌ای استفاده شود.
\nویژگیهای اصلی: ضخامت کمتر برای راه‌های اصلی. ضخامت بیشتر برای trackها، pathها، مسیرهای دوچرخه و سایر مسیرها. بر پایهٔ سبک Topo است.</string>
<string name="access_intermediate_arrival_time">زمان متوسط رسیدن</string>
<string name="map_widget_intermediate_time">زمان متوسط</string>
</resources>

View file

@ -3153,4 +3153,6 @@
<string name="shared_string_bookmark">סימנייה</string>
<string name="off_road_render_descr">מתאים לנהיגת שטח. מתאים לשימוש עם תמונות לוויין ירוקות כמפה בשכבה שמתחת. נקודות מפתח: דרכים ראשיות צרות יותר, המסלולים, דרכי הגישה, מסלולי האופניים ודרכים נוספות עבים יותר.</string>
<string name="touring_view_render_descr">סגנון פירוט מדויק לטובת תיירות. כולל את כל אפשרויות התצוגה של בררת המחדל, בנוסף: מציג כמה שיותר פרטים ככל הניתן, במיוחד את כל הדרכים, השבילים ודרכי טיול נוספות. הבחנה חזותית ברורה בין כל סוגי הדרכים השונים, העלאת זכרונות בתצורת אטלסים לתיירות. ערכת צבעים בניגודיות גבוהה לשימוש בחוץ לצד מצבי יום ולילה.</string>
<string name="access_intermediate_arrival_time">זמן הגעה לנקודת ביניים</string>
<string name="map_widget_intermediate_time">זמן ביניים</string>
</resources>

View file

@ -251,7 +251,7 @@
<string name="online_photos">Առցանց լուսանկարներ</string>
<string name="shared_string_add_photos">Ավելացնել լուսանկարներ</string>
<string name="no_photos_descr">Այս վայրի համար լուսանկարներ չունենք։</string>
<string name="mapillary_action_descr">Նպաստել այս դիրքի համար ձեր սեփական փողոցային դիտարկումներով Mapillary- ի միջոցով:</string>
<string name="mapillary_action_descr">Նպաստել այս դիրքի համար ձեր սեփական փողոցային դիտարկումներով Mapillary-ի միջոցով:</string>
<string name="mapillary_widget">Mapillary վիջեթը</string>
<string name="mapillary_widget_descr">Թույլ է տալիս արագորեն նպաստել Mapillary-ին։</string>
<string name="mapillary_descr">Առցանց փողոցային նկարներ բոլորի համար: Բացահայտեք վայրերը, համագործակցեք, նկարեք աշխարհը:</string>
@ -332,7 +332,7 @@
<string name="add_new_folder">Ավելացնել նոր թղթապանակ</string>
<string name="points_delete_multiple_succesful">Կետ(եր)ը ջնջված է:</string>
<string name="points_delete_multiple">Դուք մտադիր եք ջնջել կետ(եր)ը: Համոզված եք?</string>
<string name="track_points_category_name">Հայտնի կետեր այս երթուղու վրա</string>
<string name="track_points_category_name">Ճանապարհային կետեր, POI, հատկանիշներ</string>
<string name="gpx_track">Տրեկ</string>
<string name="max_speed">Առավելագույն արագություն</string>
<string name="average_speed">Միջին արագությունը</string>
@ -427,7 +427,7 @@
<string name="storage_free_space">Ազատ տեղ</string>
<string name="storage_place_description">OsmAnd-ը կպահպանի տվյալները (քարտեզներ, երթուղիներ և այլն) %1$s։</string>
<string name="give_permission">Տալ թույլտվություն</string>
<string name="animate_my_location_desc">"Միացնել Իմ Դիրքի անիմացումը քարտեզի համայնապատկերում նավիգացիայի ժամանակ։"</string>
<string name="animate_my_location_desc">"Միացնել \"Իմ Դիրքի\" անիմացումը քարտեզի համայնապատկերում նավիգացիայի ժամանակ։"</string>
<string name="index_item_depth_points_southern_hemisphere">Ծովային խորության կետերը հարավային կիսագնդում</string>
<string name="index_item_depth_points_northern_hemisphere">Ծովային խորության կետերը հյուսիսային կիսագնդում</string>
<string name="do_not_send_anonymous_app_usage_desc">OsmAnd հավաքում է միայն այն տեղեկատվությունները, որոնք վերաբերվում են հավելվածին օգտագործման։ Ձեր գտնվելու վայրը երբեք չի ուղարկվի, ոչ էլ այն, ինչ դուք մուտք եք գործել հավեվածում կամ ձեր դիտած, որոնման և ներբեռնելու տարածքների մանրամասները:</string>
@ -488,7 +488,7 @@
<string name="access_no_destination">Նպատակակետը սահմանված չէ</string>
<string name="map_widget_magnetic_bearing">Մագնիսական կրող</string>
<string name="access_disable_offroute_recalc">Երթուղին դադարեցնելուց հետո երթուղու վերահաշվարկ չի կատարվում</string>
<string name="access_disable_offroute_recalc_descr">Կանխել երթուղու ավտոմատ վերահաշվարկը երթուղին դադարեցնելուց հետո։</string>
<string name="access_disable_offroute_recalc_descr">Կանխել երթուղու վերահաշվարկը երթուղուց շեղվելու դեպքում։</string>
<string name="access_disable_wrong_direction_recalc">Չվերահաշվարկել երթուղին հակառակ ուղղության համար</string>
<string name="access_disable_wrong_direction_recalc_descr">Կանխել երթուղու ավտոմատ վերահաշվարկը հակառակ ողղությամբ շարժվելու ժամանակ։</string>
<string name="access_smart_autoannounce">Smart ավտո-հայտարարում</string>
@ -504,7 +504,7 @@
<string name="access_hint_enter_name">Մուտքագրեք անուն</string>
<string name="access_hint_enter_category">Մուտքագրեք կատեգորիան</string>
<string name="access_hint_enter_description">Մուտքագրեք նկարագրություն:</string>
<string name="access_map_linked_to_location">Քարտեզը կապված է գտնվելու վայրի հետ</string>
<string name="access_map_linked_to_location">"Քարտեզ կցված է գտնվելու վայրին"</string>
<string name="access_collapsed_list">Փակել ցանկը</string>
<string name="access_expanded_list">Ընդլայնված ցուցակ</string>
<string name="access_empty_list">Դատարկ ցուցակ</string>
@ -522,10 +522,10 @@
<string name="no_map_markers_found">Խնդրում ենք ավելացնել մարկերներ քարտեզի վրա</string>
<string name="no_waypoints_found">Ոչ մի ճանապարհային նշան չի գտնվել</string>
<string name="anonymous_user_hint">Անանուն օգտվողը չի կարող՝
\n-ստեղծել խմբեր;
\n-խմբերի և սարքերի համաժամեցում սերվերի հետ;
\n-կառավարել խմբերը և սարքերը անձնական էջում:</string>
<string name="anonymous_user_hint">Անանուն օգտվողը չի կարող՝
\n-Ստեղծել խմբեր;
\n-Խմբերի և սարքերի համաժամեցում սերվերի հետ;
\n-Կառավարել խմբերը և սարքերը անձնական էջում:</string>
<string name="report">Հաշվետվությունում</string>
@ -538,9 +538,9 @@
<string name="storage_permission_restart_is_required">"Այժմ ծրագիրը իրավունք ունի մուտթագրել տվյալներ արտաքին պահեստավորման սարքի վրա։ Պահանջվում է վերագործարկել ծրագիրը."</string>
<string name="shared_string_move_up">Տեղափոխել վերև</string>
<string name="shared_string_move_down">Տեղափոխել ներքև</string>
<string name="storage_permission_restart_is_required">"Այժմ ծրագիրը իրավունք ունի մուտթագրել տվյալներ արտաքին պահեստավորման սարքի վրա։ Պահանջվում է վերագործարկել ծրագիրը։"</string>
<string name="shared_string_move_up">Տեղափոխել </string>
<string name="shared_string_move_down">Տեղափոխել </string>
<string name="finish_navigation">"Ավարտել նավարկությունը"</string>
<string name="avoid_road">Խուսափել ճանապարհներից</string>
<string name="storage_directory_readonly_desc">Տվյալների պահպանման համար ընտրված թղթապանակը միայն կարդալու է: Փոխարենը ժամանակավորապես կկիրառվի ներքին հիշողությունը: Խնդրում ենք ընտրել համապատասխան պահպանման վայր:</string>

View file

@ -3124,4 +3124,6 @@
<string name="shared_string_bookmark">Bokmerk</string>
<string name="off_road_render_descr">Nytt for bruk under villmarkskjøring. Nyttig for bruk med grønne satellittbilder som underlagskart. Nøkkelpunkter: Redusert tykkelse for hovedveier, økt tykkelse for småveier, stier, sykkel- og andre -ruter.
\nBasert på Topo-stil.</string>
<string name="access_intermediate_arrival_time">Mellomliggende ankomsttid</string>
<string name="map_widget_intermediate_time">Mellomliggende tid</string>
</resources>

View file

@ -2442,7 +2442,7 @@ Długość %2$s</string>
\n
\n i więcej…</string>
<string name="trip_rec_notification_settings">Aktywuj szybkie rejestrowanie</string>
<string name="trip_rec_notification_settings_desc">Wyświetl powiadomienie systemowe z opcją rozpoczęcia rejestrowania śladu.</string>
<string name="trip_rec_notification_settings_desc">Wyświetl powiadomienie systemowe z opcję rozpoczęcia rejestrowania śladu.</string>
<string name="shared_string_notifications">Powiadomienia</string>
@ -2720,7 +2720,7 @@ Reprezentuje obszar: %1$s x %2$s</string>
<string name="mapillary_widget_descr">Pozwala na szybkie udostępnianie do Mapillary.</string>
<string name="mapillary_descr">Udostępnia zdjęcia w widoku ulicznym. Pozwala na odkrywanie miejsc, współpracę nad uchwyceniem świata.</string>
<string name="online_photos">Zdjęcia w sieci</string>
<string name="no_photos_descr">Nie ma zdjęć tego położenia.</string>
<string name="no_photos_descr">Nie ma zdjęć dla tego położenia.</string>
<string name="plugin_mapillary_descr">Udostępnia zdjęcia w widoku ulicznym. Pozwala na odkrywanie miejsc, współpracę nad uchwyceniem świata.</string>
<string name="shared_string_install">Zainstaluj</string>
<string name="improve_coverage_mapillary">Zwiększ pokrycie zdjęć Mapillary</string>
@ -2742,7 +2742,7 @@ Reprezentuje obszar: %1$s x %2$s</string>
<string name="mapillary_menu_descr_dates">Wyświetl tylko dodane obrazy</string>
<string name="mapillary_menu_edit_text_hint">Proszę wprowadzić nazwę użytkownika</string>
<string name="mapillary_menu_filter_description">Można filtrować obrazy według nazwy użytkownika lub daty. Filtry mają zastosowanie dla większych przybliżeń.</string>
<string name="mapillary_menu_descr_username">"Wyświetla obrazy dodane przez "</string>
<string name="mapillary_menu_descr_username">Wyświetl obrazy dodane tylko przez</string>
<string name="store_tracks_in_monthly_directories">Ślady w miesięcznych katalogach</string>
<string name="store_tracks_in_monthly_directories_descrp">Przechowuje zarejestrowane ślady w podkatalogach odpowiadającym miesiącom (np. 2018-01).</string>
<string name="shared_string_reset">Wyczyść</string>
@ -2829,7 +2829,7 @@ Reprezentuje obszar: %1$s x %2$s</string>
<string name="marker_moved_to_active">Znacznik mapy przeniesiono do aktywnych</string>
<string name="shared_string_list">Lista</string>
<string name="shared_string_groups">Grupy</string>
<string name="passed">Ostatnio użyty: %1$s</string>
<string name="passed">Ostatnio użyte: %1$s</string>
<string name="make_active">Uaktywnij</string>
<string name="today">Dzisiaj</string>
<string name="yesterday">Wczoraj</string>
@ -2844,14 +2844,14 @@ Reprezentuje obszar: %1$s x %2$s</string>
<string name="order_by">Porządkowanie według:</string>
<string name="show_guide_line">Pokaż linie przewodnie</string>
<string name="show_arrows_on_the_map">Strzałki na mapie</string>
<string name="show_passed">Wyświetl datę</string>
<string name="hide_passed">Ukryj datę</string>
<string name="show_passed">Wyświetl ominięte</string>
<string name="hide_passed">Ukryj ominięte</string>
<string name="coordinate_input">Wprowadź współrzędne</string>
<string name="shared_string_markers">Znaczniki</string>
<string name="coordinates_format">Format współrzędnych</string>
<string name="fast_coordinates_input_descr">Proszę wybrać format współrzędnych. Zawsze można go zmienić za naciskając \"Opcje\".</string>
<string name="routing_attr_avoid_ice_roads_fords_name">Omijanie lodowych dróg i brodów</string>
<string name="routing_attr_avoid_ice_roads_fords_description">Omija lodowe drogi i brody.</string>
<string name="routing_attr_avoid_ice_roads_fords_description">Omijaj drogi lodowe i brody.</string>
<string name="use_location">Użyj położenia</string>
<string name="my_location">Aktualne położenie</string>
<string name="shared_string_finish">Koniec trasy</string>
@ -3075,9 +3075,9 @@ Reprezentuje obszar: %1$s x %2$s</string>
<string name="popular_destinations">Popularne cele podróży</string>
<string name="paid_app">Aplikacja płatna</string>
<string name="paid_plugin">Wtyczka płatna</string>
<string name="travel_card_update_descr">Dostępne są nowe dane Wikipodróży, zaktualizuj je, aby cieszyć się nimi.</string>
<string name="travel_card_update_descr">Dostępne są nowe dane Wikipodróży. Proszę je uaktualnić, aby z nich korzystać.</string>
<string name="travel_card_download_descr">Pobierz te przewodniki podróży Wikipodróże, aby wyświetlić artykuły o miejscach na całym świecie bez połączenia z Internetem.</string>
<string name="update_is_available">Aktualizacja jest dostępna</string>
<string name="update_is_available">Dostępne uaktualnienie</string>
<string name="download_file">Pobierz plik</string>
<string name="start_editing_card_image_text">Bezpłatny przewodnik po świecie, który każdy może edytować.</string>
<string name="welcome_to_open_beta_description">Podróże oparte są na Wikivoyage. Podczas otwartych beta-testów masz możliwość oceny wszystkich funkcji za darmo. Po zakończeniu okresu beta, Podróże będą dostępne dla subskrybentów OsmAnd Unlimited oraz posiadaczy OsmAnd+</string>
@ -3138,7 +3138,13 @@ Reprezentuje obszar: %1$s x %2$s</string>
<string name="purchase_cancelled_dialog_title">Anulowano subskrypcję OsmAnd Live</string>
<string name="purchase_cancelled_dialog_descr">Proszę przedłużyć subskrypcję, aby kontynuować korzystanie z wszystkich funkcji:</string>
<string name="maps_you_need_descr">Na podstawie zapisanych artykułów, zalecamy pobranie poniższych map:</string>
<string name="maps_you_need">Mapy, które potrzebujesz</string>
<string name="maps_you_need_descr">Zalecamy pobranie poniższych map, na podstawie zapisanych artykułów:</string>
<string name="maps_you_need">Potrzebne mapy</string>
<string name="osmand_team">Zespół OsmAnd</string>
<string name="download_all">Pobierz wszystkie</string>
<string name="shared_string_bookmark">Zakładka</string>
<string name="hide_full_description">Ukryj pełny opis</string>
<string name="show_full_description">Wyświetl pełny opis</string>
<string name="open_wikipedia_link_online_description">Odnośnik zostanie otwarty w przeglądarce internetowej.</string>
<string name="how_to_open_link">Jak otwierać odnośniki?</string>
</resources>

View file

@ -784,7 +784,7 @@ Pôr do Sol: %2$s</string>
<string name="layer_recordings">Camada de gravação</string>
<string name="recording_can_not_be_played">Gravação não pode ser reproduzida</string>
<string name="recording_context_menu_delete">Apagar gravação</string>
<string name="recording_context_menu_play">Ouvir</string>
<string name="recording_context_menu_play">Tocar</string>
<string name="recording_description">Gravando %1$s %3$s %2$s</string>
<string name="recording_default_name">Gravando</string>
<string name="map_widget_av_notes">Notas de áudio/vídeo</string>

View file

@ -3809,4 +3809,8 @@
<string name="poi_checkpoint_type_electronic">Электронный</string>
<string name="poi_course">Маршрут</string>
<string name="poi_rock">Камень</string>
<string name="poi_end_date">Дата закрытия</string>
</resources>

View file

@ -2909,7 +2909,7 @@ Vänligen tillhandahåll fullständig kod</string>
<string name="rendering_attr_whiteWaterSports_name">Forsränning</string>
<string name="osmand_extended_description_part8">OsmAnd är open-source och är utvecklas aktivt. Alla kan bidra till programmet genom att rapportera buggar, förbättra översättningar eller programmera nya funktioner. Projektet är i ett dynamiskt tillstånd av kontinuerlig förbättring av alla dessa former genom utvecklare och interaktion med användare. Projektet är också beroende av ekonomiska bidrag för att finansiera kodning och testning av nya funktioner. Ungefärlig karttäckning och kvalitet: • Västeuropa: **** • Östeuropa: *** • Ryssland: *** • Nordamerika: *** • Sydamerika: ** • Asien: ** • Japan &amp; Korea: *** • Mellanöstern: ** • Afrika: ** • Antarktis: * De flesta länder runt om i världen finns tillgängliga för nedladdning! Få en tillförlitlig navigator i ditt land - det kan vara Tyskland, Frankrike, Mexiko, Storbritannien, Spanien, Nederländerna, USA, Ryssland, Brasilien eller något annat.</string>
<string name="osmand_plus_long_description_1000_chars">OsmAnd+ (OSM Automated Navigation Directions) OsmAnd+ är ett open source-navigationsprogram med tillgång till ett brett utbud av global OpenStreetMap(OSM)-data. Alla kartdata (vektor- eller rasterkartor) kan sparas på telefonens minneskort för användning offline. OsmAnd erbjuder även offline och online-ruttunktioner, inklusive turn-by-turn röstguidning. OsmAnd+ är den betalda appversionen, genom att köpa det stödjer du projektet, finansierar utveckling av nya funktioner, och får de senaste uppdateringarna. Några av de centrala funktionerna: - Komplett offline-funktionalitet (spara vektor- eller rasterkartor i enhetens lagring) - Kompakta offline vektorkartor för hela världen finns tillgängliga - Obegränsad nedladdning av land- eller regionkartor direkt från appen - Offline Wikipedia-artiklar (ladda ner Wikipedia POI), utmärkt för sightseeing - Överlagring av flera kartskikt är möjligt, som GPX eller navigeringsspår, Punkter av Intresse, favoriter, höjdkurvor, hållplatser för kollektivtrafiken, fler kartor med anpassningsbar genomskinlighet- Offlinesökning efter adresser och intressepunkter (POI) - Offline routing för mediumdistansavstånd - Bil-, cykel- och fotgängarelägen med: - tillval automatiskt byte av dag/nattläge - valfri hastighetsbunden kartzoom - valfri kartjustering enligt kompass eller riktning - som tillval körfältsguide, hastighetsgräns visas, inspelade- och TTS-röster</string>
<string name="nothing_found_in_radius">Vi kunde inte hitta något i radien:</string>
<string name="nothing_found_in_radius">Kunde inte hitta något inom:</string>
<string name="select_waypoints_category_description">Du kan lägga till alla spårens vägpunkter, eller välj separata kategorier.</string>
<string name="shared_string_total">Totalt</string>
<string name="osmand_plus_extended_description_part1">OsmAnd+ (OSM Automated Navigation Directions) är en kartnavigationsapp med tillgång till gratis världsomfattande och högkvalitativa OpenStreetMap(OSM)-data. Njut av röst- och visuell navigation, visning av POI(points of interest - intressepunkter), att skapa och hantera GPX-spår, se höjdkurvor och höjdinfo, välja mellan bil-cykel- och fotgängarlägen, OSM-redigering och mycket mer. OsmAnd+ är en betald version av appen. Genom att köpa den, stödjer du projektet, finansierar utveckling av nya funktioner, och får de senaste uppdateringarna. Några av de viktigaste funktionerna:</string>
@ -2935,13 +2935,163 @@ Vänligen tillhandahåll fullständig kod</string>
<string name="quick_action_showhide_poi_descr">Knackning på åtgärdsknappen visar eller döljer Intressepunkter på kartan.</string>
<string name="quick_action_fav_name_descr">Lämna tomt för att automatiskt använda adressen eller platsens namn.</string>
<string name="show_tunnels">Tunnlar</string>
<string name="wikivoyage_search_hint">Sök: Land, Stad, Region</string>
<string name="wikivoyage_search_hint">Sök: Land, stad, region</string>
<string name="shared_string_read">Läs</string>
<string name="saved_articles">Sparade artiklar</string>
<string name="saved_articles">Bokmärkta artiklar</string>
<string name="shared_string_explore">Utforska</string>
<string name="shared_string_result">Resultat</string>
<string name="use_two_digits_longitude">Använd två siffror longitud</string>
<string name="use_two_digits_longitude">Använd tvåsiffrig longitud</string>
<string name="shared_string_travel">Resor</string>
<string name="waypoints_removed_from_map_markers">Waypoints tas bort från kartmarkörer</string>
<string name="total_donations">Donationer totalt</string>
</resources>
<string name="shared_string_bookmark">Bokmärke</string>
<string name="hide_full_description">Dölj fullständig beskrivning</string>
<string name="show_full_description">Visa fullständig beskrivning</string>
<string name="off_road_render_descr">Lämplig för användning vid off-road körning. Lämplig för användning med gröna satellitbilder som ett underlagskarta. Viktiga egenskaper: minskad tjocklek på stora vägar, ökad tjocklek av spår, stigar, cykelvägar och andra stigar. Baserat på \'Topo\' stil.</string>
<string name="nautical_render_descr">Nautisk navigeringsstil. Viktiga funktioner: bojar, fyrar, vattendrag, farleder och märken, hamnar, sjömärken, djupkonturer.</string>
<string name="ski_map_render_descr">Skidåkningsstil. Viktiga funktioner: Renderar pister, skidliftar och andra skidanläggningar på ett bekvämt sätt. Mindre distraherande sekundära kartobjekt.</string>
<string name="light_rs_render_descr">Enkel och kontrastrik stil för navigering med bil. Skonsam mot ögonen under natten. Viktiga funktioner: höjdkurvor, kontrastrik orange stil på vägar, mindre störande sekundära kartobjekt.</string>
<string name="topo_render_descr">Kontraststil utformad främst för vandring, trekking och cykling i naturen. Bra läsbarhet vid komplex extern belysning. Viktiga funktioner: kontrastrika vägar och naturliga objekt, olika typer av rutter, höjdkurvor med avancerade inställningar för mer detaljer på motsvarande zoomnivåer än standard. Ytläge-alternativet kan skilja vägens ytkvalitet. Inget nattläge.</string>
<string name="mapnik_render_descr">Gamla \"Mapnik\'-stil standardrendering. Viktiga funktioner: Färger som liknar \"Mapnik\" stil.</string>
<string name="touring_view_render_descr">Högsdetaljsstil för touringändamål. Innehåller alla inställningar av standardstilen, men även: Visar så mycket information som möjligt, i synnerhet alla vägar, stigar och andra sätt att resa. Tydliga visuella skillnader mellan olika vägtyper, påminnande av många atlaser. Högkontrastfärger för användning utomhus, dag- och nattläge.</string>
<string name="default_render_descr">Stil för allmänna ändamål. Förenklad återgivning i tätbefolkade städer. Viktiga funktioner: höjdkurvor, rutter, ytkvalitet, tillträdeskontroll, farthinder, stigrendering enligt SAC-skala, vattensporter.</string>
<string name="open_wikipedia_link_online">Öppna Wikipedia-länk på nätet</string>
<string name="open_wikipedia_link_online_description">Länken kommer att öppnas i en webbläsare.</string>
<string name="read_wikipedia_offline_description">Skaffa OsmAnd Live-prenumeration för att läsa Wikipedia och Wikipedia-artiklar offline.</string>
<string name="how_to_open_link">Hur man öppnar länken?</string>
<string name="read_wikipedia_offline">Läs Wikipedia offline</string>
<string name="download_all">Ladda ner alla</string>
<string name="shared_string_restart">Starta om</string>
<string name="show_images">Visa bilder</string>
<string name="purchase_cancelled_dialog_title">Du har annullerat ditt OsmAnd Live-abonnemang</string>
<string name="purchase_cancelled_dialog_descr">Förnya abonnemanget för att fortsätta använda alla funktioner:</string>
<string name="maps_you_need_descr">Baserat på de artiklar som du bokmärkt, följande kartor rekommenderas för dig att ladda ner:</string>
<string name="maps_you_need">Kartor du behöver</string>
<string name="osmand_team">OsmAnd team</string>
<string name="popular_destinations">Populära destinationer</string>
<string name="paid_app">Betald app</string>
<string name="paid_plugin">Betald plugin</string>
<string name="travel_card_update_descr">Nya Wikivoyage-data tillgängliga, uppdatera för att njuta.</string>
<string name="travel_card_download_descr">Ladda ner dessa Wikivoyage-reseguider för att visa artiklar om platser runt om i världen utan en internetanslutning.</string>
<string name="update_is_available">Uppdatering tillgänglig</string>
<string name="download_file">Ladda ned fil</string>
<string name="start_editing_card_image_text">Den fria, världsomspännande reseguiden som alla kan redigera.</string>
<string name="welcome_to_open_beta_description">Resor är baserade på Wikivoyage. Testa alla funktioner under öppnen beta-testning gratis. Efteråt kommer resor att vara tillgängliga för prenumeranter av OsmAnd Obegränsad och ägare av OsmAnd+</string>
<string name="start_editing_card_description">Du kan och borde redigera en artikel på Wikivoyage. Dela med sig av kunskap, erfarenhet, talang och din kännedom</string>
<string name="start_editing">Börja redigera</string>
<string name="get_unlimited_access">Få obegränsad tillgång</string>
<string name="welcome_to_open_beta">Välkommen till öppen beta</string>
<string name="travel_guide">Reseguiden Wikivoyage</string>
<string name="travel_guide_description">Guider till de mest intressanta platserna i världen, inuti OsmAnd, utan en internetanslutning.</string>
<string name="monthly_map_updates">Kartuppdateringar: <b>Varje månad</b></string>
<string name="daily_map_updates">Kartuppdateringar: <b>Varje timme</b></string>
<string name="in_app_purchase">Köp i app</string>
<string name="in_app_purchase_desc">Engångsbetalning</string>
<string name="in_app_purchase_desc_ex">När det väl är köpt, blir det permanent tillgängligt för dig.</string>
<string name="purchase_unlim_title">Köp - %1$s</string>
<string name="purchase_subscription_title">Prenumerera - %1$s</string>
<string name="wikivoyage_offline">Wikivoyage offline</string>
<string name="unlimited_downloads">Obegränsat antal nedladdningar</string>
<string name="wikipedia_offline">Wikipedia offline</string>
<string name="contour_lines_hillshade_maps">Höjdkurvor &amp; höjdreliefer</string>
<string name="unlock_all_features">Låsa upp alla OsmAnd-funktioner</string>
<string name="purchase_dialog_title">Välj abonnemang</string>
<string name="purchase_dialog_travel_description">Köp något av följande för att läsa researtiklar offline:</string>
<string name="purchase_dialog_subtitle">Välj lämpligt val:</string>
<string name="shared_string_dont">Gör inte</string>
<string name="shared_string_do">Gör</string>
<string name="shared_string_only_with_wifi">Endast på Wi-Fi</string>
<string name="wikivoyage_download_pics">Hämta bilder</string>
<string name="wikivoyage_download_pics_descr">Bilder från artiklar kan laddas ner för användning offline.
\nDu kan alltid ändra inställningen i \"Utforska\" → \"Alternativ\".</string>
<string name="shared_string_wifi_only">Endast på Wi-Fi</string>
<string name="select_travel_book">Välj resebok</string>
<string name="shared_string_travel_book">Resebok</string>
<string name="online_webpage_warning">Sidan endast tillgänglig online. Öppna i webbläsare?</string>
<string name="images_cache">Bildcache</string>
<string name="delete_search_history">Ta bort sökhistorik</string>
<string name="download_images">Visa bilder</string>
<string name="download_maps_travel">Reseguider</string>
<string name="shared_string_wikivoyage">Wikivoyage</string>
<string name="article_removed">Artikeln borttagen</string>
<string name="shared_string_contents">Innehåll</string>
<string name="index_item_world_wikivoyage">Världsomspännande Wikivoyage-artiklar</string>
<string name="access_intermediate_arrival_time">Mellanliggande ankomsttid</string>
<string name="map_widget_intermediate_time">Mellanliggande tid</string>
<string name="osmand_plus_extended_description_part4">Använda OSM-Data och Wikipedia
\n• Högkvalitetsinformation från de bästa samarbetsprojekten i världen
\n• OSM-data som är tillgängliga per land eller region
\n• Wikipedia Intressepunkter, perfekt för sightseeing
\n• Obegränsat antal gratis nedladdningar, direkt från appen
\n• Kompakt offline vektorkartor uppdateras minst en gång i månaden
\n
\n• Val mellan hela regionen data och bara vägnätet (Exempel: Hela Japan är 700 MB eller endast vägnätet för 200 MB)</string>
<string name="osmand_plus_extended_description_part5">Säkerhetsfunktioner • Valfri växling mellan dag-/nattläge • Valfri visning av hastighet, med en påminnelse om du överskrider den • Valfri hastighetsbaserad zoomning • Dela din position så att dina vänner kan hitta dig</string>
<string name="osmand_plus_extended_description_part6">Funktioner för cykel och gående • Se vägar för gående och cyklande samt vandringsstigar, utmärkta för utomhusaktiviteter • Speciella ruttval och visningsläge för cykel och gående • Valfria kollektivtrafiksplatser (buss, spårvagn, tåg) inklusive linjenamn • Valfri reseinspelning till lokal GPX-fil eller onlinetjänst • Valfri visning av hastighet och höjd • Visa konturlinjer och höjdreliefer (via separat plugin)</string>
<string name="osmand_plus_extended_description_part7">Bidra direkt till OSM
\n• Rapportera databuggar
\n• Ladda upp GPX-spår till OSM direkt från appen
\n• Lägg till Intressepunkter och ladda upp dem direkt till OSM (eller senare om offline)
\n• Valfri reseinspelning i bakgrundsläge (när enheten är i strömsparläge)
\nOsmAnd utvecklas aktivt med öppen källkod. Alla kan bidra till appen genom att rapportera buggar, förbättra översättningar eller koda nya funktioner. Dock är projektet beroende av ekonomiska bidrag för att finansiera kodning och testning av nya funktioner.
\n</string>
<string name="osmand_plus_extended_description_part8">Ungefärlig karttäckning och kvalitet:
\n• Västeuropa: ****
\n• Östreuropa: ***
\n• Ryssland: ***
\n• Nordamerika: ***
\n• Sydamerika: **
\n• Asien: **
\n• Japan &amp; Korea: ***
\n• Mellanöstern: **
\n• Afrika: **
\n• Antarktis: *
\nDe flesta länder runt om i världen finns som nedladdningar
\nFrån Afghanistan till Zimbabwe, från Australien till USA. Argentina, Brasilien, Kanada, Frankrike, Tyskland, Mexiko, Storbritannien, Spanien, ...
\n</string>
<string name="quick_action_bug_descr">Detta meddelande ingår i kommentarsfältet.</string>
<string name="quick_action_category_descr">Välj kategorin du vill spara favoriten i.</string>
<string name="quick_action_gpx_category_descr">Välj en valfri kategori.</string>
<string name="quick_action_poi_list">POI-lista</string>
<string name="quick_action_sh_poi_descr">Lägga till en eller flera POI-kategorier som ska visas på kartan.</string>
<string name="quick_action_map_style_action">Lägg till en kartstil</string>
<string name="quick_action_empty_param_error">Fyll i alla parametrar</string>
<string name="quick_action_map_styles">Kartstilar</string>
<string name="quick_action_map_overlay">Ändra kartöversikt</string>
<string name="mappilary_no_internet_desc">Du måste vara ansluten till Internet för att visa foton från Mapillary.</string>
<string name="add_route_points">Lägg till ruttpunkter</string>
<string name="add_waypoint">Lägg till vägpunkt</string>
<string name="add_line">Lägg till rad</string>
<string name="save_gpx_waypoint">Spara GPX-Waypoint</string>
<string name="save_route_point">Spara ruttpunkt</string>
<string name="waypoint_one">Vägpunkt 1</string>
<string name="route_point_one">Ruttpunkt 1</string>
<string name="empty_state_my_tracks">Lägg till och spela in spår</string>
<string name="empty_state_my_tracks_desc">Spela in eller importera spår för att visa.</string>
<string name="empty_state_favourites">Lägg Till Favoriter</string>
<string name="empty_state_favourites_desc">Importera eller markera favoriter på kartan.</string>
<string name="import_track">Importera spår</string>
<string name="import_track_desc">Filen %1$s innehåller inte vägpunkter, importera det som ett spår?</string>
<string name="move_point">Flytta punkt</string>
<string name="add_segment_to_the_track">Lägg till i ett GPX-spår</string>
<string name="osm_recipients_label">OSM-mottagare</string>
<string name="day_off_label">av</string>
<string name="winter_and_ski_renderer">Vinter och skidor</string>
<string name="touring_view_renderer">Touringvy</string>
<string name="nautical_renderer">Nautisk</string>
<string name="copy_location_name">Kopia punkt/POI namn</string>
<string name="toast_empty_name_error">Ej namngiven plats</string>
<string name="tunnel_warning">Tunnel framför</string>
<string name="download_wikipedia_description">Hämta Wikipedia-artiklar om %1$s för att läsa dem offline.</string>
<string name="download_wikipedia_label">Hämta Wikipedia-data</string>
<string name="open_in_browser_wiki">Öppna artikeln online</string>
<string name="open_in_browser_wiki_description">Visa artikeln i en webbläsare.</string>
<string name="download_wiki_region_placeholder">denna region</string>
<string name="wiki_article_search_text">Söka efter motsvarande wiki-artikel</string>
<string name="wiki_article_not_found">Artikeln hittades inte</string>
<string name="how_to_open_wiki_title">Hur man öppnar Wikipedia-artiklar?</string>
</resources>

View file

@ -3832,4 +3832,8 @@
<string name="poi_checkpoint_type_electronic">Electronic</string>
<string name="poi_course">Course</string>
<string name="poi_rock">Rock</string>
<string name="poi_end_date">End date</string>
</resources>

View file

@ -1,5 +1,6 @@
package net.osmand.plus.activities;
import android.app.Activity;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
@ -13,10 +14,13 @@ import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import net.osmand.AndroidUtils;
@ -66,26 +70,35 @@ public class EditFavoriteGroupDialogFragment extends MenuBottomSheetDialogFragme
.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog.Builder b = new AlertDialog.Builder(getContext());
b.setTitle(R.string.favorite_group_name);
final EditText nameEditText = new EditText(getContext());
nameEditText.setText(group.name);
b.setView(nameEditText);
b.setNegativeButton(R.string.shared_string_cancel, null);
b.setPositiveButton(R.string.shared_string_save, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String name = nameEditText.getText().toString();
boolean nameChanged = !Algorithms.objectEquals(group.name, name);
if (nameChanged) {
app.getFavorites()
.editFavouriteGroup(group, name, group.color, group.visible);
updateParentFragment();
Activity activity = getActivity();
if (activity != null) {
AlertDialog.Builder b = new AlertDialog.Builder(activity);
b.setTitle(R.string.favorite_group_name);
final EditText nameEditText = new EditText(activity);
nameEditText.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
nameEditText.setText(group.name);
LinearLayout container = new LinearLayout(activity);
int sidePadding = AndroidUtils.dpToPx(activity, 24f);
int topPadding = AndroidUtils.dpToPx(activity, 4f);
container.setPadding(sidePadding, topPadding, sidePadding, topPadding);
container.addView(nameEditText);
b.setView(container);
b.setNegativeButton(R.string.shared_string_cancel, null);
b.setPositiveButton(R.string.shared_string_save, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String name = nameEditText.getText().toString();
boolean nameChanged = !Algorithms.objectEquals(group.name, name);
if (nameChanged) {
app.getFavorites()
.editFavouriteGroup(group, name, group.color, group.visible);
updateParentFragment();
}
dismiss();
}
dismiss();
}
});
b.show();
});
b.show();
}
}
})
.create();
@ -102,35 +115,38 @@ public class EditFavoriteGroupDialogFragment extends MenuBottomSheetDialogFragme
.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final ListPopupWindow popup = new ListPopupWindow(getActivity());
popup.setAnchorView(changeColorView);
popup.setContentWidth(AndroidUtils.dpToPx(app, 200f));
popup.setModal(true);
popup.setDropDownGravity(Gravity.END | Gravity.TOP);
if (AndroidUiHelper.isOrientationPortrait(getActivity())) {
popup.setVerticalOffset(AndroidUtils.dpToPx(app, 48f));
} else {
popup.setVerticalOffset(AndroidUtils.dpToPx(app, -48f));
}
popup.setHorizontalOffset(AndroidUtils.dpToPx(app, -6f));
final FavoriteColorAdapter colorAdapter = new FavoriteColorAdapter(getActivity());
popup.setAdapter(colorAdapter);
popup.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Integer color = colorAdapter.getItem(position);
if (color != null) {
if (color != group.color) {
app.getFavorites()
.editFavouriteGroup(group, group.name, color, group.visible);
updateParentFragment();
}
}
popup.dismiss();
dismiss();
Activity activity = getActivity();
if (activity != null) {
final ListPopupWindow popup = new ListPopupWindow(activity);
popup.setAnchorView(v);
popup.setContentWidth(AndroidUtils.dpToPx(app, 200f));
popup.setModal(true);
popup.setDropDownGravity(Gravity.END | Gravity.TOP);
if (AndroidUiHelper.isOrientationPortrait(activity)) {
popup.setVerticalOffset(AndroidUtils.dpToPx(app, 48f));
} else {
popup.setVerticalOffset(AndroidUtils.dpToPx(app, -48f));
}
});
popup.show();
popup.setHorizontalOffset(AndroidUtils.dpToPx(app, -6f));
final FavoriteColorAdapter colorAdapter = new FavoriteColorAdapter(activity);
popup.setAdapter(colorAdapter);
popup.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Integer color = colorAdapter.getItem(position);
if (color != null) {
if (color != group.color) {
app.getFavorites()
.editFavouriteGroup(group, group.name, color, group.visible);
updateParentFragment();
}
}
popup.dismiss();
dismiss();
}
});
popup.show();
}
}
})
.create();
@ -244,7 +260,7 @@ public class EditFavoriteGroupDialogFragment extends MenuBottomSheetDialogFragme
private final OsmandApplication app;
FavoriteColorAdapter(Context context) {
public FavoriteColorAdapter(Context context) {
super(context, R.layout.rendering_prop_menu_item);
this.app = (OsmandApplication) getContext().getApplicationContext();
init();

View file

@ -258,7 +258,8 @@ public class TrackActivity extends TabActivity {
viewPager = (LockableViewPager) findViewById(R.id.pager);
viewPager.setSwipeLocked(true);
setViewPagerAdapter(viewPager, new ArrayList<TabActivity.TabItem>());
new GPXFileLoaderTask(this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, (Void) null);
loadGpx();
}
@Override
@ -269,6 +270,10 @@ public class TrackActivity extends TabActivity {
}
}
public void loadGpx() {
new GPXFileLoaderTask(this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, (Void) null);
}
public OsmandApplication getMyApplication() {
return (OsmandApplication) getApplication();
}
@ -276,6 +281,9 @@ public class TrackActivity extends TabActivity {
@Override
protected void onPause() {
super.onPause();
if (viewPager.getCurrentItem() == 1) {
openPointsTab = true;
}
}
@Override
@ -387,7 +395,7 @@ public class TrackActivity extends TabActivity {
}
}
OsmandFragmentPagerAdapter pagerAdapter = (OsmandFragmentPagerAdapter) viewPager.getAdapter();
if (pagerAdapter != null) {
if (pagerAdapter != null && pagerAdapter.getCount() == 0) {
pagerAdapter.addTab(getTabIndicator(R.string.gpx_track, TrackSegmentFragment.class));
if (hasWayPoints() || hasRoutePoints()) {
pagerAdapter.addTab(getTabIndicator(R.string.points, TrackPointFragment.class));

View file

@ -4,6 +4,7 @@ import net.osmand.PlatformUtil;
import android.app.Activity;
import android.content.pm.ActivityInfo;
import android.content.res.Configuration;
import android.support.annotation.NonNull;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.Surface;
@ -14,7 +15,7 @@ import android.view.View;
*/
public class AndroidUiHelper {
public static int getScreenOrientation(Activity activity) {
public static int getScreenOrientation(@NonNull Activity activity) {
int rotation = activity.getWindowManager().getDefaultDisplay().getRotation();
DisplayMetrics dm = new DisplayMetrics();
activity.getWindowManager().getDefaultDisplay().getMetrics(dm);
@ -90,12 +91,12 @@ public class AndroidUiHelper {
return false;
}
public static boolean isXLargeDevice(Activity ctx) {
public static boolean isXLargeDevice(@NonNull Activity ctx) {
int lt = (ctx.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK);
return lt == Configuration.SCREENLAYOUT_SIZE_XLARGE;
}
public static boolean isOrientationPortrait(Activity ctx) {
public static boolean isOrientationPortrait(@NonNull Activity ctx) {
int orientation = AndroidUiHelper.getScreenOrientation(ctx);
return orientation == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT ||
orientation == ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT;

View file

@ -0,0 +1,309 @@
package net.osmand.plus.myplaces;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v7.app.AlertDialog;
import android.support.v7.widget.ListPopupWindow;
import android.text.TextUtils;
import android.view.ContextThemeWrapper;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup.LayoutParams;
import android.widget.AdapterView;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import net.osmand.AndroidUtils;
import net.osmand.plus.GPXUtilities;
import net.osmand.plus.GPXUtilities.GPXFile;
import net.osmand.plus.GPXUtilities.WptPt;
import net.osmand.plus.GpxSelectionHelper.GpxDisplayGroup;
import net.osmand.plus.GpxSelectionHelper.GpxDisplayItem;
import net.osmand.plus.MapMarkersHelper;
import net.osmand.plus.MapMarkersHelper.MapMarkersGroup;
import net.osmand.plus.OsmandApplication;
import net.osmand.plus.R;
import net.osmand.plus.activities.EditFavoriteGroupDialogFragment.FavoriteColorAdapter;
import net.osmand.plus.activities.SavingTrackHelper;
import net.osmand.plus.activities.TrackActivity;
import net.osmand.plus.base.MenuBottomSheetDialogFragment;
import net.osmand.plus.base.bottomsheetmenu.BaseBottomSheetItem;
import net.osmand.plus.base.bottomsheetmenu.SimpleBottomSheetItem;
import net.osmand.plus.base.bottomsheetmenu.simpleitems.TitleItem;
import net.osmand.plus.helpers.AndroidUiHelper;
import net.osmand.util.Algorithms;
import java.io.File;
import java.lang.ref.WeakReference;
import java.util.List;
public class EditTrackGroupDialogFragment extends MenuBottomSheetDialogFragment {
public static final String TAG = EditTrackGroupDialogFragment.class.getSimpleName();
private GpxDisplayGroup group;
@Override
public void createMenuItems(Bundle savedInstanceState) {
final OsmandApplication app = getMyApplication();
if (group == null) {
return;
}
items.add(new TitleItem(getCategoryName(app, group.getName())));
BaseBottomSheetItem editNameItem = new SimpleBottomSheetItem.Builder()
.setIcon(getContentIcon(R.drawable.ic_action_edit_dark))
.setTitle(getString(R.string.edit_name))
.setLayoutId(R.layout.bottom_sheet_item_simple)
.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Activity activity = getActivity();
if (activity != null) {
AlertDialog.Builder b = new AlertDialog.Builder(activity);
b.setTitle(R.string.favorite_group_name);
final EditText nameEditText = new EditText(activity);
nameEditText.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
nameEditText.setText(group.getName());
LinearLayout container = new LinearLayout(activity);
int sidePadding = AndroidUtils.dpToPx(activity, 24f);
int topPadding = AndroidUtils.dpToPx(activity, 4f);
container.setPadding(sidePadding, topPadding, sidePadding, topPadding);
container.addView(nameEditText);
b.setView(container);
b.setNegativeButton(R.string.shared_string_cancel, null);
b.setPositiveButton(R.string.shared_string_save, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String name = nameEditText.getText().toString();
boolean nameChanged = !Algorithms.objectEquals(group.getName(), name);
if (nameChanged) {
TrackActivity trackActivity = getTrackActivity();
if (trackActivity != null) {
new UpdateGpxCategoryTask(trackActivity, group, name)
.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
}
}
dismiss();
}
});
b.show();
}
}
})
.create();
items.add(editNameItem);
final int themeRes = nightMode ? R.style.OsmandDarkTheme : R.style.OsmandLightTheme;
final View changeColorView = View.inflate(new ContextThemeWrapper(getContext(), themeRes),
R.layout.change_fav_color, null);
((ImageView) changeColorView.findViewById(R.id.change_color_icon))
.setImageDrawable(getContentIcon(R.drawable.ic_action_appearance));
updateColorView((ImageView) changeColorView.findViewById(R.id.colorImage));
BaseBottomSheetItem changeColorItem = new BaseBottomSheetItem.Builder()
.setCustomView(changeColorView)
.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Activity activity = getActivity();
if (activity != null) {
final ListPopupWindow popup = new ListPopupWindow(activity);
popup.setAnchorView(v);
popup.setContentWidth(AndroidUtils.dpToPx(app, 200f));
popup.setModal(true);
popup.setDropDownGravity(Gravity.END | Gravity.TOP);
if (AndroidUiHelper.isOrientationPortrait(activity)) {
popup.setVerticalOffset(AndroidUtils.dpToPx(app, 48f));
} else {
popup.setVerticalOffset(AndroidUtils.dpToPx(app, -48f));
}
popup.setHorizontalOffset(AndroidUtils.dpToPx(app, -6f));
final FavoriteColorAdapter colorAdapter = new FavoriteColorAdapter(activity);
popup.setAdapter(colorAdapter);
popup.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Integer color = colorAdapter.getItem(position);
if (color != null) {
if (color != group.getColor()) {
TrackActivity trackActivity = getTrackActivity();
if (trackActivity != null) {
new UpdateGpxCategoryTask(trackActivity, group, color)
.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
}
}
}
popup.dismiss();
dismiss();
}
});
popup.show();
}
}
})
.create();
items.add(changeColorItem);
}
@Override
public void onResume() {
super.onResume();
if (group == null) {
dismiss();
}
}
@Nullable
private TrackActivity getTrackActivity() {
Activity activity = getActivity();
if (activity != null && activity instanceof TrackActivity) {
return (TrackActivity) activity;
}
return null;
}
private static String getCategoryName(@NonNull Context ctx, String category) {
return Algorithms.isEmpty(category) ? ctx.getString(R.string.waypoints) : category;
}
private void updateColorView(ImageView colorImageView) {
int color = (group.getColor() == 0 ? getResources().getColor(R.color.gpx_color_point) : group.getColor()) | 0xff000000;
if (color == 0) {
colorImageView.setImageDrawable(getContentIcon(R.drawable.ic_action_circle));
} else {
colorImageView.setImageDrawable(getMyApplication().getIconsCache().getPaintedIcon(R.drawable.ic_action_circle, color));
}
}
public static void showInstance(FragmentManager fragmentManager, GpxDisplayGroup group) {
EditTrackGroupDialogFragment f = (EditTrackGroupDialogFragment) fragmentManager
.findFragmentByTag(EditTrackGroupDialogFragment.TAG);
if (f == null ) {
f = new EditTrackGroupDialogFragment();
f.group = group;
f.show(fragmentManager, EditTrackGroupDialogFragment.TAG);
}
}
private static class UpdateGpxCategoryTask extends AsyncTask<Void, Void, Void> {
private OsmandApplication app;
private WeakReference<TrackActivity> activityRef;
private GpxDisplayGroup group;
private String newCategory;
private Integer newColor;
private ProgressDialog progressDialog;
private boolean wasUpdated = false;
private UpdateGpxCategoryTask(@NonNull TrackActivity activity, @NonNull GpxDisplayGroup group) {
this.app = (OsmandApplication) activity.getApplication();
activityRef = new WeakReference<>(activity);
this.group = group;
}
UpdateGpxCategoryTask(@NonNull TrackActivity activity, @NonNull GpxDisplayGroup group,
@NonNull String newCategory) {
this(activity, group);
this.newCategory = newCategory;
}
UpdateGpxCategoryTask(@NonNull TrackActivity activity, @NonNull GpxDisplayGroup group,
@NonNull Integer newColor) {
this(activity, group);
this.newColor = newColor;
}
@Override
protected void onPreExecute() {
TrackActivity activity = activityRef.get();
if (activity != null) {
progressDialog = new ProgressDialog(activity);
progressDialog.setTitle(EditTrackGroupDialogFragment.getCategoryName(app, group.getName()));
progressDialog.setMessage(newCategory != null ? "Changing name" : "Changing color");
progressDialog.setCancelable(false);
progressDialog.show();
GPXFile gpxFile = group.getGpx();
if (gpxFile != null) {
SavingTrackHelper savingTrackHelper = app.getSavingTrackHelper();
List<GpxDisplayItem> items = group.getModifiableList();
String prevCategory = group.getName();
boolean emptyCategory = TextUtils.isEmpty(prevCategory);
for (GpxDisplayItem item : items) {
WptPt wpt = item.locationStart;
if (wpt != null) {
boolean update = false;
if (emptyCategory) {
if (TextUtils.isEmpty(wpt.category)) {
update = true;
}
} else if (prevCategory.equals(wpt.category)) {
update = true;
}
if (update) {
wasUpdated = true;
String category = newCategory != null ? newCategory : wpt.category;
int color = newColor != null ? newColor : wpt.colourARGB;
if (gpxFile.showCurrentTrack) {
savingTrackHelper.updatePointData(wpt, wpt.getLatitude(), wpt.getLongitude(),
System.currentTimeMillis(), wpt.desc, wpt.name, category, color);
} else {
gpxFile.updateWptPt(wpt, wpt.getLatitude(), wpt.getLongitude(),
System.currentTimeMillis(), wpt.desc, wpt.name, category, color);
}
}
}
}
}
}
}
@Override
protected Void doInBackground(Void... voids) {
GPXFile gpxFile = group.getGpx();
if (gpxFile != null && !gpxFile.showCurrentTrack && wasUpdated) {
GPXUtilities.writeGpxFile(new File(gpxFile.path), gpxFile, app);
}
return null;
}
@Override
protected void onPostExecute(Void aVoid) {
GPXFile gpxFile = group.getGpx();
if (gpxFile != null && wasUpdated) {
syncGpx(gpxFile);
}
if (progressDialog != null && progressDialog.isShowing()) {
progressDialog.dismiss();
}
TrackActivity activity = activityRef.get();
if (activity != null) {
activity.loadGpx();
}
}
private void syncGpx(GPXFile gpxFile) {
MapMarkersHelper markersHelper = app.getMapMarkersHelper();
MapMarkersGroup group = markersHelper.getMarkersGroup(gpxFile);
if (group != null) {
markersHelper.runSynchronization(group);
}
}
}
}

View file

@ -11,6 +11,7 @@ import android.os.Handler;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.design.widget.Snackbar;
import android.support.v4.app.FragmentActivity;
import android.support.v4.content.ContextCompat;
import android.support.v4.view.MenuItemCompat;
import android.support.v7.app.AlertDialog;
@ -38,6 +39,8 @@ import android.widget.ListView;
import android.widget.TextView;
import net.osmand.AndroidUtils;
import net.osmand.Collator;
import net.osmand.OsmAndCollator;
import net.osmand.data.FavouritePoint;
import net.osmand.data.LatLon;
import net.osmand.data.PointDescription;
@ -68,7 +71,6 @@ import net.osmand.util.Algorithms;
import java.io.File;
import java.lang.ref.WeakReference;
import java.text.Collator;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
@ -681,8 +683,7 @@ public class TrackPointFragment extends OsmandExpandableListFragment implements
Comparator<String> comparator;
PointGPXAdapter() {
final Collator collator = Collator.getInstance();
collator.setStrength(Collator.SECONDARY);
final Collator collator = OsmAndCollator.primaryCollator();
comparator = new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
@ -773,6 +774,9 @@ public class TrackPointFragment extends OsmandExpandableListFragment implements
break;
}
}
List<GpxDisplayItem> headerGroupItems = headerGroup.getModifiableList();
headerGroupItems.clear();
headerGroupItems.addAll(values);
itemGroups.put(headerGroup, values);
groups.add(headerGroup);
} else {
@ -925,9 +929,9 @@ public class TrackPointFragment extends OsmandExpandableListFragment implements
options.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Activity activity = getActivity();
FragmentActivity activity = getActivity();
if (activity != null) {
// todo
EditTrackGroupDialogFragment.showInstance(activity.getSupportFragmentManager(), group);
}
}
});
@ -1011,7 +1015,7 @@ public class TrackPointFragment extends OsmandExpandableListFragment implements
options.setImageDrawable(iconsCache.getThemedIcon(R.drawable.ic_overflow_menu_white));
}
if (childPosition == 0) {
row.findViewById(R.id.divider).setVisibility(View.VISIBLE);
row.findViewById(R.id.divider).setVisibility(View.GONE);
row.findViewById(R.id.list_divider).setVisibility(View.GONE);
} else {
row.findViewById(R.id.divider).setVisibility(View.GONE);
@ -1146,7 +1150,8 @@ public class TrackPointFragment extends OsmandExpandableListFragment implements
for (GpxDisplayItem i : g.getModifiableList()) {
if (i.name.toLowerCase().contains(cs)) {
filter.add(i);
} else if (i.locationStart != null && cs.equals(i.locationStart.category)) {
} else if (i.locationStart != null && !TextUtils.isEmpty(i.locationStart.category)
&& i.locationStart.category.toLowerCase().contains(cs)) {
filter.add(i.locationStart.category);
}
}