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

# Conflicts:
#	OsmAnd/res/values/strings.xml
This commit is contained in:
PavelRatushnyi 2017-12-22 12:40:15 +02:00
commit 6c7bd63cb3
40 changed files with 471 additions and 168 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View file

@ -275,6 +275,64 @@
android:background="?attr/dashboard_divider"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/donationsTotal"
android:visibility="gone"
android:minHeight="60dp"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:minHeight="60dp"
android:orientation="horizontal">
<ImageView
android:id="@+id/donationsTotalIcon"
android:layout_width="56dp"
android:layout_height="56dp"
android:scaleType="center"
android:src="@drawable/ic_action_bitcoin"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="16dp"
android:orientation="vertical">
<TextView
android:id="@+id/donationsTotalTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/total_donations"
android:textColor="?android:textColorSecondary"
android:textSize="@dimen/default_sub_text_size"/>
<TextView
android:id="@+id/donationsTotalTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="-"
android:textColor="?android:textColorPrimary"
android:textSize="@dimen/default_list_text_size"/>
</LinearLayout>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginLeft="56dp"
android:background="?attr/dashboard_divider"/>
</LinearLayout>
<LinearLayout
android:id="@+id/numberOfRecipientsLayout"
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
@ -289,7 +347,6 @@
android:src="@drawable/ic_group"/>
<LinearLayout
android:id="@+id/numberOfRecipientsLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="16dp"

View file

@ -9,8 +9,9 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/bottom_sheet_selected_item_title_height"
android:background="?attr/selectableItemBackground">
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"
android:minHeight="@dimen/bottom_sheet_selected_item_title_height">
<CheckBox
android:id="@+id/check_box"
@ -34,11 +35,12 @@
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginEnd="@dimen/content_padding"
android:layout_marginRight="@dimen/content_padding"
android:layout_weight="1"
android:minHeight="@dimen/bottom_sheet_selected_item_title_height"
android:orientation="vertical">
<TextView
@ -56,9 +58,9 @@
android:id="@+id/description"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:layout_marginTop="@dimen/map_widget_icon_margin"
android:ellipsize="end"
android:maxLines="3"
android:textColor="?android:textColorSecondary"
android:textSize="@dimen/default_desc_text_size"
tools:text="Oct 13, 2017 * 3 MB * 01:14"/>

View file

@ -107,7 +107,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:src="@drawable/ic_action_polygom_dark"/>
android:src="@drawable/ic_action_route_distance"/>
<LinearLayout
android:layout_width="wrap_content"

View file

@ -3690,4 +3690,5 @@
<string name="poi_depot">Depósito</string>
</resources>
<string name="poi_letter_box">Buzón</string>
</resources>

View file

@ -106,7 +106,7 @@
<string name="poi_communication_tower">Tour de télécommunication</string>
<string name="poi_compressed_air">Station de gonflage des pneumatiques</string>
<string name="poi_confectionery">Confiserie</string>
<string name="poi_construction">Voie ferrée en construction</string>
<string name="poi_construction">Construction</string>
<string name="poi_convenience">Épicerie</string>
<string name="poi_copyshop">Service de photocopies et d\'impression</string>
<string name="poi_cosmetics">Magasin de cosmétiques</string>
@ -3085,7 +3085,7 @@
<string name="poi_historic_period_classical">Période historique: classique (époque IV, 374 ap. JC - 900 ap. JC)</string>
<string name="poi_historic_period_imperial">Période historique: impériale (époque V, 900 ap. JC - 1200 ap. JC)</string>
<string name="poi_stone_type_conciliation_cross">Type: croix de conciliation</string>
<string name="poi_stone_type_conciliation_cross">Type : croix de conciliation</string>
<string name="poi_site_type_earthwork">Terrassement</string>
<string name="poi_nuclear_explosion_date_utc">Date de l\'explosion (UTC)</string>
<string name="poi_nuclear_explosion_time_utc">Heure de l\'explosion (UTC)</string>
@ -3116,4 +3116,10 @@
<string name="poi_health_specialty_general_yes">Médecin généraliste</string>
<string name="poi_health_specialty_palliative_medicine_yes">Médecine palliative</string>
<string name="poi_stone_type_coat_of_arms">Type : blason</string>
<string name="poi_reservation_yes">Réservation : oui</string>
<string name="poi_reservation_no">Réservation : non</string>
<string name="poi_reservation_members_only">Réservation : membres uniquement</string>
</resources>

View file

@ -2484,4 +2484,22 @@
<string name="animate_my_location_desc">הפעלת הנפשת גלישת מפה של המיקום שלי במהלך ניווט.</string>
<string name="shared_string_in_name">ב־%1$s</string>
<string name="one_tap_active_descr">ניתן לגעת בסמן על המפה כדי להעביר אותו לראש הסמנים הפעילים מבלי לפתוח את תפריט ההקשר.</string>
<string name="release_3_0">\\022 זיהוי של שלטי עצור מתחשב בכיוון הניווט
\n
\n • אלגוריתם חדש מספק ערכים בעלי משמעות לעלייה/ירידה למסלולי GPX
\n
\n • זמן הטיול (כלל נייסמית׳) מודע לתוואי הדרך (עלייה)
\n
\n</string>
<string name="one_tap_active">הפעלה בנגיעה אחת</string>
<string name="map_orientation_change_in_accordance_with_speed_descr">נא לבחור להלן באיזו מהירות כיוון המפה יתחלף ממצב ‚לפי כיוון התנועה’ למצב ‚לפי מצפן’.</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>
<string name="keep_informing_descr">הכרזה מחודשת של הנחיות הניווט במרווחי זמן קבועים.</string>
<string name="keep_informing">חזרה על הנחיות הניווט</string>
<string name="shared_string_others">אחרים</string>
<string name="import_file_favourites">לשמור את הנתונים כקובץ GPX ולייבא את נקודות הדרך למועדפים?</string>
<string name="share_fav_subject">מועדפים משותפים דרך OsmAnd</string>
<string name="dashboard_or_drawer_description">ישנה בחירה חדשה לשלוט ביישומון באופן עיקרי באמצעות לוח המחוונים הגמיש או התפריט הסטטי. ניתן לשנות את בחירתך בהגדרות לוח המחוונים.</string>
</resources>

View file

@ -288,7 +288,7 @@
<string name="poi_fishing">Horgászfelszerelés</string>
<string name="poi_frame">Képkeretbolt</string>
<string name="poi_furniture">Bútorbolt</string>
<string name="poi_shop_yes">Vegyesbolt</string>
<string name="poi_shop_yes">Egyéb bolt</string>
<string name="poi_glaziery">Üveges</string>
<string name="poi_hearing_aids">Hallókészülékbolt</string>
<string name="poi_hunting">Vadászfelszerelés</string>

View file

@ -2866,4 +2866,6 @@ Tai yra puikus būdas paremti OsmAnd ir OSM, jei jie jums patinka.</string>
<string name="show_arrows_on_the_map">Rodyti rodykles žemėlapyje</string>
<string name="show_passed">Rodyti praeitą</string>
<string name="hide_passed">Slėpti praeitą</string>
<string name="notes_by_date">Užrašai pagal datą</string>
<string name="appearance_on_the_map">Išvaizda žemėlapyje</string>
</resources>

View file

@ -886,7 +886,7 @@
<string name="poi_breakwater">Falochron</string>
<string name="poi_groyne">Ostroga brzegowa</string>
<string name="poi_basin">Basen</string>
<string name="poi_basin">Zbiornik wodny</string>
<string name="poi_conservation">Obszar chroniony</string>
<string name="poi_crane">Dźwig</string>
@ -1361,7 +1361,7 @@
<string name="poi_tomb_tumulus">Typ: kurchan</string>
<string name="poi_tomb_mausoleum">Typ: mauzoleum</string>
<string name="poi_clothes_socks">Skarpetki</string>
<string name="poi_clothes_shirts">Koszulki</string>
<string name="poi_clothes_shirts">Koszule</string>
<string name="poi_historic_milestone">Zabytkowy kamień milowy</string>
<string name="poi_clothes_leather">Skóra</string>
@ -1449,7 +1449,7 @@
<string name="poi_massage_thai">Tajski</string>
<string name="poi_massage_sexual">Erotyczny</string>
<string name="poi_massage_chinese">Chiński</string>
<string name="poi_massage_therapeutic">Tterapeutyczny</string>
<string name="poi_massage_therapeutic">Terapeutyczny</string>
<string name="poi_handrail_yes">Poręcz: tak</string>
<string name="poi_handrail_no">Poręcz: nie</string>
@ -1675,7 +1675,7 @@
<string name="poi_capacity_disabled">Specjalnych miejsc dla niepełnosprawnych</string>
<string name="poi_capacity_women_yes">Ze specjalnymi miejscami dla kobiet</string>
<string name="poi_capacity_women_no">Bez specjalnych miejsc dla kobiet</string>
<string name="poi_capacity_women">Specjalnych miejsc dla kobiet</string>
<string name="poi_capacity_women">Ze specjalnymi miejscami dla kobiet</string>
<string name="poi_capacity_pupils">Specjalnych miejsc dla uczniów</string>
<string name="poi_capacity_teachers">Specjalnych miejsc dla nauczycieli</string>
<string name="poi_capacity_parent_yes">Ze specjalnymi miejscami dla rodziców</string>
@ -2545,7 +2545,7 @@
<string name="poi_bicycle_parking_lockers">Szafki</string>
<string name="poi_bicycle_parking_tree">Wieszak rowerowy</string>
<string name="poi_bicycle_parking_streetpod">Pół-otwarty stojak</string>
<string name="poi_bicycle_parking_streetpod">Półotwarty stojak</string>
<string name="poi_salt_yes">Słona woda</string>
<string name="poi_salt_no">Słodka woda</string>
@ -3172,7 +3172,7 @@
<string name="poi_cuisine_cake">Ciasta</string>
<string name="poi_cuisine_pancake">Naleśniki</string>
<string name="poi_cuisine_pasta">Spaghetti i makarony</string>
<string name="poi_cuisine_fast_food">Szybkie żarcie</string>
<string name="poi_cuisine_fast_food">Fast-food</string>
<string name="poi_cuisine_juice">Soki</string>
<string name="poi_cuisine_soba">Soba (makaron z mąki gryczanej)</string>
<string name="poi_cuisine_fine_dining">Ekskluzywne dania</string>
@ -3229,7 +3229,7 @@
<string name="poi_shower_filter_yes">Tak</string>
<string name="poi_takeaway_filter_yes">Tak</string>
<string name="poi_diet_lactose_free_filter_yes">Bez-laktozowa</string>
<string name="poi_diet_lactose_free_filter_yes">Bezlaktozowa</string>
<string name="poi_diet_halal_filter_yes">Halal</string>
<string name="poi_diet_kosher_filter_yes">Koszerne potrawy</string>
<string name="poi_diet_gluten_free_filter_yes">Bezglutenowa</string>
@ -3672,4 +3672,12 @@
<string name="poi_charging_station_filter">Stacja ładowania</string>
<string name="poi_letter_box">Skrzynka na listy</string>
<string name="poi_post_street">Ulica</string>
<string name="poi_post_housenumber">Numer budynku</string>
<string name="poi_post_flats">Mieszkania</string>
<string name="poi_payment_centre">Centrum płatności</string>
<string name="poi_money_transfer">Przelew pieniędzy</string>
</resources>

View file

