Merge branch 'master' of https://github.com/osmandapp/Osmand into sherpafy_dialog

This commit is contained in:
Denis 2014-07-28 15:28:01 +03:00
commit f2209eea40
25 changed files with 660 additions and 108 deletions

View file

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version='1.0' encoding='utf-8'?>
<resources><string name="auto_zoom_none">Без аўтаматычнага масштабіраваньня</string>
<string name="auto_zoom_close">Зачыніць</string>
<string name="auto_zoom_far">Для сярэдняга масштаба</string>
@ -1906,4 +1906,11 @@ OsmAnd мае адкрыты зыходны код і актыўна разві
<string name="live_monitoring_stop">Спыніць адсочваньне праз Інтэрнэт</string>
<string name="live_monitoring_m">Адсочваньне праз Інтэрнэт (патрабуецца GPX)</string>
<string name="live_monitoring_m_descr">Адсылаць месцазнаходжаньне на пазначаны вэб сэрвіс пры ўключаным запісе GPX.</string>
</resources>
<string name="lang_al">альбанская</string>
<string name="lang_ar">арабская</string>
<string name="lang_sr">сэрбская</string>
<string name="lang_zh_CN">кітайская спрошчаная</string>
<string name="lang_zh_TW">кітайская традыцыйная</string>
<string name="lang_sc">сардынская</string>
<string name="rendering_attr_subwayMode_name">Рэжым метро</string>
</resources>

View file

@ -1915,4 +1915,5 @@ La llista de països inclosos (bàsicament tot el món!): Afganistan, Albània,
<string name="lang_sr">Serbi</string>
<string name="lang_zh_CN">Xinès simplificat</string>
<string name="lang_zh_TW">Xinès tradicional</string>
</resources>
<string name="rendering_attr_subwayMode_name">Mode subsol</string>
</resources>

View file

@ -1646,7 +1646,7 @@ s často kladenými otázkami.</string>
<string name="rendering_attr_hideWoodScrubs_name">Skrýt lesy a křoviny</string>
<string name="rendering_attr_showSurfaces_name">Ukázat povrchy cest</string>
<string name="osmo_group_information">Prosím čtěte před vytvářením skupiny!</string>
<string name="osmo_group_information_desc">" - Všechny vytvořené skupiny jsou veřejné! Pokud chcete být anonymní, připojte zařízení přímo přes ID\n - Do skupiny se může registrovat až 16 lidí.
<string name="osmo_group_information_desc">" - Všechny vytvořené skupiny jsou veřejné! Pokud chcete být anonymní, připojte zařízení přímo přes ID.\n - Do skupiny se může registrovat až 16 lidí.
\n - V případě neaktivity nebo aktivity pouze jedné osoby v průběhu dvou týdnů, bude skupina zrušena.\n - Můžete omezit vstup do skupiny pozvánkami, ale pro ovládání skupiny musíte použít administrátorskou konzoli.\n - Pokud potřebujete vytvořit skupinu s jinými podmínkami prosím kontaktujte http://osmo.mobi"</string>
<string name="osmo_auth_error">Chyba při autorizaci OsMo: %1$s.\n Služba může být dočasně nedostupná nebo vám vypršela registrace.
\n Chcete pokračovat v nové registraci.</string>
@ -1654,4 +1654,27 @@ s často kladenými otázkami.</string>
<string name="rendering_attr_showCycleRoutes_name">Zobrazit cyklostezky</string>
<string name="forward">Vpřed</string>
<string name="home">Domů</string>
<string name="keep_navigation_service">Ponechat</string>
<string name="stop_navigation_service">Zastavit</string>
<string name="enable_sleep_mode">Zapnout režim spánku</string>
<string name="gps_wake_up_timer">Interval probouzení GPS</string>
<string name="sleep_mode_stop_dialog">Udržovat GPS zapnutou?</string>
<string name="map_preferred_locale_descr">Preferovaný jazyk pro nápisy na mapě (pokud není dostupný budou použité anglické nebo lokální názvy)</string>
<string name="map_preferred_locale">Preferovaný jazyk mapy</string>
<string name="local_map_names">Lokální názvy</string>
<string name="live_monitoring_m_descr">Pokud je zapnutý záznam GPX trasy, odesílat trasování určené webové službě.</string>
<string name="live_monitoring_m">Online záznam trasy (nutné GPX)</string>
<string name="live_monitoring_start">Zapnout online záznam trasy</string>
<string name="live_monitoring_stop">Zastavit online záznam trasy</string>
<string name="gpx_monitoring_start">Zapnout záznam GPX</string>
<string name="gpx_monitoring_stop">Zastavit záznam GPX</string>
<string name="gpx_start_new_segment">Začít nový segment</string>
<string name="rendering_attr_hideNonVehicleHighways_name">Skrýt cesty které nejsou pro vozidla</string>
<string name="rendering_attr_buildings15zoom_name">Budovy při přiblížení 15</string>
<string name="rendering_attr_moreDetailed_name">Více detailů</string>
<string name="rendering_attr_lessDetailed_name">Méně detailů</string>
<string name="rendering_attr_hideAccess_name">Skrýt typ přístupu</string>
<string name="rendering_attr_showAccess_name">Zobrazit typ přístupu</string>
<string name="rendering_attr_showSurfaceGrade_name">Zobrazit kvalitu cest</string>
<string name="osmo_group_by_invite">Vstoupit na pozvánku</string>
</resources>