@ -9,7 +9,7 @@
<string name="pref_raster_map">Zasoby mapy</string>
<string name="pref_vector_map">Ustawienia mapy wektorowej</string>
<string name="choose_auto_follow_route">Automatyczne środkowanie mapy</string>
<string name="choose_auto_follow_route_descr">Ustala opóźnienie synchronizacji mapy z aktualnym położeniem</string>
<string name="choose_auto_follow_route_descr">Ustala opóźnienie synchronizacji mapy z aktualnym położeniem.</string>
<string name="auto_follow_route_navigation">Automatyczne podążanie za położeniem</string>
<string name="auto_follow_route_navigation_descr">Włącz podążanie za pozycją tylko w trybie nawigacji.</string>
@ -99,7 +99,7 @@
<string name="local_indexes_cat_poi">Dane użytecznych miejsc</string>
<string name="ttsvoice">Głos syntezowany</string>
<string name="search_offline_clear_search">Nowe wyszukiwanie</string>
<string name="map_text_size_descr">Wybierz rozmiar tekstu dla nazw na mapie</string>
<string name="map_text_size_descr">Wybierz rozmiar tekstu dla nazw na mapie.</string>
<string name="map_text_size">Rozmiar tekstu</string>
<string name="trace_rendering">Informacje o diagnozowaniu błędów renderowania</string>
<string name="trace_rendering_descr">Wyświetla informacje o wydajności renderowania</string>
@ -122,7 +122,7 @@
\tAby jej użyć, proszę wybrać „Menu” → „Skonfiguruj mapę” → „Zasób mapy…” → „Wektorowe mapy offline”.</string>
<string name="choose_audio_stream">Wyjście dźwięku nawigacji głosowej</string>
<string name="choose_audio_stream_descr">Określa głośnik do odtwarzania nawigacji głosowej</string>
<string name="choose_audio_stream_descr">Określa głośnik do odtwarzania nawigacji głosowej.</string>
<string name="voice_stream_voice_call">Kanał głosowy (także przerywa odtwarzanie muzyki z głośników)</string>
<string name="voice_stream_notification">Kanał powiadomień</string>
<string name="voice_stream_music">Kanał media/music</string>
@ -153,7 +153,7 @@
<string name="search_offline_geo_error">Nie można przetworzyć „%s”</string>
<string name="search_osm_offline">Wyszukaj adres korzystając z map offline</string>
<string name="system_locale">Systemowy</string>
<string name="preferred_locale_descr">Wybiera język interfejsu (po zmianie należy uruchomić program ponownie)</string>
<string name="preferred_locale_descr">Wybiera język interfejsu (po zmianie należy uruchomić program ponownie).</string>
<string name="preferred_locale">Język interfejsu</string>
@ -238,7 +238,7 @@
<string name="daynight_mode_night">Nocny</string>
<string name="daynight_mode_auto">Wschód/zachód Słońca</string>
<string name="daynight_mode_sensor">Czujnik światła</string>
<string name="daynight_descr">Zdefiniuj kryterium przełączania trybu dzień/noc</string>
<string name="daynight_descr">Zdefiniuj kryterium przełączania trybu dzień/noc.</string>
<string name="daynight">Tryb dzienny/nocny</string>
<string name="download_files_question">Pobrać {0} plik(ów) ({1} MB)?</string>
<string name="items_were_selected">zaznaczono {0} element(ów)</string>
@ -253,7 +253,7 @@
<string name="osmand_service">Tryb działania w tle</string>
<string name="osmand_service_descr">Działanie aplikacji, gdy ekran jest wygaszony</string>
<string name="fast_route_mode">Najszybsza trasa</string>
<string name="fast_route_mode_descr">Wyznacza najszybszą trasę zamiast ekonomicznej</string>
<string name="fast_route_mode_descr">Wyznacza najszybszą trasę zamiast ekonomicznej.</string>
<string name="tiles_to_download_estimated_size">Do pobrania {1} kafelków na poziomie {0} ({2} MB)</string>
<string name="shared_string_download_map">Pobierz mapę</string>
<string name="select_max_zoom_preload_area">Proszę wybrać maksymalne przybliżenie do pobrania</string>
@ -297,7 +297,7 @@
<string name="rotate_map_compass_opt">Względem kompasu</string>
<string name="rotate_map_bearing_opt">Względem kierunku ruchu</string>
<string name="rotate_map_none_opt">Bez obracania (północ na górze)</string>
<string name="rotate_map_to_bearing_descr">Wybiera sposób obracania mapy</string>
<string name="rotate_map_to_bearing_descr">Wybiera sposób obracania mapy.</string>
<string name="rotate_map_to_bearing">Orientacja mapy</string>
<string name="show_route">Szczegóły trasy</string>
<string name="fav_imported_sucessfully">Zaimportowano ulubione</string>
@ -323,9 +323,9 @@
<string name="menu_layers">Warstwy mapy</string>
<string name="context_menu_item_search_poi">Szukaj Miejsc</string>
<string name="use_trackball_descr">Umożliwia przesuwanie mapy za pomocą trackballa</string>
<string name="use_trackball_descr">Umożliwia przesuwanie mapy za pomocą trackballa.</string>
<string name="use_trackball">Używanie trackballa</string>
<string name="background_service_wait_int_descr">Czas oczekiwania na poprawne położenie GPS</string>
<string name="background_service_wait_int_descr">Czas oczekiwania na poprawne położenie GPS.</string>
<string name="background_service_wait_int">Czas oczekiwania</string>
<string name="where_am_i">Gdzie jestem?</string>
@ -348,7 +348,7 @@
<string name="search_poi_filter">Filtr</string>
<string name="menu_mute_off">Wyłącz dźwięk</string>
<string name="menu_mute_on">Włącz dźwięk</string>
<string name="voice_provider_descr">Wybiera głos komunikatów nawigatora</string>
<string name="voice_provider_descr">Wybiera głos komunikatów nawigatora.</string>
<string name="voice_provider">Głos komunikatów</string>
<string name="voice_data_initializing">Inicjowanie danych głosowych…</string>
<string name="voice_data_not_supported">Niewspierana wersja danych głosowych</string>
@ -366,7 +366,7 @@
<string name="route_tsll">Skręć łagodnie w lewo i jedź</string>
<string name="route_tu">Zawróć i jedź</string>
<string name="route_head">Prosto</string>
<string name="first_time_continue">Kontynuuj</string>
<string name="first_time_continue">Następnie</string>
<string name="first_time_download">Pobierz region</string>
<string name="first_time_msg">Dziękujemy za korzystanie z OsmAnd. Większość funkcjonalności programu wymaga danych o wybranym regionie, które można pobrać w menu „Ustawienia„” → „Zarządzaj mapami”. Dzięki nim będzie można przeglądać mapy, wyszukiwać adresy, użyteczne miejsca i transport publiczny.</string>
<string name="search_poi_location">Wyszukiwanie sygnału…</string>
@ -392,7 +392,7 @@
<string name="transport_route_distance">Długość rozkładu jazdy</string>
<string name="transport">Transport publiczny</string>
<string name="shared_string_ok">Zatwierdź</string>
<string name="show_transport_over_map_description">Wyświetla na mapie przystanki transportu publicznego</string>
<string name="show_transport_over_map_description">Wyświetla na mapie przystanki transportu publicznego.</string>
<string name="show_transport_over_map">Pokaż przystanki</string>
<string name="hello">Program do nawigacji satelitarnej OsmAnd</string>
<string name="update_poi_success">Uaktualniono dane użytecznych miejsc (wczytano {0})</string>
@ -421,7 +421,7 @@
<string name="max_level_download_tile">Maks. zoom online</string>
<string name="max_level_download_tile_descr">Wybierz maksymalny poziom przybliżenia mapy dla pobierania kafelków map online</string>
<string name="route_general_information">Całkowity dystans %1$s, czas podróży %2$d h %3$d min.</string>
<string name="router_service_descr">Wybiera usługę nawigacyjną online lub offline</string>
<string name="router_service_descr">Wybiera usługę nawigacyjną online lub offline.</string>
<string name="router_service">Usługa nawigacyjna</string>
<string name="sd_dir_not_accessible">Katalog przechowywania danych na karcie SD jest niedostępny!</string>
<string name="download_question">Pobrać {0} - {1} ?</string>
@ -483,10 +483,10 @@
<string name="data_settings">Dane</string>
<string name="osm_settings">Edytowanie OSM</string>
<string name="auto_zoom_map_descr">Automatycznie przybliża mapę w zależności od prędkości (dopóki mapa zsynchronizowana jest z aktualnym położeniem)</string>
<string name="auto_zoom_map_descr">Automatycznie przybliża mapę w zależności od prędkości (dopóki mapa zsynchronizowana jest z aktualnym położeniem).</string>
<string name="auto_zoom_map">Automatyczne przybliżanie mapy</string>
<string name="additional_settings">Dodatkowe ustawienia</string>
<string name="settings_preset_descr">Ustala domyślny profil widoku mapy i ustawień nawigacji</string>
<string name="settings_preset_descr">Ustala domyślny profil widoku mapy i ustawień nawigacji.</string>
<string name="settings_preset">Domyślny profil</string>
<string name="shared_string_settings">Ustawienia</string>
<string name="save_current_track_descr">Zapisuje bieżący ślad do pliku GPX na karcie SD</string>
@ -715,7 +715,7 @@
<string name="i_am_here">Jestem tutaj</string>
<string name="zoom_by_trackball_descr">Zmienia stopień przybliżenia mapy poziomymi ruchami trackballa</string>
<string name="zoom_by_trackball">Przybliżanie mapy za pomocą trackballa</string>
<string name="accessibility_preferences_descr">Ustawienia ułatwień dostępu</string>
<string name="accessibility_preferences_descr">Ustawienia ułatwień dostępu.</string>
<string name="shared_string_accessibility">Ułatwienia dostępu</string>
<string name="use_fluorescent_overlays">Odblaskowe nakładki</string>
<string name="use_fluorescent_overlays_descr">Użyj odblaskowych kolorów do wyświetlania ścieżek i tras</string>
@ -783,15 +783,15 @@
<string name="transport_search_desc">Wyszukiwanie transportu publicznego</string>
<string name="favourites_search_desc">Wyszukaj w ulubionych</string>
<string name="rendering_attr_noPolygons_description">"Ukryj wszystkie elementy mapy będące terenami ziemnymi"</string>
<string name="rendering_attr_noPolygons_description">Ukryj wszystkie elementy mapy będące terenami ziemnymi.</string>
<string name="rendering_attr_noPolygons_name">Wielokąty</string>
<string name="rendering_attr_appMode_name">Tryb renderowania</string>
<string name="rendering_attr_appMode_description">Optymalizuj mapę dla</string>
<string name="rendering_attr_contourLines_description">Wyświetlanie od stopnia przybliżenia (wymaga danych poziomic):</string>
<string name="rendering_attr_contourLines_name">Poziomice</string>
<string name="rendering_attr_hmRendered_description">Zwiększ ilość detali pokazywanych na mapie</string>
<string name="rendering_attr_hmRendered_description">Zwiększ liczbę szczegółów pokazywanych na mapie.</string>
<string name="rendering_attr_hmRendered_name">Wyświetl więcej szczegółów na mapie</string>
<string name="route_roundabout">Rondo: wybierz %1$d zjazd</string>
<string name="route_roundabout">Na rondzie wybierz %1$d zjazd</string>
<string name="route_kl">Trzymaj się lewej strony</string>
<string name="route_kr">Trzymaj się prawej strony</string>
@ -836,7 +836,7 @@ Miejsce parkowania oraz czas można znaleźć na karcie w panelu oraz na widżec
<string name="osmand_parking_hours">Godziny</string>
<string name="osmand_parking_minutes">Minuty</string>
<string name="osmand_parking_position_description_add_time">Zaparkowano samochód o</string>
<string name="use_compass_navigation_descr">Użyj kompasu, gdy nie zostanie wykryty kierunek</string>
<string name="use_compass_navigation_descr">Użyj kompasu, gdy nie zostanie wykryty kierunek.</string>
<string name="use_compass_navigation">Użyj kompasu</string>
<string name="route_updated_loc_found">Trasa zostanie wyznaczona po określeniu aktualnego położenia</string>
<string name="continue_follow_previous_route_auto">Poprzednia trasa nie została ukończona. Kontynuować ją? (%1$s sekund)</string>
@ -881,9 +881,9 @@ Miejsce parkowania oraz czas można znaleźć na karcie w panelu oraz na widżec
<string name="avoid_unpaved">Dróg nieutwardzonych</string>
<string name="avoid_ferries">Promów</string>
<string name="avoid_in_routing_title">Omijanie…</string>
<string name="avoid_in_routing_descr">Wyznacza trasy omijając drogi płatne, nieutwardzone, promy</string>
<string name="avoid_in_routing_descr">Wyznacza trasy omijając drogi płatne, nieutwardzone, promy.</string>
<string name="show_warnings_title">Wyświetlanie ostrzeżeń…</string>
<string name="show_warnings_descr">Wyświetla ostrzeżenia ruchu drogowego, ostrzeżenia o fotoradarach i informacje o pasach</string>
<string name="show_warnings_descr">Wyświetla ostrzeżenia ruchu drogowego, ostrzeżenia o fotoradarach i informacje o pasach ruchu.</string>
<string name="osmand_short_description_80_chars">Mapy dla całego świata i nawigacja działająca w oparciu o stacjonarne jak i sieciowe mapy OSM</string>
@ -913,7 +913,7 @@ OsmAnd jest otwarto-źródłowym programem do nawigacji z dostępem do szerokiej
"</string>
<string name="osmand_plus_short_description_80_chars">OsmAnd to aplikacja open source do nawigacji obsługująca mapy offline i online</string>
<string name="avoid_motorway">Autostrad</string>
<string name="snap_to_road_descr">Przyciąga położenie do dróg podczas nawigowania</string>
<string name="snap_to_road_descr">Przyciąga położenie do dróg podczas nawigowania.</string>
<string name="snap_to_road">Przyciąganie do drogi</string>
<string name="day_night_info">Informacja o dniu/nocy</string>
@ -1091,7 +1091,7 @@ OsmAnd jest otwarto-źródłowym programem do nawigacji z dostępem do szerokiej
<string name="index_name_openmaps">OpenMaps EU</string>
<string name="max_speed_none">brak</string>
<string name="prefer_in_routing_descr">Preferuj autostrady</string>
<string name="prefer_in_routing_descr">Preferuj autostrady.</string>
<string name="prefer_motorways">Preferuj autostrady</string>
<string name="prefer_in_routing_title">Preferuj…</string>
<string name="shared_string_map">Mapa</string>
@ -1195,7 +1195,7 @@ OsmAnd jest otwarto-źródłowym programem do nawigacji z dostępem do szerokiej
<string name="speak_traffic_warnings">Ostrzeżenia o ruchu</string>
<string name="osb_author_dialog_password">Hasło OSM (opcjonalne)</string>
<string name="speak_title">Zapowiadanie…</string>
<string name="speak_descr">Konfiguruje zapowiadanie nazw ulic, ostrzeżeń o ruchu (przymusowe przystanki, progi zwalniające), fotoradarów, ograniczeń prędkości</string>
<string name="speak_descr">Konfiguruje zapowiadanie nazw ulic, ostrzeżeń o ruchu (przymusowe przystanki, progi zwalniające), fotoradarów, ograniczeń prędkości.</string>
<string name="speak_street_names">Nazwy ulic (syntezowane)</string>
<string name="announce_gpx_waypoints">Punkty śladu GPX</string>
@ -1204,7 +1204,7 @@ OsmAnd jest otwarto-źródłowym programem do nawigacji z dostępem do szerokiej
<string name="driving_region_us">Stany Zjednoczone</string>
<string name="driving_region_europe_asia">Europa i Azja, Ameryka Łaciński i podobne</string>
<string name="driving_region_uk">Wielka Brytania, Indie i inne</string>
<string name="driving_region_descr">Wybiera region poruszania się: Stany Zjednoczone, Europa, Wielka Brytania, Azja oraz inne</string>
<string name="driving_region_descr">Wybiera region poruszania się: Stany Zjednoczone, Europa, Wielka Brytania, Azja oraz inne.</string>
<string name="driving_region">Region ruchu</string>
<string name="driving_region_canada">Kanada</string>
<string name="map_widget_fps_info">Diagnozowanie błędów FPS</string>
@ -1262,14 +1262,14 @@ OsmAnd jest otwarto-źródłowym programem do nawigacji z dostępem do szerokiej
<string name="app_mode_aircraft">Samolot</string>
<string name="map_widget_map_rendering">Renderowanie</string>
<string name="app_modes_choose">Profile programu</string>
<string name="app_modes_choose_descr">Wybiera używane profile widoczne w programie</string>
<string name="app_modes_choose_descr">Wybiera używane profile widoczne w programie.</string>
<string name="amenity_type_seamark">Żeglugowy znak orientacyjny</string>
<string name="speech_rate_descr">Określa tempo odtwarzania syntezowanych komunikatów głosowych</string>
<string name="speech_rate_descr">Określa tempo odtwarzania syntezowanych komunikatów głosowych.</string>
<string name="speech_rate">Szybkość mowy</string>
<string name="disable_complex_routing_descr">Wyłącza 2-etapowe wyznaczanie trasy dla nawigacji samochodowej</string>
<string name="disable_complex_routing_descr">Wyłącza 2-etapowe wyznaczanie trasy dla nawigacji samochodowej.</string>
<string name="complex_route_calculation_failed">"Nie udało się szybko wyznaczyć trasę (%s). Przełączanie na tryb powolny."</string>
<string name="disable_complex_routing">Wyłączenie złożonego wyznaczania trasy</string>
<string name="guidance_preferences_descr">Ustawienia nawigacji</string>
@ -1283,19 +1283,19 @@ OsmAnd jest otwarto-źródłowym programem do nawigacji z dostępem do szerokiej
\n Uwaga 1: stare pliki pozostaną nienaruszone (mogą być usunięte ręcznie).
\n Uwaga 2: w nowym położeniu nie będzie możliwe współdzielenie tych samych plików pomiędzy OsmAnd i OsmAnd+."</string>
<string name="routing_attr_prefer_motorway_name">Preferowanie autostrad</string>
<string name="routing_attr_prefer_motorway_description">Preferowanie autostrad</string>
<string name="routing_attr_prefer_motorway_description">Preferuj autostrady.</string>
<string name="routing_attr_avoid_toll_name">Omijanie płatnych dróg</string>
<string name="routing_attr_avoid_toll_description">Omijanie płatnych dróg</string>
<string name="routing_attr_avoid_toll_description">Omijaj płatne drogi.</string>
<string name="routing_attr_avoid_unpaved_name">Omijanie nieutwardzonych dróg</string>
<string name="routing_attr_avoid_unpaved_description">Omijanie nieutwardzonych dróg</string>
<string name="routing_attr_avoid_unpaved_description">Omijaj nieutwardzone drogi.</string>
<string name="routing_attr_avoid_ferries_name">Omijanie przepraw promowych</string>
<string name="routing_attr_avoid_ferries_description">Omijanie przepraw promowych</string>
<string name="routing_attr_avoid_ferries_description">Omijaj przeprawy promowe.</string>
<string name="routing_attr_avoid_motorway_name">Omijanie autostrad</string>
<string name="routing_attr_avoid_motorway_description">Omijanie autostrad</string>
<string name="routing_attr_avoid_motorway_description">Omijaj autostrady.</string>
<string name="routing_attr_weight_name">Ograniczenie wagi</string>
<string name="routing_attr_weight_description">Określa maksymalną, dozwoloną masę pojazdu</string>
<string name="routing_attr_weight_description">Określa maksymalną, dozwoloną masę pojazdu.</string>
<string name="select_gpx">Wybierz ślad GPX…</string>
<string name="route_descr_select_destination">Wybierz cel trasy</string>
<string name="shared_string_select_on_map">Wskaż na mapie</string>
@ -1359,7 +1359,7 @@ OsmAnd jest otwarto-źródłowym programem do nawigacji z dostępem do szerokiej
<string name="index_item_nation_addresses">Adresy krajowe</string>
<string name="index_item_world_basemap">Podstawowa mapa świata</string>
<string name="index_item_world_ski">Światowa mapa tras narciarskich</string>
<string name="interrupt_music_descr">Całkowicie wstrzymuje odtwarzanie muzyki podczas komunikatów (nie tylko ją przycisza)</string>
<string name="interrupt_music_descr">Całkowicie wstrzymuje odtwarzanie muzyki podczas komunikatów (nie tylko ją przycisza).</string>
<string name="interrupt_music">Przerywanie muzyki</string>
<string name="always_center_position_on_map">Zawsze wyśrodkowane położenie</string>
<string name="voice_pref_title">Głos</string>
@ -1378,7 +1378,7 @@ OsmAnd jest otwarto-źródłowym programem do nawigacji z dostępem do szerokiej
<string name="osmo_plugin_name">Monitoring OpenStreetMap</string>
<string name="osmo_settings">OsMo</string>
<string name="keep_informing_never">Tylko ręcznie (naciśnij strzałkę)</string>
<string name="keep_informing_descr">Powtarza instrukcje nawigacji w regularnych odstępach czasu</string>
<string name="keep_informing_descr">Powtarza instrukcje nawigacji w regularnych odstępach czasu.</string>
<string name="keep_informing">Powtarzanie instrukcji</string>
<string name="arrival_distance">Powiadomienia osiągnięcia celu</string>
<string name="arrival_distance_descr">Określa moment powiadamiania o osiągnięciu celu</string>
@ -1504,7 +1504,7 @@ OsmAnd jest otwarto-źródłowym programem do nawigacji z dostępem do szerokiej
<string name="select_destination_and_intermediate_points">Wybierz cele docelowe</string>
<string name="layer_amenity_label">Etykiety punktów</string>
<string name="show_zoom_buttons_navigation_descr">Wyświetla przyciski zbliżania i oddalania podczas nawigacji</string>
<string name="show_zoom_buttons_navigation_descr">Wyświetla przyciski zbliżania i oddalania podczas nawigacji.</string>
<string name="show_zoom_buttons_navigation">Przyciski zbliżania</string>
<string name="sort_by_distance">Sortuj wg odległości</string>
<string name="sort_by_name">Sortuj wg nazwy</string>
@ -1538,7 +1538,7 @@ OsmAnd jest otwarto-źródłowym programem do nawigacji z dostępem do szerokiej
<string name="enable_sleep_mode">Włącz tryb działania GPS w tle</string>
<string name="gps_wake_up_timer">Częstość wybudzania GPS</string>
<string name="sleep_mode_stop_dialog">Wyłączyć tryb działania GPS w tle?</string>
<string name="map_preferred_locale_descr">Preferowany język dla etykiet na mapie (jeśli niedostępny, zostanie wybrany język angielski lub lokalna nazwa)</string>
<string name="map_preferred_locale_descr">Preferowany język dla etykiet na mapie (jeśli niedostępny, zostanie wybrany język angielski lub lokalna nazwa).</string>
<string name="map_preferred_locale">Preferowany język map</string>
<string name="local_map_names">Nazwy lokalne</string>
<string name="lang_sw">Suahili</string>
@ -1656,7 +1656,7 @@ OsmAnd jest otwarto-źródłowym programem do nawigacji z dostępem do szerokiej
<string name="configure_map">Skonfiguruj mapę</string>
<string name="search_radius_proximity">W odległości</string>
<string name="wake_on_voice">Włączanie ekranu</string>
<string name="wake_on_voice_descr">Włącza ekran urządzenia podczas zbliżania się do zakrętu</string>
<string name="wake_on_voice_descr">Włącza ekran urządzenia podczas zbliżania się do zakrętu.</string>
<string name="impassable_road">Omijanie dróg…</string>
<string name="rendering_attr_tramTrainRoutes_name">Linie tramwajowe i kolejowe</string>
@ -1698,9 +1698,9 @@ OsmAnd jest otwarto-źródłowym programem do nawigacji z dostępem do szerokiej
<string name="rendering_value_americanRoadAtlas_name">Amerykański atlas drogowy</string>
<string name="routing_attr_no_new_routing_name">Bez reguł wyznaczania tras z wersji 1.9</string>
<string name="routing_attr_no_new_routing_description">Nie używa reguł wyznaczania tras wprowadzonych w wersji 1.9</string>
<string name="navigate_point_northing">Linia współrzędnych y\"</string>
<string name="navigate_point_northing">Linia współrzędnych \"y\"</string>
<string name="rendering_attr_transportStops_name">Przystanki transportu miejskiego</string>
<string name="navigate_point_easting">Linia współrzędnych x\"</string>
<string name="navigate_point_easting">Linia współrzędnych \"x\"</string>
<string name="download_tab_local">Pobrane</string>
<string name="no_internet_connection">Pobieranie niemożliwe. Proszę sprawdzić połączenie internetowe.</string>
<string name="voices">Komunikaty głosowe</string>
@ -1756,7 +1756,7 @@ OsmAnd jest otwarto-źródłowym programem do nawigacji z dostępem do szerokiej
<string name="simulate_your_location">Symulowanie położenia</string>
<string name="short_location_on_map">Szerokość %1$s
Długość %2$s</string>
<string name="tips_and_tricks_descr">Wyświetla najczęściej zadawane pytania, ostatnie zmiany i inne</string>
<string name="tips_and_tricks_descr">Wyświetla najczęściej zadawane pytania, ostatnie zmiany i inne.</string>
<string name="routing_settings_2">Ustawienia nawigacji</string>
<string name="general_settings_2">Ustawienia ogólne</string>
<string name="shared_string_ellipsis"></string>
@ -1856,11 +1856,11 @@ Długość %2$s</string>
<string name="rendering_attr_hideHouseNumbers_name">Numery budynków</string>
<string name="storage_directory_multiuser">Pamięć użytkownika</string>
<string name="routing_attr_avoid_borders_description">Omija przejścia graniczne z innym państwem</string>
<string name="routing_attr_avoid_borders_description">Omijaj przejścia graniczne z innym państwem.</string>
<string name="routing_attr_height_name">Ograniczenie wysokości</string>
<string name="routing_attr_height_description">Określa maksymalną, dozwoloną wysokość pojazdu</string>
<string name="routing_attr_height_description">Określa maksymalną, dozwoloną wysokość pojazdu.</string>
<string name="use_fast_recalculation">Inteligentne przeliczanie trasy</string>
<string name="use_fast_recalculation_desc">Wyznacza ponownie tylko początkową część trasy dla długich podróży</string>
<string name="use_fast_recalculation_desc">Wyznacza ponownie tylko początkową część trasy dla długich podróży.</string>
<string name="shared_string_logoff">Wyloguj się</string>
<string name="osmo_share_my_location">Udostępnianie położenia</string>
<string name="rendering_value_walkingRoutesOSMC_name">Linia w kolorze oznakowania OSMC</string>
@ -1991,7 +1991,7 @@ Długość %2$s</string>
<string name="roads">Drogi</string>
<string name="favorite_category_add_new">Dodaj nową</string>
<string name="favorite_category_select">Wybór kategorii</string>
<string name="default_speed_system_descr">Definiuje jednostki prędkości</string>
<string name="default_speed_system_descr">Definiuje jednostki prędkości.</string>
<string name="default_speed_system">Jednostki prędkości</string>
<string name="si_nm">Mile morskie</string>
<string name="nm">Mm</string>
@ -2051,7 +2051,7 @@ Długość %2$s</string>
<string name="shared_string_upload">Prześlij</string>
<string name="osm_edit_created_poi">Utworzone użyteczne miejsce OSM</string>
<string name="simulate_initial_startup_descr">Ustala flagę wskazującą pierwsze uruchomienie programu zachowując wszystkie pozostałe ustawienia</string>
<string name="simulate_initial_startup_descr">Ustala flagę wskazującą pierwsze uruchomienie programu zachowując wszystkie pozostałe ustawienia.</string>
<string name="share_geo">geo:</string>
<string name="confirm_download_roadmaps">Pobrać mapę samochodową, nawet jeśli pobrano już zwykłą mapę?</string>
<string name="free_downloads_used_description">Wyświetla ilość zużytych darmowych pobrań</string>
@ -2064,8 +2064,8 @@ Długość %2$s</string>
<string name="other_menu_group">Inne</string>
<string name="plugins_menu_group">Wtyczki</string>
<string name="first_usage_item">Pierwsze użycie</string>
<string name="first_usage_item_description">Jak pobrać mapy, ustawić podstawowe ustawienia</string>
<string name="navigation_item_description">Konfiguracja nawigacja</string>
<string name="first_usage_item_description">Jak pobrać mapy, ustawić podstawowe opcje.</string>
<string name="navigation_item_description">Konfiguracja nawigacji.</string>
<string name="planning_trip_item">Planowanie podróży</string>
<string name="faq_item">Częste pytania</string>
<string name="faq_item_description">Często zadawane pytania</string>
@ -2078,7 +2078,7 @@ Długość %2$s</string>
<string name="contact_us">Kontakt z nami</string>
<string name="map_legend">Legenda mapy</string>
<string name="save_poi_without_poi_type_message">Zapisać użyteczne miejsce bez określonego rodzaju?</string>
<string name="access_from_map_description">Wyświetla kokpit zamiast menu</string>
<string name="access_from_map_description">Wyświetla kokpit zamiast menu.</string>
<string name="access_from_map">Dostęp z mapy</string>
<string name="copied_to_clipboard">Skopiowane do schowka</string>
<string name="release_2_2">\\u2022 Nowe menu kontekstowe, przystosowane do wybierania lokacji na mapie oraz na innych ekranach
@ -2115,7 +2115,7 @@ Długość %2$s</string>
<string name="use_drawer_btn">Używaj menu</string>
<string name="dashboard_or_drawer_description">To jest nowy wybór podstawowej kontroli aplikacja za pomocą konfigurowalnego panelu lub statycznego menu. Wybór zawsze można zmienić w ustawieniach panelu.</string>
<string name="osm_save_offline">Zapisz lokalnie</string>
<string name="please_specify_poi_type_only_from_list">Proszę określić rodzaj użytecznego miejsca lub pominąć go</string>
<string name="please_specify_poi_type_only_from_list">Proszę określić rodzaj użytecznego miejsca lub pominąć go.</string>
<string name="osm_edit_modified_poi">Zmodyfikowane użyteczne miejsce OSM</string>
<string name="osm_edit_deleted_poi">Usunięto użyteczne miejce OSM</string>
<string name="osm_edit_reopened_note">Otwarto ponownie notatkę OSM</string>
@ -2138,14 +2138,14 @@ Długość %2$s</string>
<string name="av_video_quality_low">Najniższa jakość</string>
<string name="av_video_quality_high">Najwyższa jakość</string>
<string name="av_video_quality">Jakość wideo</string>
<string name="av_video_quality_descr">Wybiera jakość wyjściowego nagrania wideo</string>
<string name="av_video_quality_descr">Wybiera jakość nagrania wideo.</string>
<string name="av_audio_format">Format dźwięku</string>
<string name="av_audio_format_descr">Wybiera format wyjściowego nagrania dźwięku</string>
<string name="av_audio_format_descr">Wybiera format wyjściowego nagrania dźwięku.</string>
<string name="av_audio_bitrate">Przepływność dźwięku</string>
<string name="av_audio_bitrate_descr">Określa wartość przepływności dźwięku</string>
<string name="shared_string_near">Obok</string>
<string name="routing_attr_avoid_stairs_name">Omijanie schodów</string>
<string name="routing_attr_avoid_stairs_description">Omijanie schodów</string>
<string name="routing_attr_avoid_stairs_description">Omijaj schody.</string>
<string name="routing_attr_avoid_borders_name">Omijanie przejść granicznych</string>
<string name="rendering_attr_horseRoutes_name">Szlaki konne</string>
<string name="no_address_found">Brak określonego adresu</string>
@ -2159,8 +2159,8 @@ Długość %2$s</string>
<string name="looking_up_address">Wyszukiwanie adresu</string>
<string name="missing_write_external_storage_permission">Program nie posiada uprawnień do użycia karty SD</string>
<string name="select_voice_provider">Wybór komunikatów głosowych</string>
<string name="select_voice_provider_descr">Proszę wybrać lub pobrać komunikaty głosowe właściwe dla danego języka</string>
<string name="impassable_road_desc">Wskazuje drogi, których należy unikać podczas nawigowania</string>
<string name="select_voice_provider_descr">Proszę wybrać lub pobrać komunikaty głosowe właściwe dla danego języka.</string>
<string name="impassable_road_desc">Wskazuje drogi, których należy unikać podczas nawigowania.</string>
<string name="shared_string_sound">Dźwięk</string>
<string name="no_location_permission">Program nie ma uprawnień dostępu do danych o położeniu.</string>
<string name="no_camera_permission">Program nie ma uprawnień dostępu do aparatu.</string>
@ -2216,7 +2216,7 @@ Długość %2$s</string>
<string name="shared_string_add_to_map_markers">Dodaj znacznik mapy</string>
<string name="select_map_markers">Wybierz znacznik mapy</string>
<string name="shared_string_reverse_order">Odwróć kolejność</string>
<string name="show_map_markers_description">Aktywuje funkcję znaczników mapy</string>
<string name="show_map_markers_description">Aktywuje funkcję znaczników mapy.</string>
<string name="clear_active_markers_q">Usunąć wszystkie aktywne znaczniki?</string>
<string name="clear_markers_history_q">Wyczyścić historię znaczników mapy?</string>
<string name="active_markers">Aktywne znaczniki</string>
@ -2340,7 +2340,7 @@ Długość %2$s</string>
<string name="lang_hu_formal">Węgierski (formalny)</string>
<string name="lang_kn">Kannada</string>
<string name="coords_format">Format współrzędnych</string>
<string name="coords_format_descr">Ustala format współrzędnych geograficznych</string>
<string name="coords_format_descr">Ustala format współrzędnych geograficznych.</string>
<string name="storage_directory_card">Karta pamięci</string>
<string name="shared_string_is_open">Otwarte teraz</string>
<string name="shared_string_is_open_24_7">Otwarte 24/7</string>
@ -2378,7 +2378,7 @@ Długość %2$s</string>
<string name="shared_string_change">Zmień</string>
<string name="get_started">Rozpocznij</string>
<string name="routing_attr_short_way_name">Ekonomiczna trasa</string>
<string name="routing_attr_short_way_description">Wyznacza ekonomiczną trasę (zwykle najkrótszą)</string>
<string name="routing_attr_short_way_description">Wyznacza ekonomiczną trasę (zwykle najkrótszą).</string>
<string name="replace_favorite_confirmation">Zastąpić ulubiony punkt %1$s?</string>
<string name="skip_map_downloading">Pomiń pobieranie map</string>
<string name="first_usage_greeting">Otrzymuj wskazówki dojazdu i odkrywaj nowe miejsca bez połączenia z Internetem</string>
@ -2597,12 +2597,12 @@ Reprezentuje obszar: %1$s x %2$s</string>
\n • Mnóstwo innych ulepszeń i poprawek
\n
\n i więcej…</string>
<string name="rendering_attr_depthContours_description">Wyświetla kontury i punkty głębi</string>
<string name="rendering_attr_depthContours_description">Wyświetla kontury i punkty głębi.</string>
<string name="rendering_attr_depthContours_name">Mapy batymetryczne</string>
<string name="routing_attr_height_relief_smoothness_factor_description">Więcej równin lub więcej wzgórz</string>
<string name="routing_attr_height_obstacles_name">Użyj danych wysokościowych</string>
<string name="routing_attr_height_obstacles_description">Używa danych wysokościowych dostarczanych przez SRTM, ASTER i EU-DEM</string>
<string name="routing_attr_height_obstacles_description">Używa danych wysokościowych dostarczanych przez SRTM, ASTER i EU-DEM.</string>
<string name="route_altitude">Wysokość trasy</string>
<string name="altitude_descent">Zjazdy</string>
@ -2633,7 +2633,7 @@ Reprezentuje obszar: %1$s x %2$s</string>
<string name="add_new_folder">Dodaj nowy katalog</string>
<string name="shared_string_slope">Nachylenie</string>
<string name="lang_ber">Berberyjski</string>
<string name="relief_smoothness_factor_descr">Preferuj teren: płaski lub górzysty</string>
<string name="relief_smoothness_factor_descr">Preferuj teren: płaski lub górzysty.</string>
<string name="routing_attr_relief_smoothness_factor_hills_name">Górzysty</string>
<string name="routing_attr_relief_smoothness_factor_plains_name">Mniej górzysty</string>
<string name="routing_attr_relief_smoothness_factor_more_plains_name">Płaski</string>
@ -2661,7 +2661,7 @@ Reprezentuje obszar: %1$s x %2$s</string>
<string name="quick_action_auto_zoom_off">Wyłącz automatyczne przybliżanie mapy</string>
<string name="quick_action_auto_zoom">Przełącz automatyczne przybliżanie</string>
<string name="quick_action_add_first_intermediate">Dodaj pierwszy pośredni cel trasy</string>
<string name="quick_action_auto_zoom_desc">Przełącza automatyczne przybliżanie mapy zależne od prędkości ruchu.</string>
<string name="quick_action_auto_zoom_desc">Włącza/wyłącza automatyczne przybliżanie mapy zależne od prędkości ruchu.</string>
<string name="quick_action_add_destination_desc">Ustala cel trasy w położeniu na środku ekranu a poprzednio ustalony cel zamienia na ostatni cel pośredni.</string>
<string name="quick_action_replace_destination_desc">Zastępuje cel trasy położeniem na środku ekranu.</string>
<string name="quick_action_add_first_intermediate_desc">Ustala pierwszy cel pośredni trasy w położeniu na środku ekranu.</string>
@ -2690,7 +2690,7 @@ Reprezentuje obszar: %1$s x %2$s</string>
<string name="shared_string_in_name">w %1$s</string>
<string name="shared_string_overview">Podsumowanie</string>
<string name="animate_my_location">Animowanie położenia</string>
<string name="animate_my_location_desc">Włącza animację aktualnego położenia na mapie</string>
<string name="animate_my_location_desc">Włącza animację aktualnego położenia na mapie.</string>
<string name="osmand_extended_description_part2">"
Nawigacja GPS
• Możesz wybrać pomiędzy trybem offline (brak kosztów roamingu za granicą) lub online (szybciej)
@ -2711,7 +2711,7 @@ Reprezentuje obszar: %1$s x %2$s</string>
<string name="srtm_color_scheme">Zestaw kolorów</string>
<string name="show_from_zoom_level">Wyświetlanie od stopnia przybliżenia</string>
<string name="routing_attr_allow_private_name">Uwzględnianie prywatnych obszarów</string>
<string name="routing_attr_allow_private_description">Zezwala na dostęp do prywatnych obszarów</string>
<string name="routing_attr_allow_private_description">Zezwala na dostęp do prywatnych obszarów.</string>
<string name="route_is_too_long_v2">Ta trasa może być zbyt długa do wyznaczenia. Prosimy dodać punkty pośrednie, jeżeli nie otrzymasz wyniku w ciągu 10 minut.</string>
<string name="save_poi_too_many_uppercase">Nazwa zawiera zbyt wiele wielkich liter. Czy chcesz kontynuować?</string>
<string name="shared_string_plugin">Wtyczka</string>
@ -2731,7 +2731,7 @@ Reprezentuje obszar: %1$s x %2$s</string>
<string name="restart_search">Rozpocznij ponownie wyszukiwanie</string>
<string name="increase_search_radius">Zwiększ promień wyszukiwania</string>
<string name="nothing_found">Nic nie odnaleziono :(</string>
<string name="nothing_found_descr">Proszę zmienić zapytanie lub zwiększyć promień wyszukiwania</string>
<string name="nothing_found_descr">Proszę zmienić zapytanie lub zwiększyć promień wyszukiwania.</string>
<string name="private_access_routing_req">Cel podróży jest położony na obszarze o charakterze prywatnym. Umożliwić dostęp do prywatnych dróg dla tej trasy?</string>
<string name="search_favorites">Szukaj ulubionych</string>
<string name="mapillary">Mapillary</string>
@ -2834,7 +2834,7 @@ Reprezentuje obszar: %1$s x %2$s</string>
<string name="keep_showing_on_map">Wyświetlanie na mapie</string>
<string name="exit_without_saving">Zakończyć bez zapisywania?</string>
<string name="do_not_use_animations">Wyłączenie animacji</string>
<string name="do_not_use_animations_descr">Wyłącza animacje w programie</string>
<string name="do_not_use_animations_descr">Wyłącza animacje w aplikacji.</string>
<string name="move_all_to_history">Przenieś wszystkie do historii</string>
<string name="build_route">Wyznacz trasę</string>
<string name="show_direction">Wskaźnik odległości</string>
@ -2842,7 +2842,7 @@ Reprezentuje obszar: %1$s x %2$s</string>
<string name="marker_options">Opcje znacznika</string>
<string name="marker_show_distance_descr">Proszę wybrać w jaki sposób wskazywać odległość i kierunek do znaczników mapy na ekranie:</string>
<string name="map_orientation_change_in_accordance_with_speed">Próg zmiany orientacji mapy</string>
<string name="map_orientation_change_in_accordance_with_speed_descr">Wybiera prędkość, poniżej której orientacja mapy zmieni się z „względem kierunku ruchu” na „względem kompasu”</string>
<string name="map_orientation_change_in_accordance_with_speed_descr">Wybiera prędkość, poniżej której orientacja mapy zmieni się z „względem kierunku ruchu” na „względem kompasu”.</string>
<string name="all_markers_moved_to_history">Wszystkie znaczniki mapy przeniesiono do historii</string>
<string name="marker_moved_to_history">Znacznik mapy przeniesiono do historii</string>
<string name="marker_moved_to_active">Znacznik mapy przeniesiono do aktywnych</string>
@ -2934,4 +2934,5 @@ Reprezentuje obszar: %1$s x %2$s</string>
<string name="shared_string_edited">Zmodyfikowane</string>
<string name="shared_string_added">Dodane</string>
<string name="empty_state_osm_edits">Tworzenie lub modyfikowanie obiektów OSM</string>
<string name="rename_marker">Zmień nazwę znacznika</string>
</resources>

View file

@ -2792,4 +2792,82 @@
<string name="poi_piste_difficulty">Dificuldade da pista</string>
<string name="poi_piste_grooming">Preparação de pista</string>
<string name="poi_smoking">Fumantes</string>
<string name="poi_takeaway">Comida para levar</string>
<string name="poi_cocktails">Coquetéis</string>
<string name="poi_microbrewery">Microcervejaria</string>
<string name="poi_recycling_accepted_waste">Resíduos aceitos</string>
<string name="poi_fireplace">Lareira</string>
<string name="poi_water_characteristic">Característica da água</string>
<string name="poi_diet">Dieta</string>
<string name="poi_health_specialty">Especialidade de saúde</string>
<string name="poi_massage_type">Tipo de massagem</string>
<string name="poi_tents">Barracas</string>
<string name="poi_washing_machine">Máquina de lavar roupa</string>
<string name="poi_caravans">Trailer</string>
<string name="poi_power_supply">Fonte de energia</string>
<string name="poi_medical_system">Sistema médico</string>
<string name="poi_home_visit">Visita domiciliar</string>
<string name="poi_dish">Prato</string>
<string name="poi_payment_transport_type">Tipo de pagamento (transporte)</string>
<string name="poi_social_facility_type">Tipo</string>
<string name="poi_social_facility_for">Grupo-alvo</string>
<string name="poi_compressed_air_filter">Ar comprimido</string>
<string name="poi_vacuum_cleaner_filter">Aspirador de pó</string>
<string name="poi_free_flying_characteristic">Característica</string>
<string name="poi_cafeteria">Cafetaria</string>
<string name="poi_zoo_type">Tipo</string>
<string name="poi_motorcycle_services">Serviços</string>
<string name="poi_motorcycle_type">Tipo de motocicleta</string>
<string name="poi_animal_shelter_type">Animais aceitos</string>
<string name="poi_animal_shelter_purpose">Finalidade</string>
<string name="poi_boat_rental_type">Barcos alugados</string>
<string name="poi_operational_status">Estado operacional</string>
<string name="poi_water_supply_type">Tipo de abastecimento de água</string>
<string name="poi_water_purification">Purificação de água</string>
<string name="poi_water_place_access">Acesso a local com água</string>
<string name="poi_emergency_infrastructure">Infraestrutura de emergência</string>
<string name="poi_spices">Loja de especiarias</string>
<string name="poi_shop_craft">Loja de materiais artísticos</string>
<string name="poi_waterway_fuel">Posto de gasolina para embarcações</string>
<string name="poi_lock_basin">Eclusa</string>
<string name="poi_seamark_clearance_height">Altura livre</string>
<string name="poi_seamark_clearance_height_closed">Altura livre (fechada)</string>
<string name="poi_seamark_clearance_height_open">Altura livre (aberta)</string>
<string name="poi_seamark_clearance_width">Largura livre</string>
<string name="poi_wheelchair_accessibility">Acesso para cadeira de rodas</string>
<string name="poi_animal_shelter_wildlife">Animais selvagens</string>
<string name="poi_animal_shelter_horse">Cavalos</string>
<string name="poi_animal_shelter_mammal">Mamíferos</string>
<string name="poi_animal_shelter_fish">Peixes</string>
<string name="poi_diet_vegetarian_filter_yes">Vegetariano</string>
<string name="poi_diet_vegan_filter_yes">Vegano</string>
<string name="poi_diet_gluten_free_filter_yes">Livre de glúten</string>
<string name="poi_diet_kosher_filter_yes">Kosher</string>
<string name="poi_diet_halal_filter_yes">Halal</string>
<string name="poi_diet_lactose_free_filter_yes">Livre de lactose</string>
<string name="poi_takeaway_filter_yes">Sim</string>
<string name="poi_delivery_filter_yes">Sim</string>
<string name="poi_outdoor_seating_filter_yes">Sim</string>
<string name="poi_service_bicycle_charging_yes">Cobrança: sim</string>
<string name="poi_service_bicycle_charging_no">Cobrança: não</string>
<string name="poi_bicycle_repair_station">Estação de auto-reparo de bicicletas</string>
<string name="poi_shower_filter_yes">Sim</string>
<string name="poi_health_specialty_palliative_medicine_yes">Medicina paliativa</string>
<string name="poi_sport_free_flying">Voo livre (esporte)</string>
<string name="poi_water_tap">Torneira de água</string>
<string name="poi_button_operated_yes">Operado por botões: sim</string>
<string name="poi_button_operated_no">Operado por botões: não</string>
<string name="poi_free_flying_site_takeoff">Decolagem</string>
<string name="poi_free_flying_site_landing">Pouso</string>
<string name="poi_free_flying_site_training">Treinamento</string>
<string name="poi_free_flying_official_yes">Oficial: sim</string>
<string name="poi_free_flying_official_no">Oficial: não</string>
<string name="poi_free_flying_paragliding_yes">Parapente</string>
</resources>

View file

@ -2265,7 +2265,7 @@ Pôr do Sol: %2$s</string>
<string name="do_not_show_startup_messages_desc">Suprime a exibição de descontos do aplicativo e mensagens de eventos locais especiais.</string>
<string name="shared_string_record">Registro</string>
<string name="save_track_min_speed">Velocidade mínima para registro</string>
<string name="save_track_precision">Acuidade mínima para registro</string>
<string name="save_track_precision">Precisão mínima para registro</string>
<string name="coords_format_descr">Formato para as coordenadas geográficas.</string>
<string name="shared_string_back">Voltar</string>
<string name="view">Ver</string>
@ -2413,7 +2413,7 @@ Pôr do Sol: %2$s</string>
<string name="gpx_logging_no_data">Sem dados</string>
<string name="rendering_attr_contourColorScheme_description">Esquema de cores das curvas de nível</string>
<string name="save_track_min_speed_descr">Filtro: Definir velocidade mínima para um ponto ser registrado.</string>
<string name="save_track_min_distance">Deslocamento mínimo de registo</string>
<string name="save_track_min_distance">Deslocamento mínimo de registro</string>
<string name="save_track_min_distance_descr">Filtro: Definir a distância mínima da última posição para o ponto ser registrado.</string>
<string name="save_track_precision_descr">Filtro: Definir precisão mínima para um ponto ser registrado.</string>
<string name="christmas_poi">POI de Natal</string>
@ -2427,4 +2427,23 @@ Pôr do Sol: %2$s</string>
<string name="translit_names">Transliterar nomes</string>
<string name="import_track_desc">Arquivo %1$s não possui pontos de passagem, importe-o como uma trilha?</string>
<string name="add_segment_to_the_track">Adicionar a uma trilha GPX</string>
</resources>
<string name="empty_state_av_notes_desc">Adicionar nota de áudio, vídeo ou foto para cada ponto no mapa, usando o widget ou o menu de contexto.</string>
<string name="quick_action_add_destination_desc">Tocando no botão de ação adicionará um destino na localização do centro da tela. O destino anteriormente definido se torna o último destino intermediário.</string>
<string name="quick_action_replace_destination_desc">Tocando no botão de ação substituirá o destino com a localização do centro da tela.</string>
<string name="quick_action_add_first_intermediate_desc">Tocando no botão de ação adicionará um primeiro ponto intermédio na localização do centro da tela.</string>
<string name="subscribe_email_desc">Se inscreva na nossa lista de e-mail sobre descontos do app e obtenha mais 3 downloads de mapa!</string>
<string name="do_not_send_anonymous_app_usage_desc">OsmAnd coleta informações sobre quais partes do aplicativo você abrir. A sua localização nunca é enviada, nem qualquer coisa digitada no aplicativo ou detalhes das áreas que você visualizar, pesquisar ou baixar.</string>
<string name="auto_split_recording_title">Autodividir gravações após um intervalo</string>
<string name="auto_split_recording_descr">Iniciar novo segmento após intervalo de 6 min, um novo trajeto após intervalo de 2 h, ou um novo arquivo depois de um longo intervalo se a data foi alterada.</string>
<string name="upload_osm_note_description">Você pode enviar sua nota de OSM anonimamente ou usando seu perfil OpenStreetMap.org.</string>
<string name="trip_rec_notification_settings_desc">Exiba uma notificação de sistema que permite iniciar a gravação de viagem.</string>
<string name="christmas_desc">Antecipando os feriados de Natal e ano novo, você pode optar por exibir o POI associado com o Natal: árvores de Natal, mercados, etc.</string>
<string name="osm_live_payment_desc">Assinatura será cobrada mensalmente. Você pode cancelar sua assinatura no Google Play a qualquer momento.</string>
<string name="donation_to_osm_desc">Parte de sua doação será enviada aos usuários OSM que enviam alterações ao OpenStreetMap. O custo da inscrição permanece o mesmo.</string>
<string name="osm_live_subscription_desc">Assinatura permite atualizações a cada hora, diariamente e semanais, e downloads ilimitados para todos os mapas globalmente.</string>
<string name="get_it">Adquira já</string>
<string name="get_for">Adquira por %1$s</string>
<string name="get_for_month">Adquira por %1$s mês</string>
<string name="osm_live_banner_desc">Obter downloads ilimitados de mapa e atualizações de mapas mais de uma vez por mês: por hora, diária ou semanal.</string>
<string name="quick_action_add_gpx_descr">Tocando o botão de ação adicionará um ponto de passagem de GPX na localização do centro da tela.</string>
</resources>

View file

@ -1,5 +1,7 @@
<?xml version='1.0' encoding='UTF-8'?>
<resources>
<string name="av_locations_selected_desc">Файл GPX с координатами и данными выбранных заметок.</string>
<string name="av_locations_all_desc">Файл GPX с координатами и данными всех заметок.</string>
<string name="favorite_empty_place_name">Место</string>
<string name="private_access_routing_req">Ваш пункт назначения находится на частной территории. Вы хотите разрешить доступ к частным дорогам для этой поездки?</string>
<string name="restart_search">Искать снова</string>
@ -432,7 +434,7 @@
<string name="amenity_type_user_defined">Пользовательские</string>
<string name="fav_export_confirmation">Файл с избранными уже существует. Вы хотите его заменить?</string>
<string name="profile_settings">Настройка профиля</string>
<string name="settings_preset">Профиль</string>
<string name="settings_preset">Профиль по умолчанию</string>
<string name="settings_preset_descr">Выберите профиль работы приложения (в каждом профиле настройки хранятся отдельно).</string>
<string name="global_settings">Общие настройки</string>
<string name="global_app_settings">Общие настройки приложения</string>

View file

@ -380,7 +380,7 @@
<string name="poi_internet_access_service">Internetni dostop: storitev</string>
<string name="poi_monastery">Samostan</string>
<string name="poi_information">Turistične informacije</string>
<string name="poi_information">Informacije</string>
<string name="poi_clock">Ura</string>
<string name="poi_travel_agent">Potovalna agencija</string>
<string name="poi_viewpoint">Razgledna točka</string>
@ -414,7 +414,7 @@
<string name="poi_entrance_main">Glavni vhod</string>
<string name="poi_entrance">Vhod</string>
<string name="poi_hiking_routes">Pohodniške poti</string>
<string name="poi_fuel_type">Vrsta</string>
<string name="poi_fuel_type">Vrsta goriva</string>
<string name="poi_fuel_avia_type">Vrsta</string>
<string name="poi_payment_type">Način plačila</string>
<string name="poi_internet_access_type">Vrsta dostopa do interneta</string>

View file

@ -22,6 +22,8 @@
<string name="will_be_opened_at">Will be opened at</string>
<string name="will_be_opened_on">Will be opened on</string>
<string name="additional_actions">Additional actions</string>
<string name="av_locations_selected_desc">GPX file with coordinates and data of the selected notes.</string>
<string name="av_locations_all_desc">GPX file with coordinates and data of all notes.</string>
<string name="release_3_0">
\u2022 Detection of stop signs now considers driving direction\n\n
\u2022 New algorithm providing meaningful ascent/descent values for GPX tracks\n\n
@ -569,6 +571,7 @@
<string name="donations">Donations</string>
<string name="number_of_recipients">Number of recipients</string>
<string name="osm_user_stat">Edits %1$s, rank %2$s, total edits %3$s</string>
<string name="osm_recipient_stat">Edits %1$s, sum %2$s mBTC</string>
<string name="osm_editors_ranking">OSM Editors ranking</string>
<string name="osm_live_subscription">OsmAnd Live subscription</string>
<string name="osm_live_subscribe_btn">Subscribe</string>
@ -2834,4 +2837,6 @@
<string name="import_track_desc">File %1$s does not contain waypoints, import it as a track?</string>
<string name="move_point">Move Point</string>
<string name="add_segment_to_the_track">Add to a GPX track</string>
<string name="osm_recipients_label">OSM Recipients</string>
<string name="total_donations">Total Donations</string>
</resources>

View file

@ -3,6 +3,9 @@
<cache-path
name="share"
path="share" />
path="share"/>
<external-files-path
name="files"
path="/"/>
</paths>

View file

@ -118,7 +118,7 @@ public class ShowRouteInfoDialogFragment extends DialogFragment {
});
((ImageView) view.findViewById(R.id.distance_icon))
.setImageDrawable(app.getIconsCache().getThemedIcon(R.drawable.ic_action_polygom_dark));
.setImageDrawable(app.getIconsCache().getThemedIcon(R.drawable.ic_action_route_distance));
((ImageView) view.findViewById(R.id.time_icon))
.setImageDrawable(app.getIconsCache().getThemedIcon(R.drawable.ic_action_time_span));

View file

@ -481,6 +481,15 @@ public class AudioVideoNotesPlugin extends OsmandPlugin {
return date + "" + sz + "" + getDuration(ctx, false);
}
public String getTypeWithDuration(Context ctx) {
StringBuilder res = new StringBuilder(getType(ctx));
if (isAudio() || isVideo()) {
updateInternalDescription();
res.append(", ").append(getDuration(ctx, false));
}
return res.toString();
}
public String getPlainDuration(boolean accessibilityEnabled) {
updateInternalDescription();
if (duration > 0) {

View file

@ -10,6 +10,7 @@ import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.content.FileProvider;
import android.support.v7.app.AlertDialog;
import android.support.v7.view.ActionMode;
import android.view.LayoutInflater;
@ -453,16 +454,17 @@ public class NotesFragment extends OsmAndListFragment {
}
private void shareItems(Set<Recording> selected) {
ArrayList<Uri> files = new ArrayList<>();
ArrayList<Uri> uris = new ArrayList<>();
for (Recording rec : selected) {
File file = rec == SHARE_LOCATION_FILE ? generateGPXForRecordings(selected) : rec.getFile();
if (file != null) {
files.add(Uri.parse(file.getAbsolutePath()));
uris.add(FileProvider.getUriForFile(getContext(), getActivity().getPackageName() + ".fileprovider", file));
}
}
Intent intent = new Intent(Intent.ACTION_SEND_MULTIPLE);
intent.setType("*/*");
intent.putExtra(Intent.EXTRA_STREAM, files);
intent.putExtra(Intent.EXTRA_STREAM, uris);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
if (Build.VERSION.SDK_INT > 18) {
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
@ -470,16 +472,18 @@ public class NotesFragment extends OsmAndListFragment {
startActivity(Intent.createChooser(intent, getString(R.string.share_note)));
}
@Nullable
private File generateGPXForRecordings(Set<Recording> selected) {
File externalCacheDir = getActivity().getExternalCacheDir();
if (externalCacheDir == null) {
return null;
private Set<Recording> getRecordingsForGpx(Set<Recording> selected) {
if (selected.size() == 1 && selected.contains(SHARE_LOCATION_FILE)) {
return new HashSet<>(plugin.getAllRecordings());
}
File tmpFile = new File(externalCacheDir, "share/noteLocations.gpx");
return selected;
}
private File generateGPXForRecordings(Set<Recording> selected) {
File tmpFile = new File(getActivity().getCacheDir(), "share/noteLocations.gpx");
tmpFile.getParentFile().mkdirs();
GPXFile file = new GPXFile();
for (Recording r : selected) {
for (Recording r : getRecordingsForGpx(selected)) {
if (r != SHARE_LOCATION_FILE) {
String desc = r.getDescriptionName(r.getFileName());
if (desc == null) {
@ -492,6 +496,7 @@ public class NotesFragment extends OsmAndListFragment {
wpt.link = r.getFileName();
wpt.time = r.getFile().lastModified();
wpt.category = r.getSearchHistoryType();
wpt.desc = r.getTypeWithDuration(getContext());
getMyApplication().getSelectedGpxHelper().addPoint(wpt, file);
}
}

View file

@ -205,7 +205,7 @@ public class NotesAdapter extends ArrayAdapter<Object> {
setupBackground(holder.view);
if (recording == NotesFragment.SHARE_LOCATION_FILE) {
holder.title.setText(R.string.av_locations);
holder.description.setText(R.string.av_locations_descr);
holder.description.setText(getLocationsDescId());
} else {
holder.title.setText(recording.getName(app, true));
holder.description.setText(recording.getExtendedDescription(app));
@ -255,6 +255,13 @@ public class NotesAdapter extends ArrayAdapter<Object> {
});
}
private int getLocationsDescId() {
if (selected.contains(NotesFragment.SHARE_LOCATION_FILE)) {
return selected.size() == 1 ? R.string.av_locations_all_desc : R.string.av_locations_selected_desc;
}
return R.string.av_locations_descr;
}
private void setupBackground(View view) {
if (!portrait) {
view.setBackgroundColor(ContextCompat.getColor(getContext(), R.color.color_transparent));

View file

@ -23,6 +23,9 @@ public final class Protocol {
public int regionCount;
public float regionPercentage;
public float btc;
public float eur;
public float eurRate;
public Recipient[] rows;
}
public static class UserRankingByMonth {
@ -49,4 +52,12 @@ public final class Protocol {
public int changes;
}
public static class Recipient {
String osmid;
int changes;
String btcaddress;
int rank;
int weight;
float btc;
}
}

View file

@ -18,6 +18,7 @@ import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.Spinner;
import android.widget.TextView;
@ -52,6 +53,8 @@ public class ReportsFragment extends BaseOsmAndFragment implements CountrySelect
private static final Log LOG = PlatformUtil.getLog(ReportsFragment.class);
public static final String OSM_LIVE_URL = "https://osmand.net/osm_live";
public static final String EDITS_FRAGMENT = "NumberOfEditsFragment";
public static final String RECIPIENTS_FRAGMENT = "RecipientsFragment";
private TextView contributorsTextView;
private TextView editsTextView;
@ -70,11 +73,15 @@ public class ReportsFragment extends BaseOsmAndFragment implements CountrySelect
private ImageView numberOfEditsIcon;
private ImageView donationsIcon;
private ImageView numberOfRecipientsIcon;
private ImageView donationsTotalIcon;
private TextView donationsTotalTitle;
private TextView donationsTotalTextView;
private TextView numberOfContributorsTitle;
private TextView numberOfEditsTitle;
private TextView numberOfRecipientsTitle;
private TextView donationsTitle;
private ProgressBar progressBar;
private LinearLayout donationsTotalLayout;
private int inactiveColor;
private int textColorPrimary;
@ -129,15 +136,17 @@ public class ReportsFragment extends BaseOsmAndFragment implements CountrySelect
String countryUrlString = selectedCountryItem.getDownloadName();
if (countryUrlString.length() > 0) {
Bundle bl = new Bundle();
boolean isRecipientsReport = v.getId() == R.id.numberOfRecipientsLayout;
bl.putString(UsersReportFragment.URL_REQUEST,
String.format(USERS_RANKING_BY_MONTH, monthUrlString, countryUrlString));
String.format(isRecipientsReport ? RECIPIENTS_BY_MONTH : USERS_RANKING_BY_MONTH, monthUrlString, countryUrlString));
userReportFragment.setArguments(bl);
userReportFragment.show(getChildFragmentManager(), "NumberOfEditsFramgnet");
userReportFragment.show(getChildFragmentManager(), isRecipientsReport ? RECIPIENTS_FRAGMENT : EDITS_FRAGMENT);
}
}
};
view.findViewById(R.id.numberOfContributorsLayout).setOnClickListener(listener);
view.findViewById(R.id.numberOfEditsLayout).setOnClickListener(listener);
view.findViewById(R.id.numberOfRecipientsLayout).setOnClickListener(listener);
countrySelectionFragment.initCountries(getMyApplication());
selectedCountryItem = countrySelectionFragment.getCountryItems().get(0);
@ -155,9 +164,11 @@ public class ReportsFragment extends BaseOsmAndFragment implements CountrySelect
numberOfEditsIcon = (ImageView) view.findViewById(R.id.numberOfEditsIcon);
numberOfRecipientsIcon = (ImageView) view.findViewById(R.id.numberOfRecipientsIcon);
donationsIcon = (ImageView) view.findViewById(R.id.donationsIcon);
donationsTotalIcon = (ImageView) view.findViewById(R.id.donationsTotalIcon);
setThemedDrawable(numberOfContributorsIcon, R.drawable.ic_action_group2);
setThemedDrawable(numberOfRecipientsIcon, R.drawable.ic_group);
setThemedDrawable(donationsIcon, R.drawable.ic_action_bitcoin);
setThemedDrawable(donationsTotalIcon, R.drawable.ic_action_bitcoin);
setThemedDrawable(numberOfEditsIcon, R.drawable.ic_map);
@ -165,6 +176,10 @@ public class ReportsFragment extends BaseOsmAndFragment implements CountrySelect
numberOfEditsTitle = (TextView) view.findViewById(R.id.numberOfEditsTitle);
donationsTitle = (TextView) view.findViewById(R.id.donationsTitle);
numberOfRecipientsTitle = (TextView) view.findViewById(R.id.numberOfRecipientsTitle);
donationsTotalLayout = (LinearLayout) view.findViewById(R.id.donationsTotal);
donationsTotalTitle = (TextView) view.findViewById(R.id.donationsTotalTitle);
donationsTotalTextView = (TextView) view.findViewById(R.id.donationsTotalTextView);
progressBar = (ProgressBar) view.findViewById(R.id.progress);
@ -203,7 +218,7 @@ public class ReportsFragment extends BaseOsmAndFragment implements CountrySelect
tryUpdateData(monthUrlString, countryUrlString);
}
private void tryUpdateData(String monthUrlString, String regionUrlString) {
private void tryUpdateData(String monthUrlString, final String regionUrlString) {
GetJsonAsyncTask.OnResponseListener<Protocol.TotalChangesByMonthResponse> onResponseListener =
new GetJsonAsyncTask.OnResponseListener<Protocol.TotalChangesByMonthResponse>() {
@Override
@ -251,24 +266,32 @@ public class ReportsFragment extends BaseOsmAndFragment implements CountrySelect
recipientsTextView.setText(String.valueOf(response.regionCount));
}
if (donationsTextView != null) {
donationsTextView.setText(String.format("%.3f", response.regionBtc*1000.0) + " mBTC");
donationsTextView.setText(String.format("%.3f", response.regionBtc*1000f) + " mBTC");
}
if (donationsTotalLayout != null &&
donationsTotalTextView != null) {
donationsTotalLayout.setVisibility(regionUrlString.isEmpty() ? View.VISIBLE : View.GONE);
donationsTotalTextView.setText(String.format("%.3f", response.btc*1000f) + " mBTC");
}
}
disableProgress();
}
};
recChangesByMontAsyncTask.setOnResponseListener(recResponseListener);
clearTextViewResult(recipientsTextView);
clearTextViewResult(donationsTextView);
clearTextViewResult(donationsTotalTextView);
if (recipientsTextView != null) {
recipientsTextView.setText("-");
}
if (donationsTextView != null) {
donationsTextView.setText("-");
}
String recfinalUrl = String.format(RECIPIENTS_BY_MONTH, monthUrlString, regionUrlString);
recChangesByMontAsyncTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, recfinalUrl);
}
private void clearTextViewResult(TextView textView) {
if (textView != null) {
textView.setText("-");
}
}
@Override
public void onSearchResult(CountryItem item) {
selectedCountryItem = item;
@ -364,16 +387,19 @@ public class ReportsFragment extends BaseOsmAndFragment implements CountrySelect
numberOfEditsIcon.setImageDrawable(getPaintedContentIcon(R.drawable.ic_map, inactiveColor));
numberOfRecipientsIcon.setImageDrawable(getPaintedContentIcon(R.drawable.ic_group, inactiveColor));
donationsIcon.setImageDrawable(getPaintedContentIcon(R.drawable.ic_action_bitcoin, inactiveColor));
donationsTotalIcon.setImageDrawable(getPaintedContentIcon(R.drawable.ic_action_bitcoin, inactiveColor));
numberOfContributorsTitle.setTextColor(inactiveColor);
numberOfEditsTitle.setTextColor(inactiveColor);
numberOfRecipientsTitle.setTextColor(inactiveColor);
donationsTitle.setTextColor(inactiveColor);
donationsTotalTitle.setTextColor(inactiveColor);
progressBar.setVisibility(View.VISIBLE);
contributorsTextView.setTextColor(inactiveColor);
donationsTextView.setTextColor(inactiveColor);
donationsTotalTextView.setTextColor(inactiveColor);
recipientsTextView.setTextColor(inactiveColor);
editsTextView.setTextColor(inactiveColor);
}
@ -383,17 +409,20 @@ public class ReportsFragment extends BaseOsmAndFragment implements CountrySelect
numberOfEditsIcon.setImageDrawable(getContentIcon(R.drawable.ic_map));
numberOfRecipientsIcon.setImageDrawable(getContentIcon(R.drawable.ic_group));
donationsIcon.setImageDrawable(getContentIcon(R.drawable.ic_action_bitcoin));
donationsTotalIcon.setImageDrawable(getContentIcon(R.drawable.ic_action_bitcoin));
numberOfContributorsTitle.setTextColor(textColorSecondary);
numberOfEditsTitle.setTextColor(textColorSecondary);
numberOfRecipientsTitle.setTextColor(textColorSecondary);
donationsTitle.setTextColor(textColorSecondary);
donationsTotalTitle.setTextColor(textColorSecondary);
progressBar.setVisibility(View.INVISIBLE);
contributorsTextView.setTextColor(textColorPrimary);
editsTextView.setTextColor(textColorPrimary);
donationsTextView.setTextColor(textColorPrimary);
donationsTotalTextView.setTextColor(textColorPrimary);
recipientsTextView.setTextColor(textColorPrimary);
}

View file

@ -1,7 +1,5 @@
package net.osmand.plus.liveupdates;
import java.util.Arrays;
import net.osmand.plus.R;
import net.osmand.plus.base.BaseOsmAndDialogFragment;
import net.osmand.plus.liveupdates.Protocol.RankingUserByMonthResponse;
@ -32,11 +30,12 @@ public class UsersReportFragment extends BaseOsmAndDialogFragment {
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
final View view = inflater.inflate(R.layout.fragment_simple_list, container, false);
ListView listView = (ListView) view.findViewById(android.R.id.list);
final ArrayAdapter<UserRankingByMonth> adapter = new ListAdapter(getListItemIcon());
final ArrayAdapter<Object> adapter = new ListAdapter(getListItemIcon());
String url = getArguments().getString(URL_REQUEST);
//String reg = getArguments().getString(REGION_NAME);
view.findViewById(R.id.progress).setVisibility(View.VISIBLE);
((TextView)view.findViewById(R.id.titleTextView)).setText(R.string.osm_editors_ranking);
if (getTag().equals(ReportsFragment.EDITS_FRAGMENT)) {
((TextView) view.findViewById(R.id.titleTextView)).setText(R.string.osm_editors_ranking);
GetJsonAsyncTask<RankingUserByMonthResponse> task = new GetJsonAsyncTask<>(RankingUserByMonthResponse.class);
task.setOnResponseListener(new OnResponseListener<Protocol.RankingUserByMonthResponse>() {
@ -44,15 +43,35 @@ public class UsersReportFragment extends BaseOsmAndDialogFragment {
public void onResponse(RankingUserByMonthResponse response) {
if (response != null && response.rows != null) {
for (UserRankingByMonth rankingByMonth : response.rows) {
if (rankingByMonth != null) {
adapter.add(rankingByMonth);
}
}
}
view.findViewById(R.id.progress).setVisibility(View.GONE);
}
});
task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, url);
listView.setAdapter(adapter);
} else if (getTag().equals(ReportsFragment.RECIPIENTS_FRAGMENT)) {
((TextView)view.findViewById(R.id.titleTextView)).setText(R.string.osm_recipients_label);
GetJsonAsyncTask<Protocol.RecipientsByMonth> task = new GetJsonAsyncTask<>(Protocol.RecipientsByMonth.class);
task.setOnResponseListener(new OnResponseListener<Protocol.RecipientsByMonth>() {
@Override
public void onResponse(Protocol.RecipientsByMonth response) {
if (response != null && response.rows != null) {
for (Protocol.Recipient recipient : response.rows) {
if (recipient != null) {
adapter.add(recipient);
}
}
}
view.findViewById(R.id.progress).setVisibility(View.GONE);
}
});
task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, url);
}
listView.setAdapter(adapter);
ImageButton clearButton = (ImageButton) view.findViewById(R.id.closeButton);
//setThemedDrawable(clearButton, R.drawable.ic_action_remove_dark);
clearButton.setOnClickListener(new View.OnClickListener() {
@ -74,7 +93,7 @@ public class UsersReportFragment extends BaseOsmAndDialogFragment {
super.onDetach();
}
private class ListAdapter extends ArrayAdapter<UserRankingByMonth> {
private class ListAdapter extends ArrayAdapter<Object> {
private final Drawable drawableLeft;
@ColorInt
private final int textColor;
@ -93,22 +112,28 @@ public class UsersReportFragment extends BaseOsmAndDialogFragment {
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
UserRankingByMonth item = getItem(position);
View v = convertView;
public View getView(int position, View v, ViewGroup parent) {
if (v == null) {
LayoutInflater inflater = getActivity().getLayoutInflater();
v = inflater.inflate(android.R.layout.simple_list_item_2, parent, false);
v = getActivity().getLayoutInflater().inflate(android.R.layout.simple_list_item_2, parent, false);
}
TextView text1 = (TextView) v.findViewById(android.R.id.text1);
TextView text2 = (TextView) v.findViewById(android.R.id.text2);
text1.setText(item.user);
text2.setText(getString(R.string.osm_user_stat,
String.valueOf(item.changes), String.valueOf(item.rank), String.valueOf(item.globalchanges)));
text1.setTextColor(textColor);
text2.setTextColor(textSecondaryColor);
text1.setCompoundDrawablesWithIntrinsicBounds(drawableLeft, null, null, null);
text1.setCompoundDrawablePadding(getResources().getDimensionPixelSize(R.dimen.list_content_padding));
Object item = getItem(position);
if (item instanceof UserRankingByMonth) {
UserRankingByMonth rankingByMonth = (UserRankingByMonth) item;
text1.setText(rankingByMonth.user);
text2.setText(getString(R.string.osm_user_stat,
String.valueOf(rankingByMonth.changes), String.valueOf(rankingByMonth.rank), String.valueOf(rankingByMonth.globalchanges)));
} else if (item instanceof Protocol.Recipient){
Protocol.Recipient recipient = (Protocol.Recipient) item;
text1.setText(recipient.osmid);
text2.setText(getString(R.string.osm_recipient_stat,
String.valueOf(recipient.changes), String.format("%.4f", (recipient.btc*1000f))));
}
return v;
}
}

View file

@ -201,9 +201,11 @@ public class AdvancedEditPoiFragment extends BaseOsmAndFragment
if (!hasFocus) {
if (!editPoiData.isInEdit()) {
String s = tagEditText.getText().toString();
if (!previousTag[0].equals(s)) {
editPoiData.removeTag(previousTag[0]);
editPoiData.putTag(s.toString(), valueEditText.getText().toString());
previousTag[0] = s.toString();
editPoiData.putTag(s, valueEditText.getText().toString());
previousTag[0] = s;
}
}
} else {
tagAdapter.getFilter().filter(tagEditText.getText());

View file

@ -37,7 +37,7 @@ public class EditPoiData {
category = app.getPoiTypes().getOtherPoiCategory();
entity = node;
initTags(node);
updateTypeTag(getPoiTypeString());
updateTypeTag(getPoiTypeString(), false);
}
public Map<String, PoiType> getAllTranslatedSubTypes() {
@ -116,8 +116,11 @@ public class EditPoiData {
try {
isInEdit = true;
tagValues.remove(REMOVE_TAG_PREFIX+tag);
tagValues.put(tag, value);
String oldValue = tagValues.get(tag);
if (oldValue == null || !oldValue.equals(value)) {
changedTags.add(tag);
}
tagValues.put(tag, value);
notifyDatasetChanged(tag);
} finally {
isInEdit = false;
@ -193,9 +196,11 @@ public class EditPoiData {
return hasChangesBeenMade;
}
public void updateTypeTag(String string) {
public void updateTypeTag(String string, boolean userChanges) {
tagValues.put(POI_TYPE_TAG, string);
if (userChanges) {
changedTags.add(POI_TYPE_TAG);
}
retrieveType();
PoiType pt = getPoiTypeDefined();
if(pt != null) {

View file

@ -258,6 +258,7 @@ public class EditPoiDialogFragment extends BaseOsmAndDialogFragment {
poiNameEditText.setText(editPoiData.getTag(OSMSettings.OSMTagKey.NAME.getValue()));
poiTypeTextInputLayout = (TextInputLayout) view.findViewById(R.id.poiTypeTextInputLayout);
poiTypeEditText = (AutoCompleteTextView) view.findViewById(R.id.poiTypeEditText);
poiTypeEditText.setText(editPoiData.getPoiTypeString());
poiTypeEditText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
@ -270,7 +271,7 @@ public class EditPoiDialogFragment extends BaseOsmAndDialogFragment {
@Override
public void afterTextChanged(Editable s) {
if (!getEditPoiData().isInEdit()) {
getEditPoiData().updateTypeTag(s.toString());
getEditPoiData().updateTypeTag(s.toString(), true);
if (!getMyApplication().isApplicationInitializing()) {
poiTypeTextInputLayout.setHint(editPoiData.getPoiCategory().getTranslation());
}
@ -279,7 +280,6 @@ public class EditPoiDialogFragment extends BaseOsmAndDialogFragment {
});
poiNameEditText.setOnEditorActionListener(mOnEditorActionListener);
poiTypeEditText.setOnEditorActionListener(mOnEditorActionListener);
poiTypeEditText.setText(editPoiData.getPoiTypeString());
poiTypeEditText.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(final View v, MotionEvent event) {

View file

@ -37,6 +37,7 @@ import java.io.StringWriter;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.text.MessageFormat;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;
@ -330,11 +331,20 @@ public class OpenstreetmapRemoteUtil implements OpenstreetmapUtil {
EntityId id = new Entity.EntityId(EntityType.NODE, nodeId);
Node entity = (Node) st.getRegisteredEntities().get(id);
// merge non existing tags
for (String rtag : entity.getTagKeySet()) {
if (!deletedTag(n, rtag) && (!containsTag(n, rtag) || !tagChanged(n, rtag))) {
n.putTagNoLC(rtag, entity.getTag(rtag));
Map<String, String> updatedTags = new HashMap<>();
for (String tagKey : entity.getTagKeySet()) {
if (tagKey != null && !deletedTag(n, tagKey)) {
addIfNotNull(tagKey, entity.getTag(tagKey), updatedTags);
}
}
if (n.getChangedTags() != null) {
for (String tagKey : n.getChangedTags()) {
if (tagKey != null) {
addIfNotNull(tagKey, n.getTag(tagKey), updatedTags);
}
}
}
n.replaceTags(updatedTags);
if(MapUtils.getDistance(n.getLatLon(), entity.getLatLon()) < 10) {
// avoid shifting due to round error
n.setLatitude(entity.getLatitude());
@ -353,18 +363,16 @@ public class OpenstreetmapRemoteUtil implements OpenstreetmapUtil {
return null;
}
private void addIfNotNull(String key, String value, Map<String, String> tags) {
if (value != null) {
tags.put(key, value);
}
}
private boolean deletedTag(Node node, String tag) {
return node.getTagKeySet().contains(EditPoiData.REMOVE_TAG_PREFIX + tag);
}
private boolean containsTag(Node node, String tag) {
return node.getTagKeySet().contains(tag);
}
private boolean tagChanged(Node node, String tag) {
return node.getChangedTags() != null && node.getChangedTags().contains(tag);
}
@Override
public Node loadNode(Amenity n) {
if (n.getId() % 2 == 1) {