View file

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version='1.0' encoding='utf-8'?>
<resources><string name="srtm_paid_version_msg">Overvej at købe Højdekurve udvidelsen (\'Contour lines\') på Google Play for at støtte den videre udvikling.</string>
<string name="av_def_action_video">Optag video</string>
<string name="av_def_action_audio">Optag audio</string>
@ -1939,4 +1939,5 @@ Afghanistan, Albanien, Algeriet, Andorra, Angola, Anguilla, Antigua og Barbuda,
<string name="lang_zh_CN">Kinesisk, forenklet</string>
<string name="lang_zh_TW">Kinesisk, traditionelt</string>
<string name="lang_sc">Sardisk</string>
</resources>
<string name="rendering_attr_subwayMode_name">Undergrundsbanetilstand</string>
</resources>

View file

@ -1,4 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?><resources><string name="route_is_too_long">Die Route ist wahrscheinlich zu lang um vom OsmAnd-Offline-Router berechnet zu werden. Offline-Routing ist bis ungefähr 200 km Abstand zwischen einzelnen Punkten möglich. Bitte einen oder mehrere Zwischenpunkte setzen um die Route berechnen zu können.</string>
<?xml version='1.0' encoding='utf-8'?>
<resources><string name="route_is_too_long">Die Route ist wahrscheinlich zu lang um vom OsmAnd-Offline-Router berechnet zu werden. Offline-Routing ist bis ungefähr 200 km Abstand zwischen einzelnen Punkten möglich. Bitte einen oder mehrere Zwischenpunkte setzen um die Route berechnen zu können.</string>
<string name="auto_zoom_none">Kein Auto-Zoom</string>
<string name="auto_zoom_close">Auf Nahbereich</string>
<string name="auto_zoom_far">Auf Mittelbereich</string>
@ -1905,4 +1906,22 @@ Afghanistan, Ägypten, Albanien, Algerien, Andorra, Angola, Anguilla, Antigua an
<string name="hours_ago">Stunden her</string>
<string name="minutes_ago">Minuten her</string>
<string name="seconds_ago">Sekunden her</string>
</resources>
<string name="lang_zh_CN">Chinesisch (vereinfacht)</string>
<string name="lang_zh_TW">Chinesisch (traditionell)</string>
<string name="lang_sr">Serbisch</string>
<string name="lang_fa">Persisch</string>
<string name="lang_ar">Arabisch</string>
<string name="lang_al">Albanisch</string>
<string name="lang_sw">Suaheli</string>
<string name="map_preferred_locale_descr">Bevorzugte Sprache für Beschriftungen auf der Karte (ist diese nicht verfügbar, wird auf Englisch oder lokale Namen gewechselt)</string>
<string name="map_preferred_locale">Bevorzugte Sprache für Karten-Beschriftung</string>
<string name="local_map_names">Lokale Namen</string>
<string name="lang_he">Hebräisch</string>
<string name="live_monitoring_m_descr">Sende Verfolgungsdaten zu einem festgelegten Internet Dienst, wenn GPX-Aufzeichnung aktiviert ist.</string>
<string name="live_monitoring_m">Online Verfolgung (benötigt GPX)</string>
<string name="live_monitoring_start">Starte online Verfolgung</string>
<string name="gpx_monitoring_start">Starte GPX-Aufzeichnung</string>
<string name="gpx_monitoring_stop">Stoppe GPX-Aufzeichnung</string>
<string name="gpx_start_new_segment">Starte neues Segment</string>
<string name="lang_sc">Sardinisch</string>
</resources>

View file

@ -1828,4 +1828,5 @@ Afganistán, Albania, Alemania, Andorra, Angola, Anguila, Antigua y Barbuda, Ant
<string name="lang_sr">Serbio</string>
<string name="lang_zh_CN">Chino Simplificado</string>
<string name="lang_zh_TW">Chino Tradicional</string>
</resources>
<string name="rendering_attr_subwayMode_name">Modo subterráneo</string>
</resources>

View file

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version='1.0' encoding='utf-8'?>
<resources><string name="use_fluorescent_overlays">Sovrapposizioni fluorescenti</string>
<string name="use_fluorescent_overlays_descr">Usa colori fluorescenti per visualizzare tracce e percorsi</string>
<string name="offline_edition">Modifiche offline</string>
@ -1938,4 +1938,5 @@ Si consiglia di aggiungere uno o più punti intermedi per migliorarne le prestaz
<string name="lang_sr">Serbo</string>
<string name="lang_zh_CN">Cinese semplificato</string>
<string name="lang_zh_TW">Cinese tradizionale</string>
</resources>
<string name="rendering_attr_subwayMode_name">Modalità metro</string>
</resources>

View file

@ -1858,4 +1858,64 @@ OsmAndはオープンソースであり、活発に開発が進められいま
<string name="selected_gpx_info_show">\n\nマップ上に表示するには長押ししてください</string>
<string name="delay_navigation_start">ターン・バイ・ターン形式誘導を自動起動</string>
<string name="selected">選択済み</string>
<string name="gpx_info_subtracks">"サブトラック: %1$s "</string>
<string name="gpx_info_waypoints">"経由点: %1$s "</string>
<string name="gpx_info_distance">"距離: %1$s (%2$s 地点) "</string>
<string name="gpx_info_start_time">"出発時間: %1$tF, %1$tT "</string>
<string name="gpx_info_end_time">"到着時間: %1$tF, %1$tT "</string>
<string name="gpx_info_average_speed">"平均速度: %1$s "</string>
<string name="gpx_info_maximum_speed">"最高速度: %1$s "</string>
<string name="gpx_info_avg_altitude">平均標高: %1$s</string>
<string name="gpx_info_diff_altitude">標高差: %1$s</string>
<string name="gpx_info_asc_altitude">上昇/下降: %1$s</string>
<string name="gpx_timemoving">移動時間: %1$s</string>
<string name="gpx_timespan">全長時間: %1$s</string>
<string name="gpx_selection_segment_title">セグメント</string>
<string name="gpx_selection_number_of_points">" %1$s 地点"</string>
<string name="gpx_selection_point">地点 %1$s</string>
<string name="gpx_selection_current_track">記録中</string>
<string name="gpx_selection_route_points">%1$s ↵\nルート地点 %2$s</string>
<string name="gpx_selection_points">%1$s ↵\n地点</string>
<string name="gpx_selection_track">%1$s ↵\nトラック %2$s</string>
<string name="gpx_available_current_track">現在記録中トラック</string>
<string name="gpx_file_is_empty">GPSトラックは空です</string>
<string name="selected_track">選択されたトラック</string>
<string name="my_tracks">全てのトラック</string>
<string name="my_favorites">お気に入り</string>
<string name="my_data_Button">お気に入り</string>
<string name="my_data_activity">お気に入り</string>
<string name="osmo_user_joined">ユーザー %1$sはグループ %2$sに参加しました</string>
<string name="osmo_user_left">ユーザー %1$sはグループ %2$sから離れました</string>
<string name="osmo_show_group_notifications">グループに関する通知を表示</string>
<string name="osmo_show_group_notifications_descr">ユーザーがグループに参加もしくは離れると簡易メッセージを表示</string>
<string name="osmo_follow">フォロー</string>
<string name="osmo_sign_in">サインイン</string>
<string name="osmo_create_groups_confirm">グループを作成するためには、OsMoの登録ユーザである必要があります。</string>
<string name="osmo_credentials_not_valid">お使いのOsMoの登録情報が有効ではありません。</string>
<string name="osmo_regenerate_login_ids_confirm">あなたの個人IDを再作成してよろしいですか再作成した場合接続されたすべてのデバイスは、あなたを追跡することができません。</string>
<string name="osmo_regenerate_login_ids">ユーザーIDを再作成する</string>
<string name="osmo_cancel_moving_target">移動する目標をキャンセル</string>
<string name="osmo_center_location">画面上の中央</string>
<string name="osmo_set_moving_target">目標が移動すると設定する</string>
<string name="osmo_use_server_name">登録名</string>
<string name="osmo_connect_to_my_nickname">ニックネーム</string>
<string name="osmo_user_name">ユーザー</string>
<string name="color_red">レッド</string>
<string name="color_pink">ピンク</string>
<string name="color_orange">オレンジ</string>
<string name="color_brown">ブラウン</string>
<string name="color_yellow">イエロー</string>
<string name="color_lightblue">ライトブルー</string>
<string name="color_blue">ブルー</string>
<string name="color_green">グリーン</string>
<string name="osmo_edit_device">ユーザープロパティの変更</string>
<string name="osmo_edit_color">表示色</string>
<string name="osmo_group_info">インフォメーション</string>
<string name="osmo_group">OsMoグループ</string>
<string name="osmo_group_share">グループ %2$sに接続するには、グループID(%1$s)を指定するか %3$sをクリックして下さい。</string>
<string name="osmo_share_connect_device">このデバイスをフォローしてみましょう</string>
<string name="osmo_share_current_session">ブラウザで現在のセッションを共有する</string>
<string name="osmo_session_not_available">セッションはが利用できません「送信場所」がオンになっていることを確認してください。</string>
<string name="osmo_share_session">セッションの共有</string>
</resources>

View file

@ -2067,4 +2067,5 @@ Vanuatu, Venezuela, Vietnam, Wallis and Futuna, Western Sahara, Yemen, Zambia, Z
<string name="lang_sr">세르비아어</string>
<string name="lang_zh_CN">중국어 간체</string>
<string name="lang_zh_TW">중국어 번체</string>
</resources>
<string name="rendering_attr_subwayMode_name">지하철 모드</string>
</resources>

View file

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version='1.0' encoding='utf-8'?>
<resources><string name="starting_point_too_far">Pradžios taškas yra per toli nuo artimiausio kelio.</string>
<string name="shared_location">Bendrinta vieta</string>
<string name="osmand_parking_warning">Dėmesio</string>
@ -1791,4 +1791,5 @@ OsmAnd yra aktyviai tobulinama ir mūsų projektas bei jo tolesnis progresas pri
<string name="lang_zh_TW">Tradicinė kinų</string>
<string name="lang_sc">Sardinų</string>
<string name="lang_zh_CN">Supaprastinta kinų</string>
</resources>
<string name="rendering_attr_subwayMode_name">Metro režimas</string>
</resources>

View file

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version='1.0' encoding='utf-8'?>
<resources>
<string name="layer_map_appearance">Configureer scherm</string>
@ -1920,4 +1920,5 @@ Afghanistan, Albanie, Algerije, Andorra, Angola, Anguilla, Antigua en Barbuda, A
<string name="lang_sr">Servisch</string>
<string name="lang_zh_CN">Vereenvoudigd Chinees</string>
<string name="lang_zh_TW">Traditioneel Chinees</string>
</resources>
<string name="rendering_attr_subwayMode_name">Tunnel stand</string>
</resources>

View file

@ -1,4 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?><resources><string name="tip_recent_changes_0_6_9_t">"Zmiany w 0.6.9: \n\t- poprawiono renderowanie map offline \n\t- szybkie renderowanie natywne (wersja eksperymentalna - może nie działać na niektórych urządzeniach) \n\t- poprawki w interfejsie \n\t- dodano wyświetlanie informacji o wysokości (altitude) \n\t- nowe tłumaczenia (polskie, wietnamskie) \n\t- inne, mniejsze poprawki "</string>
<?xml version='1.0' encoding='utf-8'?>
<resources><string name="tip_recent_changes_0_6_9_t">"Zmiany w 0.6.9: \n\t- poprawiono renderowanie map offline \n\t- szybkie renderowanie natywne (wersja eksperymentalna - może nie działać na niektórych urządzeniach) \n\t- poprawki w interfejsie \n\t- dodano wyświetlanie informacji o wysokości (altitude) \n\t- nowe tłumaczenia (polskie, wietnamskie) \n\t- inne, mniejsze poprawki "</string>
<string name="use_transparent_map_theme">Przezroczysty styl</string>
<string name="native_library_not_supported">Biblioteka renderowania natywnego nie jest obsługiwana na tym urządzeniu.</string>
@ -730,7 +731,7 @@
<string name="show_ruler_level">Wyświetl linijkę</string>
<string name="info_button">Informacja</string>
<string name="back_to_location">Powróć do lokacji</string>
<string name="back_to_location">Powróć do pozycji</string>
<string name="help">Pomoc</string>
<string name="show_details">Pokaż szczegóły</string>
<string name="accessibility_extensions_descr">Rozszerzenia ułatwienia dostępu dla starych wersji Androida</string>
@ -764,7 +765,7 @@
<string name="front_right">Prawy przód</string>
<string name="right">Prawy</string>
<string name="back_right">Tylny przód</string>
<string name="back">Tył</string>
<string name="back">Wstecz</string>
<string name="back_left">Lewy tył</string>
<string name="left">Lewy</string>
<string name="front_left">Lewy przód</string>
@ -1252,10 +1253,10 @@
<string name="choose_osmand_theme">Motyw aplikacji</string>
<string name="accessibility_options">Opcje ułatwień dostępu</string>
<string name="choose_osmand_theme_descr">Wybierz motyw aplikacji</string>
<string name="osmand_monitoring_plugin_name">Usługi śledzenia i tryb uśpienia</string>
<string name="osmand_monitoring_plugin_name">Usługi śledzenia</string>
<string name="monitoring_settings_descr">Skonfiguruj opcje zapisywania wycieczek oraz włącz tryb uśpienia</string>
<string name="osmand_monitoring_plugin_description">Włącz śledzenie i nawigację w trybie uśpienia (zablokowany ekran) poprzez okresowe wybudzanie urządzenia GPS. Wyświetl ustawienia dotyczące nagrywania wycieczek do plików GPX lub usługi sieciowej.</string>
<string name="monitoring_settings">Usługi śledzenia i tryb uśpienia</string>
<string name="monitoring_settings">Usługi śledzenia</string>
<string name="tip_recent_changes_1_3_t">Zmiany w 1.3:
\n\t* Ponowna implementacja wsparcia dla tabletów i dużych ekranów
\n\t* Motyw Holo (dostosowywanie)
@ -1700,11 +1701,7 @@ Afganistan, Afryka Południowa, Albania, Algieria, Andora, Angola, Anguilla, Ant
<string name="navigation_intent_invalid">Nieprawidłowy format: %s</string>
<string name="osmo_settings_uuid">Unikatowy identyfikator urządzenia</string>
<string name="osmo_settings_descr">Skonfiguruj monitorowanie i ustaw osobisty kanał monitorowania</string>
<string name="osmo_plugin_description">OpenStreetMap-Monitoring - Zaawansowany Monitoring na Żywo. Daje możliwość śledzenia innych urządzeń i vice versa.
Twórz anonimowe grupy, dziel się lokalizacją i prowadź komunikację. System ma wiele ustawień dla śledzenia w sesji lub stałego śledzenia.
Grupy anonimowe mają ograniczenia czasowe i funkcjonalne, np. nie ma zdalnej kontroli i administratora grupy.
W pełni funkcjonalne grupy powinny być tworzone przez witrynę, a dostęp zarezerwowany tylko dla zarejestrowanych użytkowników.
Więcej na http://osmo.mobi.</string>
<string name="osmo_plugin_description">"OpenStreetMap zaawansowany monitoring na żywo - zobacz http://osmo.mobi. Daje możliwość śledzenia innych urządzeń i vice versa. Twórz anonimowe grupy, dziel się lokalizacją i prowadź komunikację. System ma wiele ustawień dla śledzenia w sesji lub stałego śledzenia. Grupy anonimowe mają ograniczenia czasowe i funkcjonalne, np. nie ma zdalnej kontroli i administratora grupy. W pełni funkcjonalne grupy powinny być tworzone przez witrynę, a dostęp zarezerwowany tylko dla zarejestrowanych użytkowników. "</string>
<string name="osmo_plugin_name">OsMo (Zaawansowany Monitoring na Żywo)</string>
<string name="osmo_settings">OsMo Monitoring OpenStreetMap (beta)</string>
<string name="keep_informing_never">Nigdy</string>
@ -1851,14 +1848,53 @@ Afganistan, Afryka Południowa, Albania, Algieria, Andora, Angola, Anguilla, Ant
<string name="local_index_select_gpx_file">Wybierz aby wyświetlić</string>
<string name="osmo_group_by_invite">Wpisz przez zaproszenie</string>
<string name="osmo_group_information_desc">" - Wszystkie grupy są publiczne! Jeśli chcesz być anonimowy, podłącz urządzeń bezpośrednio poprzez identyfikator Tracker ids.↵\n - Grupa może posiadać do 16 zarejestrowanych osób.↵\n - W przypadku bezczynności lub aktywności tylko 1 osoby przez okres 2 tygodnie, grupa zostanie usunięta.↵\n - Można ograniczyć dostęp grupy, i zapraszać tylko wybrane osoby. Do kontroli potrzebujesz konsoli administracyjnej.↵\n - Jeśli trzeba utworzyć grupę, ale z innymi warunkami, prosimy o kontakt http://osmo.mobi"</string>
<string name="osmo_group_information">Proszę przeczytać przed założeniem grupy!</string>
<string name="osmo_group_information">Przeczytaj przed założeniem grupy!</string>
<string name="osmo_not_signed_in">Nie powiodło się logowanie do OsMo</string>
<string name="osmo_gpx_points_downloaded">OsMo pobrano %1$s punktów.</string>
<string name="osmo_gpx_points_downloaded">Pobrano %1$s punktów OsMo.</string>
<string name="osmo_auto_connect_descr">Automatycznie połącz to serwisu po uruchomieniu aplikacji</string>
<string name="osmo_auto_connect">Auto-podłączenie</string>
<string name="osmo_start_service">Serwis OsMo</string>
<string name="osmo_gpx_track_downloaded">Pobrano %1$s ścieżek OsMo.</string>
<string name="no_index_file_to_download">Brak danych do pobrania, proszę sprawdź połączenie internetowe.</string>
<string name="osmo_auth_error_short">Błąd autoryzacji</string>
<string name="osmo_auth_error">Wystąpił błąd autoryzacji : %1$s.↵\n Być może tymczasowy serwis jest zatrzymany lub straciła ważność twoja rejestracja.↵\n Chcesz kontynuować z nową rejestracją.</string>
</resources>
<string name="osmo_auth_error">Wystąpił błąd autoryzacji : %1$s.\n Być może tymczasowy serwis jest zatrzymany lub straciła ważność twoja rejestracja.\n Chcesz kontynuować z nową rejestracją.</string>
<string name="keep_navigation_service">Utrzymuj</string>
<string name="stop_navigation_service">Stop</string>
<string name="enable_sleep_mode">Włącz tryb uśpienia</string>
<string name="gps_wake_up_timer">Odstęp czasu wybudzania GPS</string>
<string name="sleep_mode_stop_dialog">Czy trzymać włączony GPS?</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>
<string name="lang_he">Hebrajski</string>
<string name="forward">Do przodu</string>
<string name="home">Dom</string>
<string name="live_monitoring_m_descr">Wysyłaj aktualną pozycję do określonej usługi internetowej, jeśli nagrywanie GPX jest włączone.</string>
<string name="live_monitoring_m">Śledzenie online (wymagane GPX)</string>
<string name="live_monitoring_start">Uruchom śledzenie online</string>
<string name="live_monitoring_stop">Zatrzymaj śledzenie online</string>
<string name="gpx_monitoring_start">Uruchom nagrywanie GPX</string>
<string name="gpx_monitoring_stop">Zatrzymaj nagrywanie GPX</string>
<string name="gpx_start_new_segment">Zacznij nowy segment</string>
<string name="rendering_attr_hideBuildings_name">Ukryj budynki</string>
<string name="rendering_attr_hideNonVehicleHighways_name">Ukryj trasy niedostępne dla aut</string>
<string name="rendering_attr_hideText_name">Ukryj opisy</string>
<string name="rendering_attr_hideWoodScrubs_name">Ukryj drewna i zarośla</string>
<string name="rendering_attr_buildings15zoom_name">Budynki na przybliżeniu 15</string>
<string name="rendering_attr_moreDetailed_name">Więcej szczegółów</string>
<string name="rendering_attr_lessDetailed_name">Mniej szczegółów</string>
<string name="rendering_attr_hideAccess_name">Ukryj typ dostępu</string>
<string name="rendering_attr_showAccess_name">Pokaż typ dostępu</string>
<string name="rendering_attr_showSurfaceGrade_name">Pokaż jakość dróg</string>
<string name="rendering_attr_showSurfaces_name">Pokaż nawierzchnię dróg</string>
<string name="rendering_attr_showCycleRoutes_name">Pokaż ścieżki rowerowe</string>
<string name="lang_al">Albański</string>
<string name="lang_ar">Arabski</string>
<string name="lang_fa">Perski</string>
<string name="lang_sc">Sardyński</string>
<string name="lang_sr">Serbski</string>
<string name="lang_zh_CN">Chiński uproszczony</string>
<string name="lang_zh_TW">Chiński tradycyjny</string>
<string name="rendering_attr_subwayMode_name">Tryb metra</string>
</resources>

View file

@ -1773,4 +1773,5 @@ OsmAnd - открытый источник и активно развается.
<string name="lang_sr">Сербский</string>
<string name="lang_zh_CN">Упрощенный китайский</string>
<string name="lang_zh_TW">Традиционный китайский</string>
<string name="rendering_attr_subwayMode_name">Режим метро</string>
</resources>

View file

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version='1.0' encoding='utf-8'?>
<resources><string name="search_button">Iskanje</string>
<string name="search_activity">Iskanje</string>
<string name="settings_Button">Nastavitve</string>
@ -1887,4 +1887,5 @@ Seznam držav (praktično ves svet!): Afganistan, Albanija, Alžirija, Andora, A
<string name="lang_zh_CN">Poenostavljena kitajščina</string>
<string name="lang_zh_TW">Tradicionalna kitajščina</string>
<string name="lang_sc">Sardinščina</string>
</resources>
<string name="rendering_attr_subwayMode_name">Način podzemne železnice</string>
</resources>

View file

@ -1494,7 +1494,7 @@
<string name="osmo_session_id_share">Sessions-URL för att spåra enhet (%1$s)</string>
<string name="osmo_tracker_id_share">För att ansluta till målenheten %2$s, klicka på länken %3$s eller ange tracker-id (%1$s)</string>
<string name="osmo_track_interval">Loggningsintervall</string>
<string name="osmo_track_interval_descr">Välj tidsintervall för skickande av platsen</string>
<string name="osmo_track_interval_descr">Välj tidsintervall för inskickande av din position</string>
<string name="int_days">dagar</string>
<string name="osmo_connect_menu">Anslut</string>
<string name="osmo_expire_group">Förfaller om</string>

View file

@ -464,7 +464,7 @@
<string name="filename_input">檔名: </string>
<string name="file_with_name_already_exist">已有同檔名存在。</string>
<string name="default_buttons_save">儲存</string>
<string name="menu_save_directions">儲存</string>
<string name="menu_save_directions">儲存</string>
<string name="local_index_upload_gpx_description">上傳 GPX 到 OSM 社群,這些將有助於改善地圖。</string>
<string name="local_index_items_uploaded">%2$d 項中的 %1$d 項已上傳成功。</string>
<string name="local_index_mi_upload_gpx">傳送到 OSM</string>
@ -574,22 +574,20 @@
\n\n您可透過地圖畫面左下角的設定檔按鈕(汽車、自行車、步行三種圖示)更改使用設定檔 ,或是作路線規劃。
</string>
<string name="tip_navigation">導航</string>
<string name="tip_navigation_t">為了取得指引到一個地方,可以直接在地圖上長按它,然然後再點選其敘述框\'指引到\',或著選擇\'指引\'後在查尋結果清單或是我的最愛清單點選進入。
\n\n目的地標點以橙色旗標在地圖上同時 OsmAnd 會顯示達到目的地的距離與它的方位(橙色三角形)。
\n\n您可以選擇到任何一個\'隨行\'的路線,這意味著 OsmAnd 將實地引導您,給您語音指示(如果有啟用語音),或者您可以選擇\'只顯示\'路線在地圖上,它會產生一個靜態的路線不會有任何實地引導或隨著您的移動而調整。
\n\n顯示從非您目前的位置中選擇任意標點到目的地的路線接著在地圖上選擇\'指引來自\'。
\n\n如果您選擇\'指引來自\'連同\'隨行\',只要它發現則 OsmAnd 將切換到您的實際位置(所以這個可以用於在快速啟動路線之前找到位置),當\'指引來自\'在與\'只顯示\'結合,只是告訴您從任意標點的路線,您可選擇不包括後續的更新。
</string>
<string name="tip_navigation_t">"需要導引到一個地點,可以直接在地圖上選擇並長按該地點,(然後再點選快顯功能表單的\'導引到\'),或著選擇\'導引\'後,在查尋結果清單或是我的最愛清單點選進入。
\n\n目的地標點以橙色旗標在地圖上同時 OsmAnd 會顯示達到目的地的距離與它的方位(橙色三角形)。
\n\n您可以選擇到任何一個\'隨行\'的路線,這意味著 OsmAnd 將實地引導您,給您語音指示(如果有啟用語音),或者您可以選擇\'只顯示\'路線在地圖上,它會產生一個靜態的路線不會有任何實地引導或隨著您的移動而調整。
\n\n顯示從非您目前的位置中選擇任意標點到目的地的路線接著在地圖上選擇\'從此導引\'。
\n\n如果您選擇\'從此導引\'連同\'開始導航\',只要它發現則 OsmAnd 將切換到您的實際位置(所以這個可以用於在快速啟動路線之前找到位置),當\'從此導引\'在與\'只顯示\'結合,只是告訴您從任意標點的路線,您可選擇不包括隨後的更新。 "</string>
<string name="tip_search">查尋</string>
<string name="tip_search_t">您可以在地圖上直接查尋地點,經由 \'使用位置 \' → \'附近查尋\',或是透過 \'選單 \'→ \'查尋 \'。
\n\n在查尋畫面上有提供查尋範本
\n\t*經由地址
\n\t*透過坐標
\n\t*興趣點(按類型或名稱)
\n\t*透過您的查尋履歷
\n\t*或透過您事先定義的我的最愛
\n\n在主畫面上按\'查尋\'進行查尋的動作。所有在快顯功能表中或動作列被點選中的,都提供有例如\'指引\'或\'在地圖上顯示\'等等的選項。
</string>
<string name="tip_search_t">"您可以在地圖上直接查尋地點,經由 \'使用位置 \' → \'附近查尋\',或是透過 \'選單 \'→ \'查尋 \'。
\n\n在查尋畫面上有提供查尋範本
\n\t*經由地址
\n\t*透過坐標
\n\t*興趣點(按類型或名稱)
\n\t*透過您的查尋履歷
\n\t*或透過您事先定義的我的最愛
\n\n在主畫面上按\'查尋\'進行查尋的動作。所有在快顯功能表中或動作列被點選中的,都提供有例如\'導引\'或\'在地圖上顯示\'等等的選項。 "</string>
<string name="tip_map_context_menu">\'使用位置\'選單</string>
<string name="tip_map_context_menu_t">地圖快顯功能表(\'使用位置\'),包含了所有操作的參考點(位置)。
\n\n它可長按地圖上的任何一點然後輕點其標記或按軌跡球的按鈕或者選擇由\'選單\' → \'使用位置\'(最後兩種方式以地圖中心作為參考)。
@ -866,7 +864,7 @@
<string name="only_show">顯示路線</string>
<string name="follow">開始導航</string>
<string name="mark_final_location_first">請先設定目的地</string>
<string name="get_directions"></string>
<string name="get_directions"></string>
<string name="show_gps_status">顯示 GPS 狀態</string>
<string name="opening_hours">營業時間</string>
<string name="opening_changeset">正在開啟異動清單…</string>
@ -1522,7 +1520,7 @@ OsmAnd 是開放原始碼,而且正在積極的開發。應用程式從報告
<string name="keep_intermediate_points">保留中間點</string>
<string name="new_directions_point_dialog">您已經有中間點設定。</string>
<string name="context_menu_item_directions_to">導引到</string>
<string name="context_menu_item_directions_from">導引來自</string>
<string name="context_menu_item_directions_from">從此導引</string>
<string name="route_descr_map_location">地圖: </string>
<string name="route_to">到:</string>
<string name="route_via">經過:</string>
@ -1922,4 +1920,5 @@ OsmAnd 是開放原始碼,而且正在積極的開發。應用程式從報告
<string name="lang_sr">塞爾維亞</string>
<string name="lang_zh_CN">簡體中文</string>
<string name="lang_zh_TW">正體中文</string>
</resources>
<string name="rendering_attr_subwayMode_name">地鐵模式</string>
</resources>

View file

@ -9,7 +9,8 @@
3. All your modified/created strings are in the top of the file (to make easier find what\'s translated).
PLEASE: Have a look at http://code.google.com/p/osmand/wiki/UIConsistency, it may really improve your and our work :-) Thx - Hardy
-->
<string name="keep_navigation_service">Keep</string>
<string name="rendering_attr_subwayMode_name">Subway mode</string>
<string name="keep_navigation_service">Keep</string>
<string name="stop_navigation_service">Stop</string>
<string name="enable_sleep_mode">Enable sleep mode</string>
<string name="gps_wake_up_timer">GPS wake up interval</string>

View file

@ -0,0 +1,64 @@
package net.osmand.plus.sherpafy;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuInflater;
import com.actionbarsherlock.view.MenuItem;
import net.osmand.plus.R;
import net.osmand.plus.sherpafy.TourInformation.StageFavorite;
import android.app.Activity;
import android.view.View;
import android.webkit.WebView;
import android.widget.ImageView;
import android.widget.TextView;
public class SherpafyFavoriteFragment extends SherpafyStageInfoFragment {
private static final int SHOW_ON_MAP = 10;
public static final String FAV_PARAM = null;
private StageFavorite fav;
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
int k = getArguments().getInt(FAV_PARAM);
if(stage != null) {
fav = (StageFavorite) stage.getFavorites().get(k);
getSherlockActivity().getSupportActionBar().setTitle(fav.getName());
}
}
protected void updateView(WebView description, ImageView icon, TextView additional, TextView text, TextView header) {
if (fav.getImage() != null) {
icon.setImageBitmap(fav.getImage());
} else {
icon.setVisibility(View.GONE);
}
additional.setVisibility(View.GONE);
header.setText(fav.getName());
text.setText(fav.getShortDescription());
description.loadData("<html><body>" + fav.getFullDescription() + "</body></html", "text/html; charset=utf-8",
"utf-8");
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
((TourViewActivity) getSherlockActivity()).createMenuItem(menu, SHOW_ON_MAP,
R.string.show_poi_on_map ,
R.drawable.ic_action_map_marker_light, R.drawable.ic_action_map_marker_dark,
MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
}
public boolean onOptionsItemSelected(com.actionbarsherlock.view.MenuItem item) {
if (item.getItemId() == SHOW_ON_MAP) {
// TODO actions
return true;
} else if (item.getItemId() == android.R.id.home) {
((TourViewActivity) getSherlockActivity()).showSelectedItem();
return true;
}
return super.onOptionsItemSelected(item);
}
}

View file

@ -0,0 +1,158 @@
package net.osmand.plus.sherpafy;
import java.util.List;
import net.osmand.plus.OsmAndFormatter;
import net.osmand.plus.OsmandApplication;
import net.osmand.plus.R;
import net.osmand.plus.sherpafy.TourInformation.StageFavorite;
import net.osmand.plus.sherpafy.TourInformation.StageFavoriteGroup;
import net.osmand.plus.sherpafy.TourInformation.StageInformation;
import net.osmand.util.MapUtils;
import android.app.Activity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.widget.AbsListView;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ImageView.ScaleType;
import android.widget.ListView;
import android.widget.TextView;
import com.actionbarsherlock.app.SherlockListFragment;
import com.actionbarsherlock.view.MenuItem;
public class SherpafyFavoritesListFragment extends SherlockListFragment {
OsmandApplication app;
private SherpafyCustomization customization;
private TourInformation tour;
private StageInformation stage;
private FavoriteAdapter favAdapter;
private ImageView imageView;
public SherpafyFavoritesListFragment() {
}
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
app = (OsmandApplication) getSherlockActivity().getApplication();
customization = (SherpafyCustomization) app.getAppCustomization();
String id = getArguments().getString("TOUR");
for (TourInformation ti : customization.getTourInformations()) {
if (ti.getId().equals(id)) {
tour = ti;
break;
}
}
int k = getArguments().getInt(SherpafyStageInfoFragment.STAGE_PARAM);
if(tour != null && tour.getStageInformation().size() > k) {
stage = tour.getStageInformation().get(k);
}
setHasOptionsMenu(true);
}
@Override
public void onResume() {
super.onResume();
if(tour != null) {
getSherlockActivity().getSupportActionBar().setTitle(tour.getName());
}
}
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
Object item = getListAdapter().getItem(position);
if (item instanceof StageFavorite) {
((TourViewActivity) getSherlockActivity()).showFavoriteFragment(stage, (StageFavorite) item);
}
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) {
((TourViewActivity) getSherlockActivity()).showSelectedItem();
return true;
}
return super.onOptionsItemSelected(item);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = super.onCreateView(inflater, container, savedInstanceState);
imageView = new ImageView(getActivity());
imageView.setLayoutParams(new AbsListView.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
imageView.setScaleType(ScaleType.CENTER_CROP);
return v;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
favAdapter = new FavoriteAdapter(stage.getFavorites());
setListAdapter(favAdapter);
}
@Override
public void onDestroyView() {
super.onDestroyView();
setListAdapter(null);
}
class FavoriteAdapter extends ArrayAdapter<Object> {
public FavoriteAdapter(List<Object> list) {
super(getActivity(), R.layout.sherpafy_stage_list_item, list);
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
View row = convertView;
if (row == null) {
LayoutInflater inflater = getActivity().getLayoutInflater();
row = inflater.inflate(R.layout.sherpafy_stage_list_item, parent, false);
}
Object ti = getItem(position);
TextView header = (TextView) row.findViewById(R.id.HeaderText);
ImageView img = (ImageView) row.findViewById(R.id.Icon);
TextView text = (TextView) row.findViewById(R.id.Text);
TextView addtext = (TextView) row.findViewById(R.id.AdditionalText);
if (ti instanceof StageFavoriteGroup) {
addtext.setText("");
text.setTextColor(((StageFavoriteGroup)ti).getColor());
text.setText(((StageFavoriteGroup)ti).getName());
header.setVisibility(View.GONE);
img.setVisibility(View.GONE);
img.setImageDrawable(null);
} else if(ti instanceof StageFavorite){
StageFavorite sf = ((StageFavorite)ti);
if(stage.startPoint != null && sf.location != null) {
double d = MapUtils.getDistance(stage.startPoint, sf.location);
addtext.setText(OsmAndFormatter.getFormattedDistance((float) d, getMyApplication()));
} else {
addtext.setText("");
}
header.setVisibility(View.VISIBLE);
header.setText(sf.getName());
text.setTextColor(StageImageDrawable.MENU_COLOR);
text.setText(sf.getShortDescription());
img.setVisibility(View.VISIBLE);
img.setImageDrawable(new StageImageDrawable(getActivity(), sf.getGroup().getColor(), sf
.getName().substring(0, 1), 0));
}
return row;
}
}
private OsmandApplication getMyApplication() {
return (OsmandApplication) getActivity().getApplication();
}
}

View file

@ -1,5 +1,6 @@
package net.osmand.plus.sherpafy;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
@ -9,6 +10,7 @@ import net.osmand.plus.GPXUtilities.WptPt;
import net.osmand.plus.GpxSelectionHelper.SelectedGpxFile;
import net.osmand.plus.OsmandApplication;
import net.osmand.plus.R;
import net.osmand.plus.sherpafy.TourInformation.StageFavoriteGroup;
import net.osmand.plus.sherpafy.TourInformation.StageInformation;
import android.app.Activity;
import android.content.Context;
@ -18,7 +20,7 @@ import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.text.Html;
@ -72,8 +74,8 @@ public class SherpafyStageFragment extends SherlockFragment {
int k = getArguments().getInt(STAGE_PARAM);
if(tour != null && tour.getStageInformation().size() > k) {
stage = tour.getStageInformation().get(k);
getSherlockActivity().getSupportActionBar().setTitle(getString(R.string.tab_stage) + " " + (k+1));
}
getSherlockActivity().getSupportActionBar().setTitle(getString(R.string.tab_stage) + " " + (k+1));
}
@ -111,18 +113,49 @@ public class SherpafyStageFragment extends SherlockFragment {
tabHost.setup();
ViewPager mViewPager = (ViewPager) view.findViewById(R.id.pager);
mTabsAdapter = new TabsAdapter(getSherlockActivity(), tabHost, mViewPager);
mTabsAdapter.addTab(tabHost.newTabSpec("INFO").setIndicator(getString(R.string.sherpafy_stage_tab_info)),
SherpafyStageInfoFragment.class, null);
mTabsAdapter.addTab(tabHost.newTabSpec("ROUTE").setIndicator(getString(R.string.sherpafy_stage_tab_route)),
SherpafyStageItineraryFragment.class, null);
mTabsAdapter.addTab(tabHost.newTabSpec("FAV").setIndicator(getString(R.string.sherpafy_stage_tab_fav)),
SherpafyStageInfoFragment.class, null);
mTabsAdapter.addTab(tabHost.newTabSpec("TARGET").setIndicator(getString(R.string.sherpafy_stage_tab_target)),
SherpafyStageItineraryFragment.class, null);
mTabsAdapter = new TabsAdapter(getChildFragmentManager(), getSherlockActivity(), tabHost, mViewPager, stage);
if (stage != null) {
mTabsAdapter.addTab(tabHost.newTabSpec("INFO").setIndicator(getString(R.string.sherpafy_stage_tab_info)),
SherpafyStageInfoFragment.class);
if (!stage.getItinerary().equals("")) {
mTabsAdapter.addTab(
tabHost.newTabSpec("ROUTE").setIndicator(getString(R.string.sherpafy_stage_tab_route)),
SherpafyStageItineraryFragment.class);
}
if (stage.getFavorites().size() > 0) {
mTabsAdapter.addTab(tabHost.newTabSpec("FAV").setIndicator(getString(R.string.sherpafy_stage_tab_fav)),
SherpafyFavoritesListFragment.class);
}
StageFavoriteGroup group = stage.getGroupById("destination");
if (group != null && group.getFavorites().size() > 0) {
int o = group.getFavorites().get(0).getOrder();
Bundle bl = new Bundle();
bl.putInt(SherpafyFavoriteFragment.FAV_PARAM, o);
mTabsAdapter.addTab(
tabHost.newTabSpec("TARGET").setIndicator(getString(R.string.sherpafy_stage_tab_target)),
SherpafyFavoriteFragment.class, bl);
}
}
return view;
}
@Override
public void onDetach() {
super.onDetach();
try {
Field childFragmentManager = Fragment.class.getDeclaredField("mChildFragmentManager");
childFragmentManager.setAccessible(true);
childFragmentManager.set(this, null);
} catch (NoSuchFieldException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
/////////
private ImageGetter getImageGetter(final View v) {
return new Html.ImageGetter() {
@ -222,6 +255,7 @@ public class SherpafyStageFragment extends SherlockFragment {
private final TabHost mTabHost;
private final ViewPager mViewPager;
private final ArrayList<TabInfo> mTabs = new ArrayList<TabInfo>();
private StageInformation stage;
static final class TabInfo {
private final String tag;
@ -251,19 +285,27 @@ public class SherpafyStageFragment extends SherlockFragment {
}
}
public TabsAdapter(FragmentActivity activity, TabHost tabHost,ViewPager pager) {
super(activity.getSupportFragmentManager());
mContext = activity;
public TabsAdapter(FragmentManager fm, Context ui, TabHost tabHost, ViewPager pager,
StageInformation stage) {
super(fm);
mContext = ui;
mTabHost = tabHost;
mViewPager = pager;
this.stage = stage;
mTabHost.setOnTabChangedListener(this);
mViewPager.setAdapter(this);
mViewPager.setOnPageChangeListener(this);
}
public TabSpec addTab(TabHost.TabSpec tabSpec, Class<?> clss) {
return addTab(tabSpec, clss, new Bundle());
}
public TabSpec addTab(TabHost.TabSpec tabSpec, Class<?> clss, Bundle args) {
tabSpec.setContent(new DummyTabFactory(mContext));
String tag = tabSpec.getTag();
args.putInt(STAGE_PARAM, stage.getOrder());
args.putString(TOUR_PARAM, stage.getTour().getId());
TabInfo info = new TabInfo(tag, clss, args);
mTabs.add(info);
@ -293,6 +335,7 @@ public class SherpafyStageFragment extends SherlockFragment {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {

View file

@ -22,7 +22,7 @@ public class SherpafyStageInfoFragment extends SherlockFragment {
OsmandApplication app;
private SherpafyCustomization customization;
protected StageInformation stage;
private TourInformation tour;
protected TourInformation tour;
private View view;
public SherpafyStageInfoFragment() {
@ -40,7 +40,6 @@ public class SherpafyStageInfoFragment extends SherlockFragment {
for(TourInformation ti : customization.getTourInformations()) {
if(ti.getId().equals(id)) {
tour = ti;
getSherlockActivity().getSupportActionBar().setTitle(tour.getName());
break;
}
}
@ -60,7 +59,6 @@ public class SherpafyStageInfoFragment extends SherlockFragment {
TextView additional = (TextView) view.findViewById(R.id.AdditionalText);
TextView text = (TextView) view.findViewById(R.id.Text);
TextView header = (TextView) view.findViewById(R.id.HeaderText);
updateView(description, icon, additional, text, header);
return view;
}

View file

@ -8,14 +8,14 @@ import android.widget.TextView;
public class SherpafyStageItineraryFragment extends SherpafyStageInfoFragment {
protected void updateView(WebView description, ImageView icon, TextView additional, TextView text, TextView header) {
if (stage.getItineraryBitmap() != null) {
icon.setImageBitmap(stage.getItineraryBitmap());
} else {
icon.setVisibility(View.GONE);
}
additional.setVisibility(View.GONE);
header.setVisibility(View.GONE);
description.loadData("<html><body>" + stage.getItinerary()
+ "</body></html", "text/html; charset=utf-8", "utf-8");
if (stage.getItineraryBitmap() != null) {
icon.setImageBitmap(stage.getItineraryBitmap());
} else {
icon.setVisibility(View.GONE);
}
additional.setVisibility(View.GONE);
header.setVisibility(View.GONE);
description.loadData("<html><body>" + stage.getItinerary() + "</body></html", "text/html; charset=utf-8",
"utf-8");
}
}

View file

@ -148,8 +148,8 @@ public class SherpafyTourFragment extends SherlockListFragment {
getString(R.string.sherpafy_overview_desr), false));
items.add(new StageItem(StageItemType.INSTRUCTIONS, getString(R.string.sherpafy_instructions),
getString(R.string.sherpafy_instructions_desr), false));
items.add(new StageItem(StageItemType.GALLERY, getString(R.string.sherpafy_gallery),
getString(R.string.sherpafy_gallery_descr), false));
// items.add(new StageItem(StageItemType.GALLERY, getString(R.string.sherpafy_gallery),
// getString(R.string.sherpafy_gallery_descr), false));
items.add(new StageItem(StageItemType.TEXT, "", getString(R.string.sherpafy_stages_txt), true));
if (tour != null) {
for (StageInformation si : tour.getStageInformation()) {

View file

@ -9,9 +9,12 @@ import java.io.InputStreamReader;
import java.io.Reader;
import java.util.ArrayList;
import java.util.List;
import java.util.WeakHashMap;
import net.osmand.PlatformUtil;
import net.osmand.data.LatLon;
import net.osmand.plus.GPXUtilities.GPXFile;
import net.osmand.util.Algorithms;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
@ -29,11 +32,9 @@ public class TourInformation {
private String shortDescription = "";
private String fulldescription = "";
private String instructions = "";
private Bitmap defaultImg = null;
private File imgFile;
private List<StageInformation> stageInformation = new ArrayList<TourInformation.StageInformation>();
public TourInformation(File f) {
this.folder = f;
this.name = f.getName().replace('_', ' ');
@ -47,6 +48,18 @@ public class TourInformation {
return instructions;
}
private static WeakHashMap<File, Bitmap> androidBitmaps = new WeakHashMap<File, Bitmap>();
private static Bitmap decodeImage(File f) {
if(!androidBitmaps.containsKey(f)) {
Bitmap img =null;
if(f != null && f.exists()) {
img = BitmapFactory.decodeFile(f.getAbsolutePath());
}
androidBitmaps.put(f, img);
}
return androidBitmaps.get(f);
}
private static Reader getUTF8Reader(InputStream f) throws IOException {
BufferedInputStream bis = new BufferedInputStream(f);
@ -71,6 +84,8 @@ public class TourInformation {
int tok;
String text = "";
StageInformation stage = null;
StageFavoriteGroup group = null;
StageFavorite favorite = null;
stageInformation.clear();
while ((tok = parser.next()) != XmlPullParser.END_DOCUMENT) {
if (tok == XmlPullParser.START_TAG) {
@ -84,16 +99,39 @@ public class TourInformation {
stage.name = name;
} else if (tag.equals("itinerary") && stage != null){
String img = getDefAttribute(parser, "image", "");
stage.distance = Double.parseDouble(getDefAttribute(parser, "distance", "0"));
stage.duration = Integer.parseInt(getDefAttribute(parser, "duration", "0"));
double slat = Double.parseDouble(getDefAttribute(parser, "startLat", "0"));
double slon = Double.parseDouble(getDefAttribute(parser, "startLon", "0"));
if(slat != 0 || slon != 0) {
stage.startPoint = new LatLon(slat, slon);
}
if(img.startsWith(FILE_PREFIX)) {
stage.itineraryFile = getFile(img);
}
stage.itinerary = getInnerXml(parser);
} else if(stage != null && tag.equals("group")) {
group = new StageFavoriteGroup();
group.color = Algorithms.parseColor(getDefAttribute(parser, "color", Algorithms.colorToString(StageImageDrawable.INFO_COLOR)));
group.name = getDefAttribute(parser, "name", "");
group.id = getDefAttribute(parser, "id", "");
group.order = stage.favorites.size();
stage.favorites.add(group);
} else if(group != null && tag.equals("favorite")) {
favorite = new StageFavorite();
favorite.location = new LatLon(Double.parseDouble(getDefAttribute(parser, "lat", "0")),
Double.parseDouble(getDefAttribute(parser, "lon", "0")));
favorite.name = getDefAttribute(parser, "name", "");
favorite.group = group;
favorite.order = stage.favorites.size();
group.favorites.add(favorite);
stage.favorites.add(favorite);
} else if (tag.equals("fullDescription")){
fulldescription = getInnerXml(parser);
} else if (tag.equals("instructions")){
instructions = getInnerXml(parser);
} else if (stage != null && tag.equals("interval")){
stage.distance = Double.parseDouble(getDefAttribute(parser, "distance", "0"));
} else if (favorite != null && tag.equals("description")){
favorite.fullDescription = getInnerXml(parser);
} else if (stage != null && tag.equals("description")){
stage.fullDescription = getInnerXml(parser);
}
@ -104,12 +142,18 @@ public class TourInformation {
if(tag.equals("stage")) {
stageInformation.add(stage);
stage = null;
} else if(stage != null && tag.equals("fullDescription")) {
stage.fullDescription = text;
} else if(favorite != null && tag.equals("defaultImage")) {
if(text.startsWith(FILE_PREFIX)) {
favorite.imgFile = getFile(text);
}
} else if(stage != null && tag.equals("defaultImage")) {
if(text.startsWith(FILE_PREFIX)) {
stage.imgFile = getFile(text);
}
} else if(stage != null && tag.equals("group")) {
group = null;
} else if(stage != null && tag.equals("favorite")) {
favorite = null;
} else if(tag.equals("defaultImage")) {
if(text.startsWith(FILE_PREFIX)) {
imgFile = getFile(text);
@ -119,7 +163,9 @@ public class TourInformation {
stage.gpxFile = getFile(text);
}
} else if(tag.equals("shortDescription")) {
if(stage != null) {
if(favorite != null) {
favorite.shortDescription = text;
} else if(stage != null) {
stage.shortDescription = text;
} else {
shortDescription = text;
@ -168,10 +214,7 @@ public class TourInformation {
public Bitmap getImageBitmap() {
if(defaultImg == null && imgFile != null && imgFile.exists()) {
defaultImg = BitmapFactory.decodeFile(imgFile.getAbsolutePath());
}
return defaultImg;
return decodeImage(imgFile);
}
//returns image bitmap from selected relative path
@ -189,21 +232,104 @@ public class TourInformation {
}
public static class StageInformation {
public static class StageFavoriteGroup {
String id;
int order;
int color;
String name = "";
List<StageFavorite> favorites = new ArrayList<StageFavorite>();
String itinerary = "";
File gpxFile;
public GPXFile gpx;
public int getColor() {
return color;
}
public String getName() {
return name;
}
public List<StageFavorite> getFavorites() {
return favorites;
}
public int getOrder() {
return order;
}
}
public static class StageFavorite {
int order;
LatLon location;
String name = "";
String shortDescription = "";
String fullDescription = "";
File imgFile;
StageFavoriteGroup group;
public StageFavoriteGroup getGroup() {
return group;
}
public int getOrder() {
return order;
}
public LatLon getLatLon() {
return location;
}
public String getName() {
return name;
}
public String getShortDescription() {
return shortDescription;
}
public String getFullDescription() {
return fullDescription;
}
public Bitmap getImage() {
return decodeImage(imgFile);
}
}
public static class StageInformation {
int duration;
String itinerary = "";
File gpxFile;
GPXFile gpx;
String name = "";
String shortDescription = "";
String fullDescription = "";
Bitmap img;
File imgFile;
private Bitmap itineraryImg;
File itineraryFile;
double distance;
private TourInformation tour;
private int order;
LatLon startPoint = null;
List<Object> favorites = new ArrayList<Object>();
TourInformation tour;
int order;
public List<Object> getFavorites() {
return favorites;
}
public StageFavoriteGroup getGroupById(String id) {
for(Object o : favorites) {
if(o instanceof StageFavoriteGroup) {
if(id.equals(((StageFavoriteGroup)o).id)) {
return (StageFavoriteGroup) o;
}
}
}
return null;
}
public LatLon getStartPoint() {
return startPoint;
}
public String getItinerary() {
return itinerary;
@ -244,17 +370,12 @@ public class TourInformation {
public Bitmap getImageBitmap() {
if(img == null && imgFile != null && imgFile.exists()) {
img = BitmapFactory.decodeFile(imgFile.getAbsolutePath());
}
return img;
return decodeImage(imgFile);
}
public Bitmap getItineraryBitmap() {
if(itineraryImg == null && itineraryFile != null && itineraryFile.exists()) {
itineraryImg = BitmapFactory.decodeFile(itineraryFile.getAbsolutePath());
}
return itineraryImg;
return decodeImage(itineraryFile);
}
@Override

View file

@ -4,6 +4,7 @@ import java.util.WeakHashMap;
import net.osmand.plus.OsmandApplication;
import net.osmand.plus.R;
import net.osmand.plus.sherpafy.TourInformation.StageFavorite;
import net.osmand.plus.sherpafy.TourInformation.StageInformation;
import android.content.Intent;
import android.content.pm.ActivityInfo;
@ -304,6 +305,19 @@ public class TourViewActivity extends SherlockFragmentActivity {
}
}
public void showFavoriteFragment(StageInformation stage, StageFavorite sf) {
FragmentManager fragmentManager = getSupportFragmentManager();
setDrawerIndicatorVisible(false);
SherpafyFavoriteFragment fragment = new SherpafyFavoriteFragment();
Bundle bl = new Bundle();
bl.putInt(SherpafyFavoriteFragment.STAGE_PARAM, stage.getOrder());
bl.putString(SherpafyFavoriteFragment.TOUR_PARAM, stage.getTour().getId());
bl.putInt(SherpafyFavoriteFragment.FAV_PARAM, sf.getOrder());
fragment.setArguments(bl);
fragmentManager.beginTransaction().replace(R.id.content_frame, fragment).commit();
}
public void showHtmlFragment(String title, String cont) {
FragmentManager fragmentManager = getSupportFragmentManager();
setDrawerIndicatorVisible(false);