diff --git a/OsmAnd-java/test/resources/test_turn_lanes.json b/OsmAnd-java/test/resources/test_turn_lanes.json
index 2400234901..09ccc3caf5 100644
--- a/OsmAnd-java/test/resources/test_turn_lanes.json
+++ b/OsmAnd-java/test/resources/test_turn_lanes.json
@@ -337,6 +337,20 @@
"expectedResults": {
"328033376": "TL|+C|TR"
}
+ },
+ {
+ "testName": "20.Leimuiderweg (N207) TL Leidsestraat (N208)",
+ "startPoint": {
+ "latitude": 45.66587440212255,
+ "longitude": 35.598875460624754
+ },
+ "endPoint": {
+ "latitude": 45.664455433977736,
+ "longitude": 35.59152620792395
+ },
+ "expectedResults": {
+ "385047566": "+TL|+TL,C|TR"
+ }
}
]
\ No newline at end of file
diff --git a/OsmAnd/build.gradle b/OsmAnd/build.gradle
index 81d0923396..f897d2081f 100644
--- a/OsmAnd/build.gradle
+++ b/OsmAnd/build.gradle
@@ -58,7 +58,6 @@ android {
}
dexOptions {
- jumboMode = true
incremental true
javaMaxHeapSize "4g"
}
diff --git a/OsmAnd/no_translate.xml b/OsmAnd/no_translate.xml
index ed7fcf01b7..230fe76e47 100644
--- a/OsmAnd/no_translate.xml
+++ b/OsmAnd/no_translate.xml
@@ -28,5 +28,8 @@
Value
€1,49
-
+ https://twitter.com/osmandapp
+ https://www.facebook.com/osmandapp
+ https://vk.com/osmandapp
+
diff --git a/OsmAnd/res/drawable-hdpi/ic_action_multiselect.png b/OsmAnd/res/drawable-hdpi/ic_action_multiselect.png
new file mode 100644
index 0000000000..7282b408ba
Binary files /dev/null and b/OsmAnd/res/drawable-hdpi/ic_action_multiselect.png differ
diff --git a/OsmAnd/res/drawable-hdpi/ic_action_singleselect.png b/OsmAnd/res/drawable-hdpi/ic_action_singleselect.png
new file mode 100644
index 0000000000..e82c1826ed
Binary files /dev/null and b/OsmAnd/res/drawable-hdpi/ic_action_singleselect.png differ
diff --git a/OsmAnd/res/drawable-mdpi/ic_action_multiselect.png b/OsmAnd/res/drawable-mdpi/ic_action_multiselect.png
new file mode 100644
index 0000000000..74e50f47fc
Binary files /dev/null and b/OsmAnd/res/drawable-mdpi/ic_action_multiselect.png differ
diff --git a/OsmAnd/res/drawable-mdpi/ic_action_singleselect.png b/OsmAnd/res/drawable-mdpi/ic_action_singleselect.png
new file mode 100644
index 0000000000..7cddcdb299
Binary files /dev/null and b/OsmAnd/res/drawable-mdpi/ic_action_singleselect.png differ
diff --git a/OsmAnd/res/drawable-xhdpi/ic_action_multiselect.png b/OsmAnd/res/drawable-xhdpi/ic_action_multiselect.png
new file mode 100644
index 0000000000..0956ef1759
Binary files /dev/null and b/OsmAnd/res/drawable-xhdpi/ic_action_multiselect.png differ
diff --git a/OsmAnd/res/drawable-xhdpi/ic_action_singleselect.png b/OsmAnd/res/drawable-xhdpi/ic_action_singleselect.png
new file mode 100644
index 0000000000..d0d488746a
Binary files /dev/null and b/OsmAnd/res/drawable-xhdpi/ic_action_singleselect.png differ
diff --git a/OsmAnd/res/drawable-xxhdpi/ic_action_multiselect.png b/OsmAnd/res/drawable-xxhdpi/ic_action_multiselect.png
new file mode 100644
index 0000000000..4f786040d4
Binary files /dev/null and b/OsmAnd/res/drawable-xxhdpi/ic_action_multiselect.png differ
diff --git a/OsmAnd/res/drawable-xxhdpi/ic_action_singleselect.png b/OsmAnd/res/drawable-xxhdpi/ic_action_singleselect.png
new file mode 100644
index 0000000000..7b88b40d06
Binary files /dev/null and b/OsmAnd/res/drawable-xxhdpi/ic_action_singleselect.png differ
diff --git a/OsmAnd/res/layout/download_item_list_section.xml b/OsmAnd/res/layout/download_item_list_section.xml
index 3aa22b1269..0f2640b37c 100644
--- a/OsmAnd/res/layout/download_item_list_section.xml
+++ b/OsmAnd/res/layout/download_item_list_section.xml
@@ -9,6 +9,7 @@
android:minHeight="40dp"
android:orientation="horizontal"
android:paddingLeft="@dimen/list_header_padding"
+ android:background="?attr/ctx_menu_info_view_bg"
android:paddingRight="@dimen/list_header_padding">
Станцыя назіраньня
Эл. пошта
Факс
- Фэйсбук
+ Фэйсбук
Сотавы тэлефон
Прытулак для сабак
Прытулак для катоў
@@ -1054,11 +1054,11 @@
Адпрацаваная алiва
Парфумэрыя
- Твітар
+ Твітар
Скайп
Ютуб
Інстаграм
- УКантакце
+ УКантакце
Гугл+
Млынавая сажалка
Будынак
@@ -1523,4 +1523,5 @@
Цынк
Цыркон
+ Сходы
diff --git a/OsmAnd/res/values-be/strings.xml b/OsmAnd/res/values-be/strings.xml
index ec7af04fc4..4880a1e061 100644
--- a/OsmAnd/res/values-be/strings.xml
+++ b/OsmAnd/res/values-be/strings.xml
@@ -2204,4 +2204,9 @@
Магнітны азімут
Навігацыя OSM Live
Пункт прызначэньня не зададзены
+ Сачыце за намі
+ Гукавая індыкацыя кірунку
+ Індыцыраваць гукам кірунак на мэтавы пункт
+ Тактыльная індыкацыя кірунку
+ Індыцыраваць вібрацыяй кірунак на мэтавы пункт
diff --git a/OsmAnd/res/values-ca/phrases.xml b/OsmAnd/res/values-ca/phrases.xml
index 72593b5d36..c328044e43 100644
--- a/OsmAnd/res/values-ca/phrases.xml
+++ b/OsmAnd/res/values-ca/phrases.xml
@@ -954,7 +954,7 @@
Correu electrònic
Fax
- Facebook
+ Facebook
Mòbil
Tipus de refugi: per gossos
Tipus de refugi: per gats
@@ -1048,11 +1048,11 @@
Envasos de cartró de begudes
Xapa metàl·lica
Bassa del molí
- Twitter
+ Twitter
Skype
YouTube
Instagram
- VKontakte
+ VKontakte
Google+
Perfumeria
@@ -2207,4 +2207,5 @@
SIDA: sí
SIDA: no
+ Situació de l\'hidrant: soterrat
diff --git a/OsmAnd/res/values-ca/strings.xml b/OsmAnd/res/values-ca/strings.xml
index 3d75b2d1a9..708a347e5d 100644
--- a/OsmAnd/res/values-ca/strings.xml
+++ b/OsmAnd/res/values-ca/strings.xml
@@ -2030,4 +2030,5 @@ Per retornar a l\'estil habitual dels mapes d\'OsmAnd, només cal desactivar aqu
Indica la direcció al punt de destinació amb só
Resposta acústica segons direcció
Resposta cinètica segons direcció
+ Seguiu-nos
diff --git a/OsmAnd/res/values-cs/phrases.xml b/OsmAnd/res/values-cs/phrases.xml
index e7b273142e..ff093563e4 100644
--- a/OsmAnd/res/values-cs/phrases.xml
+++ b/OsmAnd/res/values-cs/phrases.xml
@@ -1078,12 +1078,12 @@
Vojenský úřad
E-mail
Fax
- Facebook
- Twitter
+ Facebook
+ Twitter
Skype
YouTube
Instagram
- VKontakte
+ VKontakte
Google+
Mobilní telefon
Výška
diff --git a/OsmAnd/res/values-cs/strings.xml b/OsmAnd/res/values-cs/strings.xml
index a01fa8fd45..3cf92f0ad1 100644
--- a/OsmAnd/res/values-cs/strings.xml
+++ b/OsmAnd/res/values-cs/strings.xml
@@ -1980,6 +1980,43 @@
Mapová značka
Je doporučeno vypnout zobrazování polygonů.
Zobrazit trasy pro horská kola
- Nyní aplikace umožňuje zapisovat na externí úložiště. Je potřeba provést ruční restart aplikace.
+ Aplikace nyní umožňuje zapisovat na externí úložiště. Je potřeba provést ruční restart aplikace.
Název souboru obsahuje nepovolené znaky
-
+Cíl není určen
+ Magnetické směrování
+ Relativní směrování
+ Neměnit trasu při odchýlení z cesty
+ Neprovádět automatické přepočítání trasy pokud jste daleko od správné cesty
+ Neměnit trasu při jízdě opačným směrem
+ Neprovádět automatické přepočítání když se pohybujete opačným směrem
+ Chytré oznamování
+ Oznamovat pouze když se změní směr k cíli
+ Interval oznamování
+ Minimální čas mezi oznámeními
+ Výchozí barva
+ Vyberte kategorii
+ Zadejte název
+ Zadejte kategorii
+ Zadejte popis
+ Mapa je propojená na pozici
+ Sbalený seznam
+ Rozbalený seznam
+ Prázdný seznam
+ Stromový seznam
+ Není nainstalované
+ Rozbalit
+ Navigovat nahoru
+ Setřídit
+ Režim mapy
+ %s vybraných GPX souborů
+ Tenké
+ Střední
+ Tučné
+ Prosím přidejte mapové značky pomocí mapy
+ Žádné body cesty nenalezeny
+ Sleduj nás
+ Indikovat směr k cílovému bodu zvukem
+ Haptická zpětná vazba směru
+ Indikovat směr k cílovému bodu vibrováním
+ OSM Live navigace
+
diff --git a/OsmAnd/res/values-da/phrases.xml b/OsmAnd/res/values-da/phrases.xml
index a23ff559f2..7483128fd1 100644
--- a/OsmAnd/res/values-da/phrases.xml
+++ b/OsmAnd/res/values-da/phrases.xml
@@ -966,7 +966,7 @@
E-mail
Fax
- Facebook
+ Facebook
Mobiltelefon
Internat: hund
Internat: kat
@@ -1060,11 +1060,11 @@
Ikke markeret
Mølledam
- Twitter
+ Twitter
Skype
YouTube
Instagram
- VKontakte
+ VKontakte
Google+
Parfumeri
@@ -2916,10 +2916,10 @@
Brandhane placering: gaden
Brandhane placering: under jorden
Brandhane stil: wsh
- Brandhane vandforsyning: primær
- Brandhane vandforsyning dam
- Brandhane vandforsyning: bæk
- Brandhane vandforsyning: cisterne
+ Brandhane vandforsyningskilde: primær
+ Brandhane vandforsyningskilde: dam
+ Brandhane vandforsyningskilde: vandløb
+ Brandhane vandforsyningskilde: cisterne
I tjeneste: ja
Gadeskabstype: eldistribution
diff --git a/OsmAnd/res/values-da/strings.xml b/OsmAnd/res/values-da/strings.xml
index 38789d3d30..6073a90c6a 100644
--- a/OsmAnd/res/values-da/strings.xml
+++ b/OsmAnd/res/values-da/strings.xml
@@ -2361,8 +2361,9 @@
Destination er ikke angivet
Aktiver navigation for OSM Live ændringer (Beta)
OSM Live navigation
- Retning lyd-feedback
- Angiv målpunkt retning med lyd
- Retning haptisk feedback
- Angiv målpunkt retning med vibrationer
+ Retning med lyd-indikation
+ "Indikerer retning til målpunkt med lyd"
+ Retning med haptisk indikation
+ "Indikerer retning til målpunkt med vibrationer"
+ Følg os
diff --git a/OsmAnd/res/values-de/phrases.xml b/OsmAnd/res/values-de/phrases.xml
index 39f6422556..8edb7f3541 100644
--- a/OsmAnd/res/values-de/phrases.xml
+++ b/OsmAnd/res/values-de/phrases.xml
@@ -956,7 +956,7 @@
Dusche
Email
Fax
- Facebook
+ Facebook
Mobiltelefon
kostenfrei
Trinkwasser
@@ -1008,11 +1008,11 @@
Unterkunftstyp: Vogel
Mühlenteich
- Twitter
+ Twitter
Skype
Youtube
Instagram
- VKontakte
+ VKontakte
Google+
Parfümerie
diff --git a/OsmAnd/res/values-eo/strings.xml b/OsmAnd/res/values-eo/strings.xml
index 7f908ca5b6..f41132cb91 100644
--- a/OsmAnd/res/values-eo/strings.xml
+++ b/OsmAnd/res/values-eo/strings.xml
@@ -403,7 +403,7 @@
Hispana
Versio:
Pri
- Montras informojn, permesilojn, kontribuistojn
+ Informoj, permesiloj, kontribuistoj
Etoso
Elektu etoson de aplikaĵo
Nivelkurboj
@@ -453,7 +453,7 @@
Forigi
OSM-aj redaktoj
Parkuma tempo limigita ĝis
- restas
+ ankoraŭ
Viaj redaktoj
Viziti poste
Viziti antaŭe
@@ -628,9 +628,9 @@
GPX-aj navigadpunktoj
Ĉu elŝuti mankajn mapojn de %1$s (%2$d MB)?
Esplori mapon
- Aŭte
- Bicikle
- Perpiede
+ Aŭto
+ Biciklo
+ Perpiedanto
Inviti…
Kolor-kodigi domojn laŭspece
Ĉu vi volas forlasi grupon %1$s?
@@ -846,14 +846,14 @@
Maldika
Meza
Dika
- Finpunkto ne estas precizigita
+ Celo ne estas precizigita
Tutmondaj Bitmono-pageblaj lokoj
Fundamenta mapo de mondo
Tutmondaj skivojoj
Loke kalkuli segmenton de OsmAnd-a kurso
Ĉu vi volas uzi montratan kurson por navigado?
Kalkuli OsmAnd-an kurson por unua kaj fina segmentoj de kurso
- Aldoni kiel finpunkto
+ Aldoni kiel celo
Elekti GPX-on…
Elekti celon
Kursaj agordoj
@@ -888,7 +888,7 @@
Kamiono
Navigadaj agordoj
Difinado de vojo
- Agordu lud-rapidon por generitaj dialogaj helpoj
+ Agordas lud-rapidon por parolsintezitaj dialogaj helpoj
Voĉa rapido
Eraro dum rapida kalkulado de kurso (%s), retropaŝanta malrapidan kalkuladon.
Malaktivigas 2-fazan difinadon de vojo por aŭt-navigado
@@ -903,4 +903,116 @@
Aviadilo
Ĉu vi certe volas forigi %1$d OSM-ajn ŝanĝojn?
Bonvolu antaŭe kalkuli la kurson
+ Sekvu nin
+ "Simuli uzante kalkulitan kurson "
+ Simuli uzante GPX-kurson
+ Eksterreta kalkulado de kurso povos okupi multe da tempo (aŭ eĉ ĝi povos malfunkcii) por punktoj pli malproksimaj ol 200km. Eble vi provos aldoni interajn celojn por plibonigi rendimenton.
+ Sen aŭtomata skalado
+ Pliproksime
+ Meza-skalado
+ Malproksime
+ Monda bazmapo
+ Map-skalado
+ Elŝutitaj niveloj de pligrandigo: %1$s
+ Senvalidiĝos (minutoj): %1$s
+ Elŝuteblaj: %1$s
+ Maksimuma skalo: %1$s
+ Minimuma skalo: %1$s
+ Kahelaj datumoj: %1$s
+ Kahelfonto %1$s estas sukcese konservita
+ Elipsa merkatora
+ Maksimuma skalo
+ Senvalidiĝas (minutoj)
+ Minimuma skalo
+ URL
+ Elekti ekzistantan…
+ Nomo
+ Difini/Redakti…
+ Montri kadrojn sekunde (senerarigo)
+ Trafika regiono
+ Elektu trafikan regionon: Usono, Eŭropo, Unuiĝinta Reĝlando, Azio, kaj aliaj
+ Anoncanta…
+ Agordas anoncoj pri strataj nomoj, trafikaj avertoj (endaj haltejoj, strat-ĝiboj), rapid-kontroladoj, rapidlimoj
+ Nomoj de stratoj (parolsintezitaj)
+ Rapidlimoj
+ Rapid-kontroladoj
+ Trafikaj avertoj
+ Bonvolu entajpi uzantnomon kaj pasvorton por OSM en Agordoj
+ Vakigi inter-celojn
+ Konservi inter-celojn
+ Vi jam precizigis inter-celojn.
+ Navigi al
+ Navigi el
+ "Mapo: "
+ Lat %1$.3f, Lon %2$.3f
+ Celo
+ Al:
+ Tra:
+ El:
+
+ Esplori mapon
+ Implicita profilo
+ Map-vido kaj navigadaj agordoj estas memoritaj aparte por ia profilo de uzado. Agordu vian implicitan profilon tie ĉi.
+ Celo %1$s
+ Agordi kiel celo
+ Unue elektu urbon aŭ straton
+ Serĉi straton en apudaj urboj
+ Inter-celoj estas reordigitaj de nuna pozicio al la celo.
+ Ordigi de celo ĝis celo (laŭ la plej malgranda distanco)
+ OSM-a ŝanĝodosiero kreita sukcese %1$s
+ Eraro kreanta sekurkopion de OSM-aj ŝanĝoj
+ Krei sekurkopion kiel OSM-a ŝanĝo
+ Forigi punkton
+ tempo
+ precizeco
+ rapideco
+ alto
+ Punkto
+ Nomo de GPX-dosiero
+ GPX-dosiero konservita sukcesa al {0}
+ * Tuŝu por marki punkton.\n * Premtenu sur la mapo por forigi antaŭan punkton.\n * Premtenu punkton por vidi kaj aldoni priskribon.\n * Tuŝu mezur-fenestraĵon por vidi pli funkciojn.
+ Eki redaktadon
+ Finigi redaktadon
+ Vakigi ĉiujn punktojn
+ Eki novan subkurson
+ Malfermi GPX-dosieron
+ Bonvolu atendi ĝis nuna tasko finis
+ Uzi filtrilon de Kalman
+ Etigas bruojn en logoj de kompaso sed egigas inertecon
+ Uzi magneto-sentilon
+ Uzas magneto-sentilon anstataŭ orientiĝo-sentilon por legi kompasan direkton
+ Alia
+ Ankoraŭ %1$d dosieroj
+ %1$d dosieroj disponeblaj por elŝuto
+ Plena versio
+ Forĵeti kurson
+ Ĉesigi navigadon
+ Vakigi celpunkton
+ Strat-nomo
+ Nuntempe vi ne konektas tra vifion. Ĉu vi volas uzi estantan interretan konekton por elŝuti?
+ Dom-numero
+ Retejo
+ Telefono
+ Montras agordojn pri aktivigi spuradon kaj navigadon fone (malaktiva ekrano) per periode aktivanta GPS-on.
+ Instalaj versioj
+ Alireblecaj agordoj
+ Tiu ĉi kromprogramo ebligas uzi alireblecajn ilojn senpere en OsmAnd. Ĝi plifaciligas ekz. agordi rapidon de parolsintezitaj dialogaj helpoj, uzi montrilo-butonojn por navigado sur ekrano, uzi stirglobon por skalado, aŭ uzi teksto-al-parolajn sciigojn ekz. por aŭtomate anonci vian pozicion.
+ Elekti adreson
+ Elekti ŝatatan
+ Modifoj de OSM
+ Tavolo de nivel-ombrumo
+ GPS-informo
+ Alvena tempo
+ markita(j)
+ nemarkita(j)
+ Preferi aŭtovojojn
+ Preferi…
+ Preferas aŭtovojojn
+ nenia
+ OpenMaps EU
+ Vikipedio
+ Nivel-ombrumoj
+ Sonaj/videaj datumoj
+ Ĉu vi certe volas ĉesigi navigadon?
+ Ĉu vi certe volas vakigi la celpunkton (kaj inter-celojn)?
diff --git a/OsmAnd/res/values-es-rAR/phrases.xml b/OsmAnd/res/values-es-rAR/phrases.xml
index 4f2a132e23..6f7ff9d799 100644
--- a/OsmAnd/res/values-es-rAR/phrases.xml
+++ b/OsmAnd/res/values-es-rAR/phrases.xml
@@ -949,7 +949,7 @@
Email
Fax
- Facebook
+ Facebook
Móvil
Refugio canino
Refugio gatuno
@@ -1042,11 +1042,11 @@
Escombros
Cartón prensado
Laguna de molino
- Twitter
+ Twitter
Skype
YouTube
Instagram
- VKontakte
+ VKontakte
Google+
Perfumería
@@ -1899,9 +1899,9 @@
Superficie pavimentada
Superficie asfaltada
Superficie de hormigón
- Superficie adoquinada
+ Superficie de pavimento intertrabado
Superficie empedrada (adoquín)
- Superficie de adoquín prefabricado
+ Superficie de adoquín prefabricado (loseta)
Superficie empedrada (canto rodado)
Superficie de piedras
Superficie metalizada
diff --git a/OsmAnd/res/values-es-rAR/strings.xml b/OsmAnd/res/values-es-rAR/strings.xml
index 0eb379a4c8..7c4320793b 100644
--- a/OsmAnd/res/values-es-rAR/strings.xml
+++ b/OsmAnd/res/values-es-rAR/strings.xml
@@ -2171,4 +2171,9 @@
No se fijó el destino
Activa la navegación para cambios con OSM Live (Beta)
Navegación OSM Live
+ Síguenos
+ Dirección de retroalimentación auditiva
+ Indica el punto de dirección del destino mediante sonido
+ Dirección de retroalimentación háptica
+ Indica el punto de dirección del destino mediante vibración
diff --git a/OsmAnd/res/values-es-rUS/phrases.xml b/OsmAnd/res/values-es-rUS/phrases.xml
index 5b43de9c58..3a325ca3a1 100644
--- a/OsmAnd/res/values-es-rUS/phrases.xml
+++ b/OsmAnd/res/values-es-rUS/phrases.xml
@@ -894,7 +894,7 @@
Sin cargo
Email
Fax
- Facebook
+ Facebook
Móvil
Refugio canino
Refugio gatuno
@@ -984,11 +984,11 @@
Escombros
Cartón prensado
Laguna de molino
- Twitter
+ Twitter
Skype
YouTube
Instagram
- VKontakte
+ VKontakte
Google+
Perfumería
Edificio
@@ -1757,9 +1757,9 @@
Superficie pavimentada
Superficie asfaltada
Superficie de hormigón
- Superficie adoquinada
+ Superficie de pavimento intertrabado
Superficie empedrada (adoquín)
- Superficie de adoquín prefabricado
+ Superficie de adoquín prefabricado (loseta)
Superficie empedrada (canto rodado)
Superficie de piedras
Superficie metalizada
diff --git a/OsmAnd/res/values-es-rUS/strings.xml b/OsmAnd/res/values-es-rUS/strings.xml
index a8f9f39551..fd5cb9606d 100644
--- a/OsmAnd/res/values-es-rUS/strings.xml
+++ b/OsmAnd/res/values-es-rUS/strings.xml
@@ -2171,4 +2171,9 @@
No se fijó el destino
Activa la navegación para cambios con OSM Live (Beta)
Navegación OSM Live
+ Síguenos
+ Dirección de retroalimentación auditiva
+ Indica el punto de dirección del destino mediante sonido
+ Dirección de retroalimentación háptica
+ Indica el punto de dirección del destino mediante vibración
diff --git a/OsmAnd/res/values-es/phrases.xml b/OsmAnd/res/values-es/phrases.xml
index 0996238ed0..bf52076284 100644
--- a/OsmAnd/res/values-es/phrases.xml
+++ b/OsmAnd/res/values-es/phrases.xml
@@ -952,7 +952,7 @@
Email
Fax
- Facebook
+ Facebook
Móvil
Refugio canino
Refugio gatuno
@@ -1045,11 +1045,11 @@
Escombros
Cartón prensado
Lago de molino
- Twitter
+ Twitter
Skype
YouTube
Instagram
- VKontakte
+ VKontakte
Google+
Perfumería
diff --git a/OsmAnd/res/values-eu/strings.xml b/OsmAnd/res/values-eu/strings.xml
index 5c6af7c208..6c23f55d09 100644
--- a/OsmAnd/res/values-eu/strings.xml
+++ b/OsmAnd/res/values-eu/strings.xml
@@ -176,7 +176,7 @@
Hasi
Audio/bideo oharrak
OsmAnden lineaz kanpoko sestra-kurben plugina
- Plugin honek OsmAnd-eko lineaz kanpoko mapetan agertu daitezkeen sestra-kurbak eskaintzen ditu. Datu globalak (iparraldean 70 gradutan eta hegoaldean 70 gradutan) STRM (Shuttle Radar Topography Mission) eta ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer) neurrietan oinarrituak daude, espazioko Terra irudi tresna, NASAren Lurra Behatzeko Sistemaren satelite emblematikoa. ASTER NASAren, Japoniako Ekonomi, Merkataritza eta Industria Ministerioaren (EMIM), eta Japoneko Espazio Sistemaren (J-espaziosistema) elkarlanaren ondorioz sortua izan da.
+ Plugin honek OsmAnd-eko lineaz kanpoko mapetan agertu daitezkeen sestra-kurbak eskaintzen ditu. Datu globalak (iparraldean 70 gradutan eta hegoaldean 70 gradutan) STRM (Shuttle Radar Topography Mission) eta ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer) neurrietan oinarrituak daude, espazioko Terra irudi tresna, NASAren Lurra Behatzeko Sistemaren satelite emblematikoa. ASTER NASAren, Japoniako Ekonomi, Merkataritza eta Industria Ministerioaren (EMIM), eta Japoneko Espazio Sistemaren (J-espaziosistema) elkarlanaren ondorioz sortua izan da.
Distantzia neurketa
Ez dago oharrarekin erlazionaturiko kokapenik definituta. \"Kokapena erabili…\" aukeratutako kokapenari ohar bat lotzeko
@@ -264,11 +264,11 @@
OsmAnd Maps & Nabigazioa
Lineaz Kanpoko eta Sare Bidezko Mapa Ikusle eta Nabigatzaile Mugikor Globala OSM Mapetarako
⏎\n⇥⇥OsmAnd (OSM Automated Navigation Directions)⏎\n⏎\n⇥⇥OsmAnd kode irekiko nabigaziorako aplikazioa da, OpenStreetMapeko (OSM) mota askotako munduko mapetara sarbidearekin. Mapa guztiak (bektore edo tesela mapak) telefonoaren memoria txartelean gorde daitezke, lineaz kanpoko erabilpena bermatzeko. OsmAndek ere lineaz kanpoko eta sareko ibilbideak eskaintzen ditu, txandakako ahots gidaritzarekin.⏎\n⏎\n⇥⇥Ezaugarri nagusi batzuk:⏎\n⇥⇥- Lineaz kanpoko erabateko erabilpena (bektore edo tesela mapak gorde ondoren aukeratu daitezken karpetetan)⏎\n⇥⇥- Lineaz kanpoko mundu guztiko mapa konpaktuak eskuragarri⏎\n⇥⇥- Muga gabeko herrialde edo eskualdeetako mapen deskarga, aplikaziotik zuzenean⏎\n⇥⇥- Lineaz kanpoko WIkipediako erabilpena (deskargatu Wikipediako POIak), turismorako erabilgarriak⏎\n⇥⇥- Gain-geruza desberdin asko ikusi daitezke, GPX edo ibilbide bidea, interes puntuak (POI), gogokoenak, sestra-kurbak, garraio publikoaren geltokiak, geruza gardeneko mapa gehigarriak.⏎\n⇥⇥- Lineaz kanpoko helbide eta lekuen bilatzailea (POIak)⏎\n⇥⇥- Lineaz kanpoko ibilbide motzetarako jarraipena (esperimentala)⏎\n⇥⇥- Kotxea, txirrinda eta oinezkoentzat modua:⏎\n⇥⇥- aukerazko egun/gau ikuspegi automatizatua⏎\n⇥⇥- aukerazko abiaduraren araberako maparen zooma⏎\n⇥⇥- aukerazko maparen alineazioa, iparrorratzaren edo norabidearen araberakoa⏎\n⇥⇥- aukerazko errei gidaritza, abiadura muga bistaratzea, grabaketa edo TTS (ahots bihurgailua) motorra⏎\n⏎\n⇥⇥OsmAndeko dohaineko bertsioaren mugak:⏎\n⇥⇥- Mapa kopuruak deskargatzeko muga⏎\n⇥⇥- Wikipediako POIetara lineaz kanpoko sarbiderik ez⏎\n⏎\n⇥⇥OsmAnd aktiboki garatua izaten ari da eta proiektuaren prozesuak dituen garatze, programatze eta funtzionalitate berrien probak egiteko behar den finantziazio laguntzetan ere oinarritzen da. OsmAnd+ erosiz gero, aplikazioa are zirraragarria izatea laguntzen duzu! Ezaugarri berriak finantzatzea edo dohaintza orokor bat egitea posible da osman.net-en
- ⏎\nOsmAnd (OSM Automated Navigation Directions) mapa eta nabigaziorako aplikazioa da, OpenStreetMapeko (OSM) aske, mundu osoko eta kalitate handiko datuetara sarbidearekin. Mapen datu guztiak zure gailuaren memoria txartelean gorde daiteke lineaz kanpoko erabilpena eduki dezazun. Zure gailuaren GPSaren bitartez, OsmAnd-ek nabigazioa eskaintzen dizu, ikusmenezko edo entzutezko gidaritzarekin, kotxe, txirrinda edo oinezkoentzat. Funtzionalitate guztiak bai sarean bai lineaz kanpo funtzionatzen dute (ez dago interneten beharrik).⏎\n⏎\nEzaugarri nagusi batzuk:⏎\n⏎\nNabigazioa⏎\n- Sarean (azkar) edo lineaz kanpo (atzerrian zaudenean roaming kargarik gabe) funtzionatzen du⏎\n- Txandakako ahozko gidaritza (grabatutako eta sintetizatutako ahotsak)⏎\n- Aukerako bide gidaritza, kaleen izenak, eta estimatutako iritsiera ordua⏎\n- Ibilbidearen erdian geldiuneak jarri daitezke⏎\n- Ibilbidetik desbideratzen bazara, automatikoki birkalkulatuko du ibilbidea⏎\n- Leku bilatzailea helbidearen, motaren (adibidez: jatetxea, hotel, gasolindegia, museoa) edo koordenaden arabera⏎\n⏎\nMapen ikuspena⏎\n- Zure kokapena eta orientazioa agertzen da⏎\n- Aukeraz, mapa iparrorratzarekin edo zure norabidearekin mugituko da⏎\n- Gorde zure leku garrantzitsuenak Gogokoetan⏎\n- Zure inguruko POIak (Interes puntuak) ikustea⏎\n- Tesela bereziak ikusi daitezke sarean⏎\n- Satelite irudiak (Bingetik) ikusi daitezke⏎\n- Gain-geruza desberdinak ikusi daitezke, ibilbidea/nabigazioaren GPX bidea eta mapa garden gehigarriak⏎\n- Leku izenak ingelesez, tokiko hizkuntzan edo fonetikoki idatzia ikusteko aukera dago⏎\n⏎\nOpenStreetMap eta Wikipediako datuen erabilpena:⏎\n- Munduko proiektu kolaboratibo hoberenen kalitate handiko informazioa⏎\n- OpenStreetMapeko munduko mapak, herrialde edo eskualde bakoitza eskuragarri dago⏎\n- Wikipediako POIak, turismorako onak (dohaineko bertsioan ez daude erabilgarri)⏎\n- Muga gabeko dohaineko deskarga, aplikaziotik zuzenean (dohaineko bertsioan 16 mapa fitxategiko muga)⏎\n- Mapa eguneratuak beti (gutxienez eguneraketa bat hilabetean)⏎\n- Lineaz kanpoko bektore mapa konpaktuak⏎\n- Mapa osoa edo errepide sarea bakarrik aukeratu daiteke (Adibidez: Japonia guztia 700 MB dira, edo errepide sarea 200 MB bakarrik)⏎\n- Sareko edo katxeatutako tesela mapak jasaten ditu ere⏎\n⏎\nSegurtasun ezaugarriak⏎\n- Aukerazko eguna/gaua ikuspegi kommutazio automatikoa⏎\n- Aukerazko abiadura mugak agertzea, gainditzerakoan abisatzen dizuna⏎\n- Aukerazko abiaduraren araberako mapa zooma⏎\n- Partekatu zure kokapena, zure lagunek uneoro jakin dezaten non zauden⏎\n⏎\nTxirrinda eta oinezkoen ezaugarriak⏎\n- Mapek oinezko, mendiko eta txirrinda bideak dakartzate, kanpo jardueretako aproposa.⏎\n- Ibilbide eta ikuspegi bereziak txirrinda eta oinezkoentzako⏎\n- Aukerazko garraio publikoaren geltokiak (autobus, tranbia, trena) autobus-linien izenak barne⏎\n- Aukerazko bidaiaren grabaketa GPX fitxategi batera edo sareko zerbitzu batera⏎\n- Abiadura eta altuera azaltzeko aukera⏎\n- Sestra-kurbak eta mendi itzalak (plugin gehigarri batez) erakusteko aukera⏎\n⏎\nOpenStreetMapera zuzeneko laguntza⏎\n- Mapetako akatsak salatu⏎\n- GPX bideak igo aplikaziotik OSMra zuzenean⏎\n- POIak gehitu eta zuzenean OSMra igo (edo geroago lineaz kanpo egon ezkero)⏎\n- Aukerazko bidai grabaketa atzeko planoan bada ere (gailua esekituta dagoen bitartean)⏎\n⏎\nOsmAnd kode irekiko proiektua da, eta aktiboki garatua izaten ari da. Edozeinek lagundu dezake aplikazioarekin, erroreak salatzen, itzulitakoa hobetzen, edo ezaugarri berriak programatzen. Proiektua hobetzeko etengabeko egoeran dago garatzaileen eta erabiltzaileen interakzio modu hauei esker. Era berean, proiektuaren prozesuak dituen garatze, programatze eta funtzionalitate berrien probak egiteko behar den finantziazio laguntzetan ere oinarritzen da. OsmAnd+ erosiz gero, aplikazioa are zirraragarria izatea laguntzen duzu! Ezaugarri berriak finantzatzea edo dohaintza orokor bat egitea posible da osman.net-en.⏎\n⏎\n⏎\nGutxi gorabeherako mapa estaldura eta kalitatea:⏎\n- Mendebaldeko Europa: ****⏎\n- Ekialdeko Europa: ***⏎\n- Errusia: ***⏎\n- Ipar Amerika: ***⏎\n- Hego Amerika: **⏎\n- Asia: **⏎\n- Japonia & Korea: ***⏎\n- Ekialde hurbila: **⏎\n- Afrika: **⏎\n- Antartika: *⏎\n⏎\nJasandako herrialdeen lista (funtsean mundu osoa!):⏎\nAfganistan, Albania, Aljeria, Andorra, Angola, Aingira, Antigua eta Barbuda, Argentina, Armenia, Aruba, Australia, Austria, Azerbaijan, Bahamak, Bahrein, Bangladesh, Barbados, Bielorrusia, Belgika, Belize, Benin, Bermuda, Bhutan, Bolivia, Bonaire, Bosnia eta Herzegovina, Botswana, Brasil, Birjina britainiar uharteak, Brunei, Bulgaria, Burkina Faso, Burundi, Kanbodia, Kamerun, Kanada, Kabo Berde, Afrika Erdiko Errepublika, Txad, Txile, Txina, Kolonbia, Komoreak, Kongo, Kosta Rika, Boli Kosta, Kroazia, Kuba, Curaçao, Txipre, Txekia, Danimarka, Djibuti, Dominika, Errepublika Dominikarra, Ekuador, Egipto, El Salvador, Ekuatorial Ginea, Eritrea, Estonia, Etiopia, Euskal Herria, Fiji, Finlandia, Frantzia, Guyana Frantsesa, Polinesia Frantsesa, Gabon, Gambia, Georgia, Alemania, Ghana, Gibraltar, Grezia, Groenlandia, Grenada, Guadalupe, Guam, Guatemala, Guernesey, Ginea, Ginea-Bissau, Guyana, Haiti, Vatikano, Honduras, Hong Kong, Hungaria, Islandia, India, Indonesia, Iran, Irak, Irlanda, Man, Israel, Italia, Jamaika, Japonia, Jersey, Jordania, Kazakhstan, Kenya, Kiribati, Ipar Korea eta Hego Korea, Kuwait, Kirgizistan, Laos, Letpmoa, Libano, Lesotho, Liberia, Libia, Liechtenstein, Lituania, Luxenburgo, Makao, Mazedonia, Madagaskar, Malawi, Malaysia, Maldivak, Mali, Malta, Martinika, Mauritania, Maurizio, Mayotte, Mexiko, Mikronesia, Moldavia, Monako, Mongolia, Montenegro, Montserrat, Maroko, Mozambike, Myanmar, Namibia, Nauru, Nepal, Herbehereak, Antilla herbeheretarrak, Kaledonia Berria, Zeelanda Berria, Nikaragua, Niger, Nigeria, Norvegia, Oman, Pakistan, Palau, Palestina, Panama, Papua Ginea Berria, Paraguai, Peru, Filipinak, Polonia, Portugal, Puerto Rico, Qatar, Errumania, Errusia, Ruanda, San Bartolome, Santa Elena, Saint Kitts eta Nevis, Santa Lucia, San Martin, Saint Pierre eta Mikelune, Saint Vincent eta Grenadinak, Samoa, San Marino, Saudi Arabia, Senegal, Serbia, Seychelleak, Sierra Leona, Singapur, Eslovakia, Eslovenia, Somalia, Hego Africa, Hego Georgia, Hego Sudan, Espainia, Sri Lanka, Sudan, Surinam, Swazilandia, Suedia, Suitza, Siria, Taiwan, Tadjikistan, Tanzania, Tailandia, Timor-Leste, Togo, Tokelau, Tonga, Trinidad eta Tobago, Tunisia, Turkia, Turkmenistan, Tuvalu, Uganda, Ukraina, Arabiar Emirerri Batuak, Erresuma Batua, Ameriketako Estatu Batuak, Uruguai, Uzbekistan, Vanuatu, Venezuela, Vietnam, Wallis eta Futuna, Sahara, Yemen, Zambia, Zimbabwe.⏎\n⇥
+ ⏎\nOsmAnd (OSM Automated Navigation Directions) mapa eta nabigaziorako aplikazioa da, OpenStreetMapeko (OSM) aske, mundu osoko eta kalitate handiko datuetara sarbidearekin. Mapen datu guztiak zure gailuaren memoria txartelean gorde daiteke lineaz kanpoko erabilpena eduki dezazun. Zure gailuaren GPSaren bitartez, OsmAnd-ek nabigazioa eskaintzen dizu, ikusmenezko edo entzutezko gidaritzarekin, kotxe, txirrinda edo oinezkoentzat. Funtzionalitate guztiak bai sarean bai lineaz kanpo funtzionatzen dute (ez dago interneten beharrik).⏎\n⏎\nEzaugarri nagusi batzuk:⏎\n⏎\nNabigazioa⏎\n- Sarean (azkar) edo lineaz kanpo (atzerrian zaudenean roaming kargarik gabe) funtzionatzen du⏎\n- Txandakako ahozko gidaritza (grabatutako eta sintetizatutako ahotsak)⏎\n- Aukerako bide gidaritza, kaleen izenak, eta estimatutako iritsiera ordua⏎\n- Ibilbidearen erdian geldiuneak jarri daitezke⏎\n- Ibilbidetik desbideratzen bazara, automatikoki birkalkulatuko du ibilbidea⏎\n- Leku bilatzailea helbidearen, motaren (adibidez: jatetxea, hotel, gasolindegia, museoa) edo koordenaden arabera⏎\n⏎\nMapen ikuspena⏎\n- Zure kokapena eta orientazioa agertzen da⏎\n- Aukeraz, mapa iparrorratzarekin edo zure norabidearekin mugituko da⏎\n- Gorde zure leku garrantzitsuenak Gogokoetan⏎\n- Zure inguruko POIak (Interes puntuak) ikustea⏎\n- Tesela bereziak ikusi daitezke sarean⏎\n- Satelite irudiak (Bingetik) ikusi daitezke⏎\n- Gain-geruza desberdinak ikusi daitezke, ibilbidea/nabigazioaren GPX bidea eta mapa garden gehigarriak⏎\n- Leku izenak ingelesez, tokiko hizkuntzan edo fonetikoki idatzia ikusteko aukera dago⏎\n⏎\nOpenStreetMap eta Wikipediako datuen erabilpena:⏎\n- Munduko proiektu kolaboratibo hoberenen kalitate handiko informazioa⏎\n- OpenStreetMapeko munduko mapak, herrialde edo eskualde bakoitza eskuragarri dago⏎\n- Wikipediako POIak, turismorako onak (dohaineko bertsioan ez daude erabilgarri)⏎\n- Muga gabeko dohaineko deskarga, aplikaziotik zuzenean (dohaineko bertsioan 16 mapa fitxategiko muga)⏎\n- Mapa eguneratuak beti (gutxienez eguneraketa bat hilabetean)⏎\n- Lineaz kanpoko bektore mapa konpaktuak⏎\n- Mapa osoa edo errepide sarea bakarrik aukeratu daiteke (Adibidez: Japonia guztia 700 MB dira, edo errepide sarea 200 MB bakarrik)⏎\n- Sareko edo katxeatutako tesela mapak jasaten ditu ere⏎\n⏎\nSegurtasun ezaugarriak⏎\n- Aukerazko eguna/gaua ikuspegi kommutazio automatikoa⏎\n- Aukerazko abiadura mugak agertzea, gainditzerakoan abisatzen dizuna⏎\n- Aukerazko abiaduraren araberako mapa zooma⏎\n- Partekatu zure kokapena, zure lagunek uneoro jakin dezaten non zauden⏎\n⏎\nTxirrinda eta oinezkoen ezaugarriak⏎\n- Mapek oinezko, mendiko eta txirrinda bideak dakartzate, kanpo jardueretako aproposa.⏎\n- Ibilbide eta ikuspegi bereziak txirrinda eta oinezkoentzako⏎\n- Aukerazko garraio publikoaren geltokiak (autobus, tranbia, trena) autobus-linien izenak barne⏎\n- Aukerazko bidaiaren grabaketa GPX fitxategi batera edo sareko zerbitzu batera⏎\n- Abiadura eta altuera azaltzeko aukera⏎\n- Sestra-kurbak eta mendi itzalak (plugin gehigarri batez) erakusteko aukera⏎\n⏎\nOpenStreetMapera zuzeneko laguntza⏎\n- Mapetako akatsak salatu⏎\n- GPX bideak igo aplikaziotik OSMra zuzenean⏎\n- POIak gehitu eta zuzenean OSMra igo (edo geroago lineaz kanpo egon ezkero)⏎\n- Aukerazko bidai grabaketa atzeko planoan bada ere (gailua esekituta dagoen bitartean)⏎\n⏎\nOsmAnd kode irekiko proiektua da, eta aktiboki garatua izaten ari da. Edozeinek lagundu dezake aplikazioarekin, erroreak salatzen, itzulitakoa hobetzen, edo ezaugarri berriak programatzen. Proiektua hobetzeko etengabeko egoeran dago garatzaileen eta erabiltzaileen interakzio modu hauei esker. Era berean, proiektuaren prozesuak dituen garatze, programatze eta funtzionalitate berrien probak egiteko behar den finantziazio laguntzetan ere oinarritzen da. OsmAnd+ erosiz gero, aplikazioa are zirraragarria izatea laguntzen duzu! Ezaugarri berriak finantzatzea edo dohaintza orokor bat egitea posible da osman.net-en.⏎\n⏎\n⏎\nGutxi gorabeherako mapa estaldura eta kalitatea:⏎\n- Mendebaldeko Europa: ****⏎\n- Ekialdeko Europa: ***⏎\n- Errusia: ***⏎\n- Ipar Amerika: ***⏎\n- Hego Amerika: **⏎\n- Asia: **⏎\n- Japonia & Korea: ***⏎\n- Ekialde hurbila: **⏎\n- Afrika: **⏎\n- Antartika: *⏎\n⏎\nJasandako herrialdeen lista (funtsean mundu osoa!):⏎\nAfganistan, Albania, Aljeria, Andorra, Angola, Aingira, Antigua eta Barbuda, Argentina, Armenia, Aruba, Australia, Austria, Azerbaijan, Bahamak, Bahrein, Bangladesh, Barbados, Bielorrusia, Belgika, Belize, Benin, Bermuda, Bhutan, Bolivia, Bonaire, Bosnia eta Herzegovina, Botswana, Brasil, Birjina britainiar uharteak, Brunei, Bulgaria, Burkina Faso, Burundi, Kanbodia, Kamerun, Kanada, Kabo Berde, Afrika Erdiko Errepublika, Txad, Txile, Txina, Kolonbia, Komoreak, Kongo, Kosta Rika, Boli Kosta, Kroazia, Kuba, Curaçao, Txipre, Txekia, Danimarka, Djibuti, Dominika, Errepublika Dominikarra, Ekuador, Egipto, El Salvador, Ekuatorial Ginea, Eritrea, Estonia, Etiopia, Euskal Herria, Fiji, Finlandia, Frantzia, Guyana Frantsesa, Polinesia Frantsesa, Gabon, Gambia, Georgia, Alemania, Ghana, Gibraltar, Grezia, Groenlandia, Grenada, Guadalupe, Guam, Guatemala, Guernesey, Ginea, Ginea-Bissau, Guyana, Haiti, Vatikano, Honduras, Hong Kong, Hungaria, Islandia, India, Indonesia, Iran, Irak, Irlanda, Man, Israel, Italia, Jamaika, Japonia, Jersey, Jordania, Kazakhstan, Kenya, Kiribati, Ipar Korea eta Hego Korea, Kuwait, Kirgizistan, Laos, Letpmoa, Libano, Lesotho, Liberia, Libia, Liechtenstein, Lituania, Luxenburgo, Makao, Mazedonia, Madagaskar, Malawi, Malaysia, Maldivak, Mali, Malta, Martinika, Mauritania, Maurizio, Mayotte, Mexiko, Mikronesia, Moldavia, Monako, Mongolia, Montenegro, Montserrat, Maroko, Mozambike, Myanmar, Namibia, Nauru, Nepal, Herbehereak, Antilla herbeheretarrak, Kaledonia Berria, Zeelanda Berria, Nikaragua, Niger, Nigeria, Norvegia, Oman, Pakistan, Palau, Palestina, Panama, Papua Ginea Berria, Paraguai, Peru, Filipinak, Polonia, Portugal, Puerto Rico, Qatar, Errumania, Errusia, Ruanda, San Bartolome, Santa Elena, Saint Kitts eta Nevis, Santa Lucia, San Martin, Saint Pierre eta Mikelune, Saint Vincent eta Grenadinak, Samoa, San Marino, Saudi Arabia, Senegal, Serbia, Seychelleak, Sierra Leona, Singapur, Eslovakia, Eslovenia, Somalia, Hego Africa, Hego Georgia, Hego Sudan, Espainia, Sri Lanka, Sudan, Surinam, Swazilandia, Suedia, Suitza, Siria, Taiwan, Tadjikistan, Tanzania, Tailandia, Timor-Leste, Togo, Tokelau, Tonga, Trinidad eta Tobago, Tunisia, Turkia, Turkmenistan, Tuvalu, Uganda, Ukraina, Arabiar Emirerri Batuak, Erresuma Batua, Ameriketako Estatu Batuak, Uruguai, Uzbekistan, Vanuatu, Venezuela, Vietnam, Wallis eta Futuna, Sahara, Yemen, Zambia, Zimbabwe.⏎\n⇥
OsmAnd+ Mapak & Nabigazioa
Lineaz Kanpoko eta Sare Bidezko OSM Mapetarako Mapa Ikusle eta Nabigatzaile Mugikor Globala
⏎\n⇥⇥OsmAnd+ (OSM Automated Navigation Directions)⏎\n⏎\n⇥⇥OsmAnd+ kode irekiko nabigaziorako aplikazioa da, OpenStreetMapeko (OSM) mota askotako munduko mapetara sarbidearekin. Mapa guztiak (bektore edo tesela mapak) telefonoaren memoria txartelean gorde daitezke, lineaz kanpoko erabilpena bermatzeko. OsmAndek ere lineaz kanpoko eta sareko ibilbideak eskaintzen ditu, txandakako ahots gidaritzarekin.⏎\n⏎\n⇥⇥OsmAnd+ aplikazioaren ordaindutako bertsioa da, hau erosiz gero proiektua aurrera eramaten laguntzen ari zara, ezaugarri berrien garapena finantzatzen, eta gainera, azken eguneraketak jasoko dituzu.⏎\n⏎\n⇥⇥Ezaugarri nagusi batzuk:⏎\n⇥⇥- Lineaz kanpoko erabateko erabilpena (bektore edo tesela mapak gorde ondoren aukeratu daitezken karpetetan)⏎\n⇥⇥- Lineaz kanpoko mundu guztiko mapa konpaktuak eskuragarri⏎\n⇥⇥- Muga gabeko herrialde edo eskualdeetako mapen deskarga, aplikaziotik zuzenean⏎\n⇥⇥- Lineaz kanpoko WIkipediako erabilpena (deskargatu Wikipediako POIak), turismorako erabilgarriak⏎\n⇥⇥- Gain-geruza desberdin asko ikusi daitezke, GPX edo ibilbide bidea, interes puntuak (POI), gogokoenak, sestra-kurbak, garraio publikoaren geltokiak, geruza gardeneko mapa gehigarriak.⏎\n⇥⇥- Lineaz kanpoko helbide eta lekuen bilatzailea (POIak)⏎\n⇥⇥- Lineaz kanpoko ibilbide motzetarako jarraipena (esperimentala)⏎\n⇥⇥- Kotxea, txirrinda eta oinezkoentzat modua:⏎\n⇥⇥- aukerazko egun/gau ikuspegi automatizatua⏎\n⇥⇥- aukerazko abiaduraren araberako maparen zooma⏎\n⇥⇥- aukerazko maparen alineazioa, iparrorratzaren edo norabidearen araberakoa⏎\n⇥⇥- aukerazko errei gidaritza, abiadura muga bistaratzea, grabaketa edo TTS (ahots bihurgailua) motorra⏎\n⇥
- ⏎\nOsmAnd (OSM Automated Navigation Directions) mapa eta nabigaziorako aplikazioa da, OpenStreetMapeko (OSM) aske, mundu osoko eta kalitate handiko datuetara sarbidearekin. Mapen datu guztiak zure gailuaren memoria txartelean gorde daiteke lineaz kanpoko erabilpena eduki dezazun. Zure gailuaren GPSaren bitartez, OsmAnd-ek nabigazioa eskaintzen dizu, ikusmenezko edo entzutezko gidaritzarekin, kotxe, txirrinda edo oinezkoentzat. Funtzionalitate guztiak bai sarean bai lineaz kanpo funtzionatzen dute (ez dago interneten beharrik).⏎\n⏎\nEzaugarri nagusi batzuk:⏎\n⏎\nNabigazioa⏎\n- Sarean (azkar) edo lineaz kanpo (atzerrian zaudenean roaming kargarik gabe) funtzionatzen du⏎\n- Txandakako ahozko gidaritza (grabatutako eta sintetizatutako ahotsak)⏎\n- Aukerako bide gidaritza, kaleen izenak, eta estimatutako iritsiera ordua⏎\n- Ibilbidearen erdian geldiuneak jarri daitezke⏎\n- Ibilbidetik desbideratzen bazara, automatikoki birkalkulatuko du ibilbidea⏎\n- Leku bilatzailea helbidearen, motaren (adibidez: jatetxea, hotel, gasolindegia, museoa) edo koordenaden arabera⏎\n⏎\nMapen ikuspena⏎\n- Zure kokapena eta orientazioa agertzen da⏎\n- Aukeraz, mapa iparrorratzarekin edo zure norabidearekin mugituko da⏎\n- Gorde zure leku garrantzitsuenak Gogokoetan⏎\n- Zure inguruko POIak (Interes puntuak) ikustea⏎\n- Tesela bereziak ikusi daitezke sarean⏎\n- Satelite irudiak (Bingetik) ikusi daitezke⏎\n- Gain-geruza desberdinak ikusi daitezke, ibilbidea/nabigazioaren GPX bidea eta mapa garden gehigarriak⏎\n- Leku izenak ingelesez, tokiko hizkuntzan edo fonetikoki idatzia ikusteko aukera dago⏎\n⏎\nOpenStreetMap eta Wikipediako datuen erabilpena:⏎\n- Munduko proiektu kolaboratibo hoberenen kalitate handiko informazioa⏎\n- OpenStreetMapeko munduko mapak, herrialde edo eskualde bakoitza eskuragarri dago⏎\n- Wikipediako POIak, turismorako onak (dohaineko bertsioan ez daude erabilgarri)⏎\n- Muga gabeko dohaineko deskarga, aplikaziotik zuzenean (dohaineko bertsioan 16 mapa fitxategiko muga)⏎\n- Mapa eguneratuak beti (gutxienez eguneraketa bat hilabetean)⏎\n- Lineaz kanpoko bektore mapa konpaktuak⏎\n- Mapa osoa edo errepide sarea bakarrik aukeratu daiteke (Adibidez: Japonia guztia 700 MB dira, edo errepide sarea 200 MB bakarrik)⏎\n- Sareko edo katxeatutako tesela mapak jasaten ditu ere⏎\n⏎\nSegurtasun ezaugarriak⏎\n- Aukerazko eguna/gaua ikuspegi kommutazio automatikoa⏎\n- Aukerazko abiadura mugak agertzea, gainditzerakoan abisatzen dizuna⏎\n- Aukerazko abiaduraren araberako mapa zooma⏎\n- Partekatu zure kokapena, zure lagunek uneoro jakin dezaten non zauden⏎\n⏎\nTxirrinda eta oinezkoen ezaugarriak⏎\n- Mapek oinezko, mendiko eta txirrinda bideak dakartzate, kanpo jardueretako aproposa.⏎\n- Ibilbide eta ikuspegi bereziak txirrinda eta oinezkoentzako⏎\n- Aukerazko garraio publikoaren geltokiak (autobus, tranbia, trena) autobus-linien izenak barne⏎\n- Aukerazko bidaiaren grabaketa GPX fitxategi batera edo sareko zerbitzu batera⏎\n- Abiadura eta altuera azaltzeko aukera⏎\n- Sestra-kurbak eta mendi itzalak (plugin gehigarri batez) erakusteko aukera⏎\n⏎\nOpenStreetMapera zuzeneko laguntza⏎\n- Mapetako akatsak salatu⏎\n- GPX bideak igo aplikaziotik OSMra zuzenean⏎\n- POIak gehitu eta zuzenean OSMra igo (edo geroago lineaz kanpo egon ezkero)⏎\n- Aukerazko bidai grabaketa atzeko planoan bada ere (gailua lo moduan dagoen bitartean)⏎\n⏎\nOsmAnd kode irekiko proiektua da, eta aktiboki garatua izaten ari da. Edozeinek lagundu dezake aplikazioarekin, erroreak salatzen, itzulitakoa hobetzen, edo ezaugarri berriak programatzen. Proiektua hobetzeko etengabeko egoeran dago garatzaileen eta erabiltzaileen interakzio modu hauei esker. Era berean, proiektuaren prozesuak dituen garatze, programatze eta funtzionalitate berrien probak egiteko behar den finantziazio laguntzetan ere oinarritzen da. OsmAnd+ erosiz gero, aplikazioa are zirraragarria izatea laguntzen duzu! Ezaugarri berriak finantzatzea edo dohaintza orokor bat egitea posible da osman.net-en.⏎\n⏎\n⏎\nGutxi gorabeherako mapa estaldura eta kalitatea:⏎\n- Mendebaldeko Europa: ****⏎\n- Ekialdeko Europa: ***⏎\n- Errusia: ***⏎\n- Ipar Amerika: ***⏎\n- Hego Amerika: **⏎\n- Asia: **⏎\n- Japonia & Korea: ***⏎\n- Ekialde hurbila: **⏎\n- Afrika: **⏎\n- Antartika: *⏎\n⏎\nJasandako herrialdeen lista (funtsean mundu osoa!):⏎\nAfghanistan, Albania, Aljeria, Andorra, Angola, Aingira, Antigua eta Barbuda, Argentina, Armenia, Aruba, Australia, Austria, Azerbaijan, Bahamak, Bahrein, Bangladesh, Barbados, Bielorrusia, Belgika, Belize, Benin, Bermuda, Bhutan, Bolivia, Bonaire, Bosnia eta Herzegovina, Botswana, Brasil, Birjina britainiar uharteak, Brunei, Bulgaria, Burkina Faso, Burundi, Kanbodia, Kamerun, Kanada, Kabo Berde, Afrika Erdiko Errepublika, Txad, Txile, Txina, Kolonbia, Komoreak, Kongo, Kosta Rika, Boli Kosta, Kroazia, Kuba, Curaçao, Txipre, Txekia, Danimarka, Djibuti, Dominika, Errepublika Dominikarra, Ekuador, Egipto, El Salvador, Ecuatorial Ginea, Eritrea, Estonia, Etiopia, Euskal Herria, Fiji, Finlandia, Frantzia, Guyana Frantsesa, Polinesia Frantsesa, Gabon, Ganbia, Georgia, Alemania, Ghana, Gibraltar, Grezia, Groenlandia, Grenada, Guadalupe, Guam, Guatemala, Guernsey, Ginea, Ginea-Bissau, Guyana, Haiti, Vatikano, Honduras, Hong Kong, Hungaria, Island, India, Indonesia, Iran, Irak, Irlanda, Man, Israel, Italia, Jamaica, Japonia, Jersey, Jordania, Kazakhstan, Kenia, Kiribati, Ipar Korea eta Hego Korea, Kuwait, Kirgizstan, Laos, Letpmoa, Libano, Lesotho, Liberia, Libia, Liechtenstein, Lituania, Luxenburgo, Makao, Mazedonia, Madagaskar, Malawi, Malaysia, Maldivak, Mali, Malta, Martinika, Mauritania, Maurizio, Mayotte, Mexico, Micronesia, Moldavia, Monako, Mongolia, Montenegro, Montserrat, Maroko, Mozambike, Myanmar, Namibia, Nauru, Nepal, Herbeherak, Antilla herbeheretarrak, Caledonia Berria, Zelanda Berria, Nikaragua, Niger, Nigeria, Norbegia, Oman, Pakistan, Palau, Palestina, Panama, Papua Ginea Berria, Paraguai, Peru, Filipinak, Polonia, Portugal, Puerto Rico, Qatar, Errumania, Errusia, Ruanda, San Bartolome, Santa Elena, Saint Kitts eta Nevis, Santa Lucia, San Martin, Saint Pierre eta Mikelune, Saint Vincent eta Grenadinak, Samoa, San Marino, Saudi Arabia, Senegal, Serbia, Seychelleak, Sierra Leona, Singapur, Eslovakia, Eslovenia, Somalia, Hego Africa, Hego Georgia, Hego Sudan, Espainia, Sri Lanka, Sudan, Surinam, Swazilandia, Suegia, Suiza, Siria, Taiwan, Tajikistan, Tanzania, Tailandia, Timor-Leste, Togo, Tokelau, Tonga, Trinidad eta Tobago, Tunisia, Turkia, Turkmenistan, Tuvalu, Uganda, Ukraina, Arabiar Emirerri Batuak, Erresuma Batua, Ameriketako Estatu Batuak, Uruguai, Uzbekistan, Vanuatu, Venezuela, Vietnam, Wallis eta Futuna, Sahara, Yemen, Zambia, Zimbabwe.⏎\n⇥
+ ⏎\nOsmAnd (OSM Automated Navigation Directions) mapa eta nabigaziorako aplikazioa da, OpenStreetMapeko (OSM) aske, mundu osoko eta kalitate handiko datuetara sarbidearekin. Mapen datu guztiak zure gailuaren memoria txartelean gorde daiteke lineaz kanpoko erabilpena eduki dezazun. Zure gailuaren GPSaren bitartez, OsmAnd-ek nabigazioa eskaintzen dizu, ikusmenezko edo entzutezko gidaritzarekin, kotxe, txirrinda edo oinezkoentzat. Funtzionalitate guztiak bai sarean bai lineaz kanpo funtzionatzen dute (ez dago interneten beharrik).⏎\n⏎\nEzaugarri nagusi batzuk:⏎\n⏎\nNabigazioa⏎\n- Sarean (azkar) edo lineaz kanpo (atzerrian zaudenean roaming kargarik gabe) funtzionatzen du⏎\n- Txandakako ahozko gidaritza (grabatutako eta sintetizatutako ahotsak)⏎\n- Aukerako bide gidaritza, kaleen izenak, eta estimatutako iritsiera ordua⏎\n- Ibilbidearen erdian geldiuneak jarri daitezke⏎\n- Ibilbidetik desbideratzen bazara, automatikoki birkalkulatuko du ibilbidea⏎\n- Leku bilatzailea helbidearen, motaren (adibidez: jatetxea, hotel, gasolindegia, museoa) edo koordenaden arabera⏎\n⏎\nMapen ikuspena⏎\n- Zure kokapena eta orientazioa agertzen da⏎\n- Aukeraz, mapa iparrorratzarekin edo zure norabidearekin mugituko da⏎\n- Gorde zure leku garrantzitsuenak Gogokoetan⏎\n- Zure inguruko POIak (Interes puntuak) ikustea⏎\n- Tesela bereziak ikusi daitezke sarean⏎\n- Satelite irudiak (Bingetik) ikusi daitezke⏎\n- Gain-geruza desberdinak ikusi daitezke, ibilbidea/nabigazioaren GPX bidea eta mapa garden gehigarriak⏎\n- Leku izenak ingelesez, tokiko hizkuntzan edo fonetikoki idatzia ikusteko aukera dago⏎\n⏎\nOpenStreetMap eta Wikipediako datuen erabilpena:⏎\n- Munduko proiektu kolaboratibo hoberenen kalitate handiko informazioa⏎\n- OpenStreetMapeko munduko mapak, herrialde edo eskualde bakoitza eskuragarri dago⏎\n- Wikipediako POIak, turismorako onak (dohaineko bertsioan ez daude erabilgarri)⏎\n- Muga gabeko dohaineko deskarga, aplikaziotik zuzenean (dohaineko bertsioan 16 mapa fitxategiko muga)⏎\n- Mapa eguneratuak beti (gutxienez eguneraketa bat hilabetean)⏎\n- Lineaz kanpoko bektore mapa konpaktuak⏎\n- Mapa osoa edo errepide sarea bakarrik aukeratu daiteke (Adibidez: Japonia guztia 700 MB dira, edo errepide sarea 200 MB bakarrik)⏎\n- Sareko edo katxeatutako tesela mapak jasaten ditu ere⏎\n⏎\nSegurtasun ezaugarriak⏎\n- Aukerazko eguna/gaua ikuspegi kommutazio automatikoa⏎\n- Aukerazko abiadura mugak agertzea, gainditzerakoan abisatzen dizuna⏎\n- Aukerazko abiaduraren araberako mapa zooma⏎\n- Partekatu zure kokapena, zure lagunek uneoro jakin dezaten non zauden⏎\n⏎\nTxirrinda eta oinezkoen ezaugarriak⏎\n- Mapek oinezko, mendiko eta txirrinda bideak dakartzate, kanpo jardueretako aproposa.⏎\n- Ibilbide eta ikuspegi bereziak txirrinda eta oinezkoentzako⏎\n- Aukerazko garraio publikoaren geltokiak (autobus, tranbia, trena) autobus-linien izenak barne⏎\n- Aukerazko bidaiaren grabaketa GPX fitxategi batera edo sareko zerbitzu batera⏎\n- Abiadura eta altuera azaltzeko aukera⏎\n- Sestra-kurbak eta mendi itzalak (plugin gehigarri batez) erakusteko aukera⏎\n⏎\nOpenStreetMapera zuzeneko laguntza⏎\n- Mapetako akatsak salatu⏎\n- GPX bideak igo aplikaziotik OSMra zuzenean⏎\n- POIak gehitu eta zuzenean OSMra igo (edo geroago lineaz kanpo egon ezkero)⏎\n- Aukerazko bidai grabaketa atzeko planoan bada ere (gailua lo moduan dagoen bitartean)⏎\n⏎\nOsmAnd kode irekiko proiektua da, eta aktiboki garatua izaten ari da. Edozeinek lagundu dezake aplikazioarekin, erroreak salatzen, itzulitakoa hobetzen, edo ezaugarri berriak programatzen. Proiektua hobetzeko etengabeko egoeran dago garatzaileen eta erabiltzaileen interakzio modu hauei esker. Era berean, proiektuaren prozesuak dituen garatze, programatze eta funtzionalitate berrien probak egiteko behar den finantziazio laguntzetan ere oinarritzen da. OsmAnd+ erosiz gero, aplikazioa are zirraragarria izatea laguntzen duzu! Ezaugarri berriak finantzatzea edo dohaintza orokor bat egitea posible da osman.net-en.⏎\n⏎\n⏎\nGutxi gorabeherako mapa estaldura eta kalitatea:⏎\n- Mendebaldeko Europa: ****⏎\n- Ekialdeko Europa: ***⏎\n- Errusia: ***⏎\n- Ipar Amerika: ***⏎\n- Hego Amerika: **⏎\n- Asia: **⏎\n- Japonia & Korea: ***⏎\n- Ekialde hurbila: **⏎\n- Afrika: **⏎\n- Antartika: *⏎\n⏎\nJasandako herrialdeen lista (funtsean mundu osoa!):⏎\nAfghanistan, Albania, Aljeria, Andorra, Angola, Aingira, Antigua eta Barbuda, Argentina, Armenia, Aruba, Australia, Austria, Azerbaijan, Bahamak, Bahrein, Bangladesh, Barbados, Bielorrusia, Belgika, Belize, Benin, Bermuda, Bhutan, Bolivia, Bonaire, Bosnia eta Herzegovina, Botswana, Brasil, Birjina britainiar uharteak, Brunei, Bulgaria, Burkina Faso, Burundi, Kanbodia, Kamerun, Kanada, Kabo Berde, Afrika Erdiko Errepublika, Txad, Txile, Txina, Kolonbia, Komoreak, Kongo, Kosta Rika, Boli Kosta, Kroazia, Kuba, Curaçao, Txipre, Txekia, Danimarka, Djibuti, Dominika, Errepublika Dominikarra, Ekuador, Egipto, El Salvador, Ecuatorial Ginea, Eritrea, Estonia, Etiopia, Euskal Herria, Fiji, Finlandia, Frantzia, Guyana Frantsesa, Polinesia Frantsesa, Gabon, Ganbia, Georgia, Alemania, Ghana, Gibraltar, Grezia, Groenlandia, Grenada, Guadalupe, Guam, Guatemala, Guernsey, Ginea, Ginea-Bissau, Guyana, Haiti, Vatikano, Honduras, Hong Kong, Hungaria, Island, India, Indonesia, Iran, Irak, Irlanda, Man, Israel, Italia, Jamaica, Japonia, Jersey, Jordania, Kazakhstan, Kenia, Kiribati, Ipar Korea eta Hego Korea, Kuwait, Kirgizstan, Laos, Letpmoa, Libano, Lesotho, Liberia, Libia, Liechtenstein, Lituania, Luxenburgo, Makao, Mazedonia, Madagaskar, Malawi, Malaysia, Maldivak, Mali, Malta, Martinika, Mauritania, Maurizio, Mayotte, Mexico, Micronesia, Moldavia, Monako, Mongolia, Montenegro, Montserrat, Maroko, Mozambike, Myanmar, Namibia, Nauru, Nepal, Herbeherak, Antilla herbeheretarrak, Caledonia Berria, Zelanda Berria, Nikaragua, Niger, Nigeria, Norbegia, Oman, Pakistan, Palau, Palestina, Panama, Papua Ginea Berria, Paraguai, Peru, Filipinak, Polonia, Portugal, Puerto Rico, Qatar, Errumania, Errusia, Ruanda, San Bartolome, Santa Elena, Saint Kitts eta Nevis, Santa Lucia, San Martin, Saint Pierre eta Mikelune, Saint Vincent eta Grenadinak, Samoa, San Marino, Saudi Arabia, Senegal, Serbia, Seychelleak, Sierra Leona, Singapur, Eslovakia, Eslovenia, Somalia, Hego Africa, Hego Georgia, Hego Sudan, Espainia, Sri Lanka, Sudan, Surinam, Swazilandia, Suegia, Suiza, Siria, Taiwan, Tajikistan, Tanzania, Tailandia, Timor-Leste, Togo, Tokelau, Tonga, Trinidad eta Tobago, Tunisia, Turkia, Turkmenistan, Tuvalu, Uganda, Ukraina, Arabiar Emirerri Batuak, Erresuma Batua, Ameriketako Estatu Batuak, Uruguai, Uzbekistan, Vanuatu, Venezuela, Vietnam, Wallis eta Futuna, Sahara, Yemen, Zambia, Zimbabwe.⏎\n⇥
POI filtroa sortu
@@ -881,7 +881,7 @@
GPS
segundoak
min.
- Ezarri esekite moduko zerbitzua erabiltzen duen esnaratze tartea
+ "Ezarri esekite moduko zerbitzua erabiltzen duen esnaratze tartea "
Esnaratze tartea
Aukeatu esekidura moduko zerbitzuaren kokapen hornitzailea
Kokapen hornitzailea
@@ -963,7 +963,7 @@
Sareko bilaketa
Sareko zoom maximoa
Aukeratu sareko tesela mapentzat deskargatzeko zoom maila maximoa
- Guztira distantzia %1$s,\n bidean denbora %2$d h %3$d m.
+ Guztira distantzia %1$s,\n bidean denbora %2$d h %3$d m.
Aukeratu sareko edo lineaz kanpoko nabigazio zerbitzu bat
Nabigazio zerbitzua
SD txarteleko datuen karpeta ez dago erabilgarri!
@@ -1186,9 +1186,9 @@
Saihestu autobideak
Pisua
Zehaztu ibilbideetan baimendu beharreko ibilgailuaren pisua
- KitKat bertsioa geroztik ezin da deskargatu eta eguneratu mapak aurreko biltegiratze kokapenan (%s). Fitxategi guztiak kopiatu nahi dituzu baimendutako kokapenera?
- \n Oharra : fitxategi zaharrak ukitu gabe jarraituko dute.
- \n Oharra : OsmAnd eta OsmAnd+ artean ezingo dira fitxategiak partekatu.
+ "KitKat bertsioa geroztik ezin da deskargatu eta eguneratu mapak aurreko biltegiratze kokapenan (%s). Fitxategi guztiak kopiatu nahi dituzu baimendutako kokapenera?
+\n Oharra : fitxategi zaharrak ukitu gabe jarraituko dute.
+\n Oharra : OsmAnd eta OsmAnd+ artean ezingo dira fitxategiak partekatu. "
Fitxategia kopiatzen (%s) kokapen berrira…
OsmAnd fitxategiak kopiatzen kokapen berrira (%s)
@@ -1781,4 +1781,21 @@
Zehaztu POI mota egokia edo saltatu
Menu botoiak kontrol panela abiatzen du, ez menua
Desgaitzean maparen pantaila abiatzen da zuzenean
+ Bistaratu posizioa beti erdian
+ Munduko itsaso markak
+ Munduko ordainketak bitcoin
+ Munduko ikuspegi mapa
+ Munduko ski mapa
+ Ezgaitu ibilbide kalkulu konplexua
+ Itsaso marka
+ Aplikazio profilak
+ Motorra
+ Itsasontzia
+ Hegazkina
+ Auto zoom-ik ez
+ Gerturatu
+ Aldendu
+ Mapa handitzailea
+ Mundu oinarri mapa
+ Sareko OSMren mapa klasifikazioa irudiekin
diff --git a/OsmAnd/res/values-fr/phrases.xml b/OsmAnd/res/values-fr/phrases.xml
index 95f31e897d..b2b3605038 100644
--- a/OsmAnd/res/values-fr/phrases.xml
+++ b/OsmAnd/res/values-fr/phrases.xml
@@ -956,7 +956,7 @@
Douche
Email
Fax
- Facebook
+ Facebook
Eau potable : Oui
Eau potable : Non
Permanent
@@ -1019,7 +1019,7 @@
Ampoules électriques
Contreplaqué
Réfrigérateur et congélateur
- Twitter
+ Twitter
Skype
YouTube
Instagram
@@ -1867,7 +1867,7 @@
Gravats
Mur Jersey
- VKontakte
+ VKontakte
Contenu : ensilage
Contenu : fumier
Nudisme autorisé
diff --git a/OsmAnd/res/values-fr/strings.xml b/OsmAnd/res/values-fr/strings.xml
index f7fb1f6c09..6ac8bf86ae 100644
--- a/OsmAnd/res/values-fr/strings.xml
+++ b/OsmAnd/res/values-fr/strings.xml
@@ -2215,4 +2215,5 @@
Ignorer les écarts de direction
Activer la navigation OSM Live prenant en comptes les modifications en temps réel (Bêta)
Navigation OSM Live
+ Suivez nous
diff --git a/OsmAnd/res/values-gl/phrases.xml b/OsmAnd/res/values-gl/phrases.xml
index 336052c57c..a0343639dd 100644
--- a/OsmAnd/res/values-gl/phrases.xml
+++ b/OsmAnd/res/values-gl/phrases.xml
@@ -712,12 +712,12 @@
Sitio web
Correo electrónico
Fax
- Facebook
- Twitter
+ Facebook
+ Twitter
Skype
Youtube
Instagram
- Vkontakte
+ Vkontakte
Google+
Móbil
Altura máxima
diff --git a/OsmAnd/res/values-hu/phrases.xml b/OsmAnd/res/values-hu/phrases.xml
index f2337e0f48..875e458132 100644
--- a/OsmAnd/res/values-hu/phrases.xml
+++ b/OsmAnd/res/values-hu/phrases.xml
@@ -970,12 +970,12 @@
Weboldal
Email
Fax
- Facebook
- Twitter
+ Facebook
+ Twitter
Skype
YouTube
Instagram
- VKontakte
+ VKontakte
Google+
Mobiltelefon
Szolgáltatási idő
diff --git a/OsmAnd/res/values-it/strings.xml b/OsmAnd/res/values-it/strings.xml
index 4eaa9d97a4..29cebcca54 100644
--- a/OsmAnd/res/values-it/strings.xml
+++ b/OsmAnd/res/values-it/strings.xml
@@ -2242,9 +2242,9 @@
Bussola magnetica
Bussola relativa
Non cambiare il percorso quando si è fuori strada
- Previene il ricalcolo automatico del percorso quando si è un po \' fuori dalla giusta via.
+ Previene il ricalcolo automatico del percorso quando si esce dalla strada giusta.
Non cambiare il percorso se la direzione è sbagliata
- Previene il ricalcolo automatico del percorso quando stai muovendoti nella direzione sbagliata
+ Previene il ricalcolo automatico del percorso quando ci muove nella direzione sbagliata
Annuncio automatico intelligente
Notifica solo quando la direzione verso la destinazione è cambiata
Intervallo annuncio automatico
diff --git a/OsmAnd/res/values-nl/phrases.xml b/OsmAnd/res/values-nl/phrases.xml
index 9099e6e46b..1b4944dbec 100644
--- a/OsmAnd/res/values-nl/phrases.xml
+++ b/OsmAnd/res/values-nl/phrases.xml
@@ -1102,12 +1102,12 @@
Website
Email
Fax
- Facebook
- Twitter
+ Facebook
+ Twitter
Skype
YouTube
Instagram
- VKontakte
+ VKontakte
Google+
Mobiel
Aanvangstijd
diff --git a/OsmAnd/res/values-nl/strings.xml b/OsmAnd/res/values-nl/strings.xml
index c9d5440889..b20da7d62c 100644
--- a/OsmAnd/res/values-nl/strings.xml
+++ b/OsmAnd/res/values-nl/strings.xml
@@ -114,7 +114,7 @@
Deze gratis versie van OsmAnd is beperkt tot %1$s downloads en ondersteunt geen offline Wikipedia artikelen.
Gratis versie
Toon interessepunt-beschrijvingen
- Noord Amerika
+ Noord-Amerika
Noord Amerika - Verenigde Staten
Centraal Amerika
Zuid Amerika
@@ -159,7 +159,7 @@
Er is niet voldoende vrije ruimte %1$s MB te downloaden (vrij: %2$s).
- {0} bestand(en) downloaden? Hiervoor is {1} MB vrije ruimte nodig. Er is nu {2} MB beschikbaar!
+ {0} bestand(en) downloaden? Deze beslaan {1} MB opslagruimte. Er is nu {2} MB beschikbaar.
Transparant thema
@@ -213,7 +213,7 @@
Toon sommige vectorkaartdetails (wegen enz.) al op lager zoomniveau
Favoriet(en) succesvol verwijderd.
%1$d favorieten en %2$d groepen verwijderen?
- Dashboard
+ Thuis
Vrienden
Plaatsen
@@ -231,7 +231,7 @@
%1$d van %2$d bestanden succesvol verwijderd.
%1$d van %2$d bestanden succesvol geactiveerd.
Voor %1$s: geen bestanden
- %1$s: %2$s bestanden. Doorgaan?
+ U gaat %2$s bestanden %1$s. Doorgaan?
Kaartbeheer
Activeer
Deactiveer
@@ -511,7 +511,7 @@
Volg
Ga door
Download regio\'s
- Om OsmAnd goed te gebruiken moet je kaartgegevens downloaden (\'Instellingen\' → \'Kaartbeheer\') of deze zelf aanmaken. Daarna kan je de kaart bekijken, navigeren en adressen, interessepunten en openbaar vervoer opzoeken.
+ Om OsmAnd goed te gebruiken moet je kaartgegevens downloaden (\'Instellingen\' → \'Kaartbeheer\'). Daarna kan je navigeren, de kaart bekijken, en adressen, interessepunten en openbaar vervoer opzoeken.
Naar signaal zoeken…
Zoek bij het midden van de kaart
Zoek dichtbij
@@ -956,7 +956,7 @@
Als laatste Tussenpunt toevoegen
Als eerste Tussenpunt toevoegen
- Als laatste Tussenpunt toevoegen
+ Als laatste tussenpunt toevoegen
Als eerste Tussenpunt toevoegen
Bestemming vervangen
Er is al een Bestemming gekozen.
@@ -1207,7 +1207,7 @@
Basis-wereldkaart
Kaartvergrootglas
- "De afstand tot de bestemming is meer dan 200 km. De routeberekening kan hierdoor erg lang duren (of zelfs mislukken). Door Tussenpunten toe te voegen, wordt de routeberekening sneller."
+ "De afstand tot de bestemming is meer dan 200 km. De routeberekening kan hierdoor erg lang duren (of zelfs mislukken). Door tussenpunten toe te voegen, wordt de routeberekening sneller."
Geen automatische zoom
Zoom naar close-up
Zoom naar gemiddelde afstand
@@ -1392,7 +1392,7 @@
Verstuur mijn posities
OsMo snelle toegang
- Gegevens als GPX-bestand opslaan of importeren naar Favorieten?
+ Gegevens als GPX-bestand opslaan of importeren naar favorieten?
Roze
@@ -1449,7 +1449,7 @@
Laad %1$s…
Huidige tijd
Kies Bestemmingen
- Namen van Interessepunten
+ Namen van interessepunten
Routepunt
\n\nLang drukken om op de kaart te bekijken
Start navigatie automatisch
@@ -1982,7 +1982,7 @@
Overige
Favoriet toevoegen
wissen
- Configureer dashboard
+ Dashboard instellen
Na opstarten tonen
Kaart was verborgen
Ongedaan maken
@@ -1994,7 +1994,7 @@
Geavanceerd
Huisnummer
Volgende
- Open vanaf
+ Open van
Sluit om
Contact
Omschrijving
@@ -2076,7 +2076,7 @@
Er was een probleem: notitie is niet afgesloten
Bewaar voor off-line gebruik
- Kies tussen het flexibele dashboard of een vast menu. Dit is altijd te wijzigen via de dashboard-instellingen.
+ Kies tussen het flexibele Dashboard of een vast Menu. Dit is altijd te wijzigen via de dashboard-instellingen.
Gekopieerd naar klembord
" • Nieuw contextmenu bij het aantikken van plekken op de kaart en op andere schermen\n\n • De kaart wordt direct getoond, tenzij \'Toon dashboard bij starten van de app\' is gekozen\n\n • Kies welke kaarten worden getoond op het dashboard\n\n • Mogelijkheid menu te gebruiken in plaats van het dashboard\n\n • Kaarten downloaden door op de wereldkaart te tikken\n\n • Fijnmaziger zoeken van POI\n\n • Betere bewerkingsmogelijkheden van POI en OSM\n\n • Kaarten downloaden is makkelijker en overzichtelijker\n\n en meer… "
Bijdrage versturen
@@ -2093,11 +2093,11 @@
Deze POI echt bewaren zonder het type aan te geven?
Verander OSM-wijziging
- Kies tussen dashboard of menu
+ Kies tussen Dashboard of Menu
Geef het juiste type POI of sla dit over
Menu-knop opent dashboard in plaats van menu
Openen vanaf de kaart
- Gebruik dashboard
+ Dashboard gebruiken
Gebruik menu
Vermijd trappen
Vermijd trappen
@@ -2183,7 +2183,7 @@
OSM-Bijdragers Ranglijst
OSM Live abonnement
Abonneren
- Om je op de hoogte te houden over je abonnement
+ Dit is nodig om je op de hoogte te houden over je abonnement
Openbare Naam
Mijn naam niet tonen in verslagen
Ondersteunde regio
@@ -2271,4 +2271,9 @@
Magnetische koers
OSM Live Updates gebruiken bij navigatie (Beta)
OSM Live navigatie
+ Volg ons
+ Richting aangeven met geluid
+ Geef de richting van de bestemming aan met geluid
+ Richting aangeven met trilling
+ Geef de richting van de bestemming aan met trillingen
diff --git a/OsmAnd/res/values-pl/phrases.xml b/OsmAnd/res/values-pl/phrases.xml
index a6c18d02b9..020eff1f1f 100644
--- a/OsmAnd/res/values-pl/phrases.xml
+++ b/OsmAnd/res/values-pl/phrases.xml
@@ -1040,12 +1040,12 @@
Prysznic
E-mail
Fax
- Facebook
- Twitter
+ Facebook
+ Twitter
Skype
YouTube
Instagram
- VKontakte
+ VKontakte
Google+
Wysokość
Wysokość nad poziomem morza
diff --git a/OsmAnd/res/values-pl/strings.xml b/OsmAnd/res/values-pl/strings.xml
index 637d8dd22e..e6f51a1b85 100644
--- a/OsmAnd/res/values-pl/strings.xml
+++ b/OsmAnd/res/values-pl/strings.xml
@@ -1331,7 +1331,7 @@
Po uruchomieniu aplikacji automatycznie uruchom trackera i przesyłaj pozycję
Automatycznie uruchom trackera
- ID trackera
+ Identyfikator serwera śledzącego
Token sesji: %1$s
Oczekiwanie na uwierzytelnienie…
"Nawiązano połączenie: %1$s "
@@ -1341,7 +1341,7 @@
minut temu
sekund temu
Nazwa użytkownika
- ID trackera
+ Identyfikator serwera śledzącego
Sparuj z urządzeniem
@@ -2125,7 +2125,7 @@
Wybrany katalog przechowywania danych umożliwia tylko ich odczyt. Katalog przechowywania został tymczasowo umieszczony w pamięci wewnętrznej. Proszę wybrać prawidłowy katalog przechowywania danych.
Pamięć współdzielona
Zasubskrybuj
- Teraz aplikacja może zapisywać do pamięci zewnętrznej. Wymagane jest manualne ponowne uruchomienie.
+ Teraz program może zapisywać do pamięci zewnętrznej. Wymagane jest ponowne uruchomienie programu.
Pełny raport
Kwota datków
Liczba odbiorców
@@ -2164,8 +2164,8 @@
Nazwa pliku zawiera niedozwolony znak
Domyślny kolor
Wybierz kategorię
- Wpisz kategorię
- Wpisz opis
+ Proszę wprowadzić kategorię
+ Proszę wprowadzić opis
Zwinięta lista
Rozwinięta lista
Pusta lista
@@ -2174,17 +2174,19 @@
Sortuj
Tryb mapy
Wybrano %s plików GPX
- Wprowadź nazwę
- Mapa jest powiązana z obszarem
+ Proszę wprowadzić nazwę
+ Mapa jest powiązana z położeniem
Lista hierarchiczna
- Idź w górę
+ Przejdź w górę
Cienki
Średni
Gruby
Nie ustalono celu trasy
Nie zmienianie trasy po zboczeniu z niej
- Zapobiega automatycznej zmianie proponowanej trasy po poważnym oddaleniu się od niej
+ Zapobiega zmianie wyznaczonej trasy po znacznym oddaleniu się od niej
Orientacja magnetyczna
Orientacja względna
- Nie zmienianie trasy po obraniu niewłaściwego kierunku
+ Utrzymywanie trasy po obraniu niewłaściwego kierunku
+ Włącza nawigację dla bieżących aktualizacji mapy (beta)
+ Zapobiega zmianie wyznaczonej trasy podczas poruszania się w niewłaściwym kierunku
diff --git a/OsmAnd/res/values-pt-rBR/phrases.xml b/OsmAnd/res/values-pt-rBR/phrases.xml
index 463620f202..97e13aa2ea 100644
--- a/OsmAnd/res/values-pt-rBR/phrases.xml
+++ b/OsmAnd/res/values-pt-rBR/phrases.xml
@@ -949,7 +949,7 @@
Email
Fax
- Facebook
+ Facebook
Celular
Abrigo para cães
Abrigo para gatos
@@ -1043,11 +1043,11 @@
Desmarcado
Lagoa do moinho
- Twitter
+ Twitter
Skype
YouTube
Instagram
- VKontakte
+ VKontakte
Google+
Perfumaria
diff --git a/OsmAnd/res/values-ru/phrases.xml b/OsmAnd/res/values-ru/phrases.xml
index 35c5465f4c..dcbd78da5c 100644
--- a/OsmAnd/res/values-ru/phrases.xml
+++ b/OsmAnd/res/values-ru/phrases.xml
@@ -1969,7 +1969,7 @@
Выход
Пешеходный переход
- ВКонтакте
+ ВКонтакте
Содержимое: силос
Содержимое: вода
@@ -2372,8 +2372,8 @@
Место для хранения лодок
Калитка
- Фейсбук
- Твиттер
+ Фейсбук
+ Твиттер
Скайп
Стиль сада: кухня
Туалет: общественный
diff --git a/OsmAnd/res/values-sc/phrases.xml b/OsmAnd/res/values-sc/phrases.xml
index dc7d81e0a8..4ab50d45ea 100644
--- a/OsmAnd/res/values-sc/phrases.xml
+++ b/OsmAnd/res/values-sc/phrases.xml
@@ -1045,12 +1045,12 @@
Ufìtziu militare
Bita
Inferriada/cràdica pro su bestiàmene
- Facebook
- Twitter
+ Facebook
+ Twitter
Skype
YouTube
Instagram
- VKontakte
+ VKontakte
Google+
Mòbile
Artària
diff --git a/OsmAnd/res/values-sc/strings.xml b/OsmAnd/res/values-sc/strings.xml
index 60278bde6d..136b45b238 100644
--- a/OsmAnd/res/values-sc/strings.xml
+++ b/OsmAnd/res/values-sc/strings.xml
@@ -2179,4 +2179,18 @@
Ismànnia
Nàviga in subra
Òrdina
+ Sighi·nos
+ Allue su nàvigu OSM Live cun sas mòdìficas in tempus reale (Beta)
+ Nàvigu OSM Live
+ Destinatzione non definida
+ Bùssola magnètica
+ Bùssola relativa
+ Non cambiare s\'àndala si ses a fora de s\'istrada
+ Èvita su ricàlculu de s\'àndala cando ses meda indedda dae s\'istrada giusta
+ Non cambiare s\'àndala si sa diretzione est isballiada
+ Èvita su ricàlculu automàticu de s\'àndala si ti ses moende in sa diretzione isballiada
+ Annùntziu automàticu intelligente
+ Notìfica petzi cando sa diretzione cara a sa destinatzione est cambiada
+ Intervallu de annùntziu automàticu
+ Tempus mìnimu intre sos annùntzios
diff --git a/OsmAnd/res/values-sk/phrases.xml b/OsmAnd/res/values-sk/phrases.xml
index c0b97077f2..323a9f99df 100644
--- a/OsmAnd/res/values-sk/phrases.xml
+++ b/OsmAnd/res/values-sk/phrases.xml
@@ -850,7 +850,7 @@
Obchod s čokoládou
Obchod s kávou
Obchod s cestovinami
- Obchod s zákuskami
+ Obchod so zákuskami
Obchod so sviečkami
Módny butik
Obchod s kúrením
@@ -1023,7 +1023,7 @@
Opustený objekt
E-mailová adresa
Fax
- Facebook
+ Facebook
Mobilný telefón
Medzinárodná pešia trasa
Národná pešia trasa
@@ -1075,11 +1075,11 @@
Kristova cirkev
Budova
-Twitter
+Twitter
Skype
YouTube
Instagram
- VKontakte
+ VKontakte
Google+
Vojenský úrad
Jadrový odpad
@@ -1642,4 +1642,77 @@
Jedlo a nápoje
Palivo
Vyzdvihnutie balíkov
+ Povrch: nespevnený
+ Povrch: spevnený
+ Povrch: asfalt
+ Povrch: betón
+ Povrch: hranaté kamene
+ Povrch: dlažobné kamene
+ Povrch: dlažobné tvárnice
+ Povrch: oblý štrk
+ Povrch: kameň
+ Povrch: kov
+ Povrch: drevo
+ Povrch: ostrý štrk
+ Povrch: jemné kamienky
+ Povrch: zhutnený
+ Povrch: piesok
+ Povrch: tráva
+ Povrch: zatrávňovacie panely
+ Povrch: zem
+ Povrch: pôda
+ Povrch: blato
+ Povrch: ľad
+ Povrch: soľ
+ Povrch: sneh
+
+ Typ: povrchové
+ Fitnescentrum
+ Fitness
+
+ Miesto na cvičenie
+
+ Bankomat: áno
+ Bankomat: nie
+
+ Schody
+ Tunel pre peších
+ Most pre peších
+ Beh
+ Typ internetového pripojenia: wifi
+ Typ internetového pripojenia: terminál
+ Typ internetového pripojenia: kábel
+ Typ internetového pripojenia: verejné
+ Typ internetového pripojenia: služba
+ Žiadny prístup na Internet
+ S prístupom na Internet
+
+ Socha
+ Typ diela: socha
+ Typ diela: plastika
+ Typ diela: freska
+ Typ diela: architektúra
+ Typ diela: maľba
+ Typ diela: kameň
+ Typ diela: busta
+ Typ diela: inštalácia
+ Typ diela: mozaika
+ Typ diela: reliéf
+ Typ diela: grafiti
+ Typ diela: stéla
+ Typ diela: fontána
+
+ Typ budovy: kostol
+ Typ budovy: kaplnka
+ Typ budovy: mešita
+ Typ budovy: chrám
+ Typ budovy: katedrála
+ Typ budovy: kláštor
+ Typ budovy: bazilika
+ Typ budovy: synagóga
+ Typ budovy: svätyňa
+
+ Typ budovy: pyramída
+
+ Námestie
diff --git a/OsmAnd/res/values-sk/strings.xml b/OsmAnd/res/values-sk/strings.xml
index ad4ae19000..0825ecbd2b 100644
--- a/OsmAnd/res/values-sk/strings.xml
+++ b/OsmAnd/res/values-sk/strings.xml
@@ -2033,4 +2033,9 @@
Magnetické smerovanie
Zapnúť navigáciu pomocou zmien z OSM Naživo (beta test)
Navigácia OSM Naživo
+ Sledujte nás
+ Zvuková indikácia smeru
+ Indikovať smer k cieľu pomocou zvuku
+ Dotyková indikácia smeru
+ Indikovať smer k cieľu pomocou vibrácie
diff --git a/OsmAnd/res/values-sl/strings.xml b/OsmAnd/res/values-sl/strings.xml
index fc13187362..154341b7f8 100644
--- a/OsmAnd/res/values-sl/strings.xml
+++ b/OsmAnd/res/values-sl/strings.xml
@@ -2195,4 +2195,9 @@
Smer po magnetnem polju
Omogoči navigacijo za spremembe OSM v živo (beta)
Navigacija OSM v živo
+ Sledi nam
+ Zvočno najavljanje smeri
+ Določi smer ciljne točke z zvokom
+ Vibracijsko najavljanje smeri
+ Določi smer ciljne točke z vibriranjem naprave
diff --git a/OsmAnd/res/values-tr/phrases.xml b/OsmAnd/res/values-tr/phrases.xml
index 6bcbdb0315..19cdbc73a1 100644
--- a/OsmAnd/res/values-tr/phrases.xml
+++ b/OsmAnd/res/values-tr/phrases.xml
@@ -996,7 +996,7 @@
Faks
YouTube
İnstagram
- VKontakte
+ VKontakte
Google +
Mobil
Maksimum ağırlık
diff --git a/OsmAnd/res/values-tr/strings.xml b/OsmAnd/res/values-tr/strings.xml
index 471fc3a2e0..db958a5409 100644
--- a/OsmAnd/res/values-tr/strings.xml
+++ b/OsmAnd/res/values-tr/strings.xml
@@ -720,7 +720,7 @@
Tepe gölgesi katmanı
FPS hata ayıklama bilgisi
Sürüş bölgeyi seçin: ABD Avrupa, İngiltere, Asya ve Diğerleri
- Sürüş Bölgesi
+ Araba sürme alanı
Japonya
Amerika
Kanada
@@ -1319,7 +1319,7 @@
Tek başına günlüğe eklemeyi önle
Uygulama kapatılırsa (son uygulamalardan) GPX iz kaydına ara verilecektir. (OsmAnd Uyku modu simgesi Bildirim alanından kaybolur)
- Mekik treninden kaçın
+ Aynı hatta gidip gelen trenden sakın
Vikipedi
OSM düzeltmesini sil
Rota kapsamına göre Boyama
@@ -1397,7 +1397,7 @@
Arnavut (Tosk)
Daha fazla oku
Yenilikler neler:
- Önerilen nesneleri gizlemek
+ Önerilen nesneler
Güncelleştirme
Yükleme
OSM POI oluşturmak
@@ -1738,7 +1738,7 @@
Dünya seamarks
Cihazla bağlantı
Grubu ile bağlantı
- Bağlanmak
+ Katıl
Grup oluştur
OSMO Sunucu işlemi başarısız oldu
OpenStreetMap İzleme
@@ -1751,8 +1751,8 @@
OsMo Grupları / Aygıtlar
Uygulama başladığında otomatik olarak gezintiyi başlat ve lokasyonları gönder
Otomatik olarak gezinti oturumu başlatın
- Kişisel izci kimliği
- Görüntülemek veya izci kimliği paylaşmak için tıklayınız. Izci kimliği bağlı cihazlar kullanarak bu cihazın tüm hareketlerini izlemek mümkün olacak! Select Regenerate seçeneği kesmek için.
+ İzleyici Kimliği
+ İzleyici kimliğini incelemek için tıkla
Politika
Yolcu kimliği
Kullanıcı adı
@@ -1841,7 +1841,7 @@
Saatte kilometre
Mil başına Dakika
Saatte deniz mili (düğüm)
- nmh
+ deniz mili/saat
min/m
min/km
m/s
@@ -1972,7 +1972,7 @@
GPX günlüğü başlat
Dur GPX günlüğü
Yeni bir segment başlat
- Olmayan araç otoyolları gizle
+ Araç olmayan otoyollar
Ahşap ve scrubs gizle
Binalar üzerinde yakınlaştırma 15
Erişim kısıtlamaları
@@ -2051,7 +2051,7 @@
Araç çubuğu
widget\'ler
İşaretlerini eşlemek için tüm noktaları eklemek istiyor musunuz?
- Harita işaretleyicilerine ekleyin
+ Harita belirteçleri ekle
Harita işaretleyicilerini seçin
Ters sırada
Harita işaretleri özelliğini etkinleştirmek
@@ -2124,6 +2124,6 @@
Kalın
Şimdi uygulamaya harici kayıt yerine yazma izni verildi. Elle uygulamanın baştan başlatılması gereklidir.
Full rapor
- OpenStreetMap login and password
+ OpenStreetMap oturum açma ve parola
Dosya adı uygunsuz karakter içeriyor
diff --git a/OsmAnd/res/values-uk/strings.xml b/OsmAnd/res/values-uk/strings.xml
index 90c80fb4c8..4af265cb4b 100644
--- a/OsmAnd/res/values-uk/strings.xml
+++ b/OsmAnd/res/values-uk/strings.xml
@@ -1520,7 +1520,7 @@ OsmAnd має відкриті сирці і активно розвиваєть
Налаштування параметрів моніторингу та встановлення персонального каналу моніторингу
OsMo
"Цей втулок частково надає можливості OpenStreetMap Monitoring, дивіться https://osmo.mobi\n\nВи можете відстежувати пристрої учасників з вашої групи в поточному часі. Також, ви можете бачити точки та треки завантажені в групу, до якої ви належите.
-\n\nГрупи, що не були вилучені вродовж місяців, повині привести свій стан у відповідність до груп створених на сайті OsMo.mobi "
+\n\nГрупи, що не були вилучені впродовж місяців, повинні привести свій стан у відповідність до груп створених на сайті OsMo.mobi "
OpenStreetMap моніторинг
Показувати положення завжди в центрі
Голос
@@ -2311,7 +2311,7 @@ OsmAnd має відкриті сирці і активно розвиваєть
Вивантажено анонімно
Показати прозору пошукову панель
Звіт
- Ввімкнути навігацію для змін OSM Live (Beta)
+ Увімкнути навігацію для змін OSM Live (Beta)
Навігація OSM Live
Пункт призначення не встановлено
Магнітний пеленг
@@ -2376,4 +2376,9 @@ OsmAnd має відкриті сирці і активно розвиваєть
Ви можете додати Нотатку в OSM анонімно, або скориставшись вашим обліковим записом на OpenStreetMap.org.
Надіслати Нотатку OSM
Назва файлу містить неприпустимі символи
-
+Слідуйте за нами
+ Звукова ідентифікація напрямку
+ Ініціювати звуком напрям на цільову точку
+ Напрям тактильного зворотнього звязку
+ Показати вібрацією напрям на цільову точку
+
diff --git a/OsmAnd/res/values-zh-rTW/phrases.xml b/OsmAnd/res/values-zh-rTW/phrases.xml
index 6a05b1a646..66b312f88c 100644
--- a/OsmAnd/res/values-zh-rTW/phrases.xml
+++ b/OsmAnd/res/values-zh-rTW/phrases.xml
@@ -948,7 +948,7 @@
電子郵件
傳真
- 臉書
+ 臉書
行動電話
收容所類型:狗
收容所:貓
@@ -1041,11 +1041,11 @@
有監管
沒有監管
磨房水塘
- Twitter
+ Twitter
Skype
Youtube
Instagram
- VKontakte
+ VKontakte
Google+
香水商店
diff --git a/OsmAnd/res/values-zh-rTW/strings.xml b/OsmAnd/res/values-zh-rTW/strings.xml
index 2f572fc5ff..6accd30d5d 100644
--- a/OsmAnd/res/values-zh-rTW/strings.xml
+++ b/OsmAnd/res/values-zh-rTW/strings.xml
@@ -2126,7 +2126,7 @@
請輸入有效的電子郵件地址
請輸入公眾名稱
認捐設定
- OSM 直接捐款
+ OSM 即時捐助
感謝您的捐款,即時更新!
您捐助的一部分會發送到 OSM,使用者將送交更改到該地區的地圖
請先購買 OSM 即時捐助
@@ -2146,7 +2146,7 @@
報告
檔案名稱含有違反規則的字符
現在應用程式允許寫入外部記憶體。應用程式需要手動重新啟動。
- " • OSM實況。支援地圖貢獻者和開發者和每小時獲得地圖更新。\n\n• 地圖標記。一種新的方式以快速在地圖上選擇地點。\n\n• 更詳細的 OSM 地圖與國家具體的公路標誌和許多新的地圖功能。\n\n• 改善外觀和感覺的路線準備。\n\n• 在地圖下拉選單中有許多改善,如下拉地址查找。\n\n以及更多… "
+ " • OSM 即時。支援地圖貢獻者和開發者和每小時獲得地圖更新。\n\n• 地圖標記。一種新的方式以快速在地圖上選擇地點。\n\n• 更詳細的 OSM 地圖與國家具體的公路標誌和許多新的地圖功能。\n\n• 改善外觀和感覺的路線準備。\n\n• 在地圖下拉選單中有許多改善,如下拉地址查找。\n\n以及更多… "
請透過地圖增加地圖標記
未發現任何航點
中等
@@ -2179,6 +2179,11 @@
相對方位
磁力方位
未設定目的地
- 為 OSM 即時更改啟用導航 (Beta)
- OSM 即時導航
+ 為 OSM 即時兌換啟用導引 (Beta)
+ OSM 即時導引
+ 追蹤我們
+ 方向音訊反饋
+ 用聲音指示目標點方向
+ 方向觸感反饋
+ 由振動指示目標點方向
diff --git a/OsmAnd/res/values/phrases.xml b/OsmAnd/res/values/phrases.xml
index 831bb30175..6efb5d255a 100644
--- a/OsmAnd/res/values/phrases.xml
+++ b/OsmAnd/res/values/phrases.xml
@@ -1083,12 +1083,12 @@
Website
Email
Fax
- Facebook
- Twitter
+ Facebook
+ Twitter
Skype
YouTube
Instagram
- VKontakte
+ VKontakte
Google+
Mobile
Service times
diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml
index a11b7292f4..09d58311c6 100644
--- a/OsmAnd/res/values/strings.xml
+++ b/OsmAnd/res/values/strings.xml
@@ -10,6 +10,7 @@
PLEASE: Have a look at http://code.google.com/p/osmand/wiki/UIConsistency, it may really improve your and our work :-) Thx - Hardy
-->
+ Follow us
Direction audio feedback
Indicate target point direction by sound
Direction haptic feedback
diff --git a/OsmAnd/src/net/osmand/AndroidUtils.java b/OsmAnd/src/net/osmand/AndroidUtils.java
index 7b517069bf..5820a0c74b 100644
--- a/OsmAnd/src/net/osmand/AndroidUtils.java
+++ b/OsmAnd/src/net/osmand/AndroidUtils.java
@@ -36,9 +36,6 @@ public class AndroidUtils {
return context.getResources().getConfiguration().keyboard != Configuration.KEYBOARD_NOKEYS;
}
- /**
- * @param context
- */
public static void softKeyboardDelayed(final View view) {
view.post(new Runnable() {
@Override
diff --git a/OsmAnd/src/net/osmand/plus/ContextMenuAdapter.java b/OsmAnd/src/net/osmand/plus/ContextMenuAdapter.java
index a926413d15..92a570b05f 100644
--- a/OsmAnd/src/net/osmand/plus/ContextMenuAdapter.java
+++ b/OsmAnd/src/net/osmand/plus/ContextMenuAdapter.java
@@ -55,7 +55,11 @@ public class ContextMenuAdapter {
}
public void addItem(ContextMenuItem item) {
- items.add(item);
+ try {
+ items.add(item.getPos(), item);
+ } catch (IndexOutOfBoundsException ex) {
+ items.add(item);
+ }
}
public ContextMenuItem getItem(int position) {
@@ -182,10 +186,10 @@ public class ContextMenuAdapter {
} else {
if (item.getIcon() != ContextMenuItem.INVALID_ID) {
int colorRes = item.getColorRes();
- if (colorRes == ContextMenuItem.INVALID_ID) {
+ if (colorRes == ContextMenuItem.INVALID_ID && !item.shouldSkipPainting()) {
colorRes = lightTheme ? R.color.icon_color : R.color.color_white;
}
- Drawable drawable = mIconsCache.getIcon(item.getIcon(), colorRes);
+ final Drawable drawable = mIconsCache.getIcon(item.getIcon(), colorRes);
((AppCompatImageView) convertView.findViewById(R.id.icon)).setImageDrawable(drawable);
convertView.findViewById(R.id.icon).setVisibility(View.VISIBLE);
} else if (convertView.findViewById(R.id.icon) != null) {
@@ -290,12 +294,13 @@ public class ContextMenuAdapter {
dividerView.setVisibility(View.VISIBLE);
}
}
- return convertView;
- }
- @Override
- public boolean isEnabled(int position) {
- return !getItem(position).isCategory();
+ if (item.isCategory()) {
+ convertView.setFocusable(false);
+ convertView.setClickable(false);
+ }
+
+ return convertView;
}
}
diff --git a/OsmAnd/src/net/osmand/plus/ContextMenuItem.java b/OsmAnd/src/net/osmand/plus/ContextMenuItem.java
index ff3eb0c45a..2a197de6eb 100644
--- a/OsmAnd/src/net/osmand/plus/ContextMenuItem.java
+++ b/OsmAnd/src/net/osmand/plus/ContextMenuItem.java
@@ -142,6 +142,10 @@ public class ContextMenuItem {
return integerListener;
}
+ public boolean shouldSkipPainting() {
+ return skipPaintingWithoutColor;
+ }
+
public boolean shouldHideDivider() {
return hideDivider;
}
@@ -194,7 +198,7 @@ public class ContextMenuItem {
private int mLayout = INVALID_ID;
private boolean mLoading = false;
private boolean mIsCategory = false;
- private int mPosition = INVALID_ID;
+ private int mPosition = -1;
private String mDescription = null;
private ContextMenuAdapter.ItemClickListener mItemClickListener = null;
private ContextMenuAdapter.OnIntegerValueChangedListener mIntegerListener = null;
diff --git a/OsmAnd/src/net/osmand/plus/OsmandSettings.java b/OsmAnd/src/net/osmand/plus/OsmandSettings.java
index 1cc4325a26..e31979ba44 100644
--- a/OsmAnd/src/net/osmand/plus/OsmandSettings.java
+++ b/OsmAnd/src/net/osmand/plus/OsmandSettings.java
@@ -2336,7 +2336,7 @@ public class OsmandSettings {
public Set getSelectedPoiFilters() {
Set result = new LinkedHashSet<>();
String filtersId = SELECTED_POI_FILTER_FOR_MAP.get();
- if (filtersId != null) {
+ if (filtersId != null && !filtersId.trim().isEmpty()) {
Collections.addAll(result, filtersId.split(","));
}
return result;
diff --git a/OsmAnd/src/net/osmand/plus/activities/HelpActivity.java b/OsmAnd/src/net/osmand/plus/activities/HelpActivity.java
index 87b661851e..00628952ab 100644
--- a/OsmAnd/src/net/osmand/plus/activities/HelpActivity.java
+++ b/OsmAnd/src/net/osmand/plus/activities/HelpActivity.java
@@ -1,16 +1,22 @@
package net.osmand.plus.activities;
+import android.content.Intent;
+import android.graphics.drawable.ColorDrawable;
+import android.graphics.drawable.Drawable;
+import android.net.Uri;
import android.os.Bundle;
import android.support.annotation.DrawableRes;
import android.support.annotation.IdRes;
import android.support.annotation.StringRes;
import android.support.v4.app.FragmentActivity;
+import android.support.v4.content.ContextCompat;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
+import net.osmand.AndroidUtils;
import net.osmand.plus.ContextMenuAdapter;
import net.osmand.plus.ContextMenuItem;
import net.osmand.plus.OsmandApplication;
@@ -24,6 +30,7 @@ public class HelpActivity extends OsmandActionBarActivity implements AdapterView
// public static final String DIALOG = "dialog";
@IdRes
public static final String OSMAND_POLL_HTML = "http://osmand.net/android-poll.html";
+ public static final int NULL_ID = -1;
private ArrayAdapter mAdapter;
//public static final String OSMAND_MAP_LEGEND = "http://osmand.net/help/map-legend_default.png";
@@ -35,66 +42,40 @@ public class HelpActivity extends OsmandActionBarActivity implements AdapterView
setContentView(R.layout.fragment_help_screen);
ContextMenuAdapter contextMenuAdapter = new ContextMenuAdapter();
- contextMenuAdapter.setDefaultLayoutId(R.layout.list_item_icon_and_menu);
+ contextMenuAdapter.setDefaultLayoutId(R.layout.two_line_with_images_list_item);
- contextMenuAdapter.addItem(createCategory(R.string.begin_with_osmand_menu_group));
createBeginWithOsmandItems(contextMenuAdapter);
- contextMenuAdapter.addItem(createCategory(R.string.features_menu_group));
createFeaturesItems(contextMenuAdapter);
- contextMenuAdapter.addItem(createCategory(R.string.plugins_menu_group));
createPluginsItems(contextMenuAdapter);
- contextMenuAdapter.addItem(createCategory(R.string.help_us_to_improve_menu_group));
createHelpUsToImproveItems(contextMenuAdapter);
- contextMenuAdapter.addItem(createCategory(R.string.other_menu_group));
createOtherItems(contextMenuAdapter);
+ createSocialNetworksItems(contextMenuAdapter);
- mAdapter = contextMenuAdapter.createListAdapter(this, getMyApplication().getSettings().isLightContent());
+ boolean lightContent = getMyApplication().getSettings().isLightContent();
+
+ mAdapter = contextMenuAdapter.createListAdapter(this, lightContent);
ListView listView = (ListView) findViewById(android.R.id.list);
listView.setAdapter(mAdapter);
listView.setOnItemClickListener(this);
+ int dividerColor = lightContent ? R.color.icon_color_light : R.color.dialog_inactive_text_color_dark;
+ Drawable dividerDrawable = new ColorDrawable(ContextCompat.getColor(this, dividerColor));
+ listView.setDivider(dividerDrawable);
+ listView.setDividerHeight(AndroidUtils.dpToPx(this, 1f));
setTitle(R.string.shared_string_help);
setupHomeButton();
}
- private void createHelpUsToImproveItems(ContextMenuAdapter contextMenuAdapter) {
- contextMenuAdapter.addItem(new ContextMenuItem.ItemBuilder()
- .setLayout(R.layout.help_to_improve_item).createItem());
- }
- private ContextMenuItem createCategory(@StringRes int titleRes) {
- return new ContextMenuItem.ItemBuilder().setTitle(
- getString(titleRes)).setCategory(true)
- .setLayout(R.layout.download_item_list_section).createItem();
- }
- private ContextMenuItem createItem(@StringRes int titleRes,
- @StringRes String path) {
- return new ContextMenuItem.ItemBuilder()
- .setTitle(getString(titleRes))
- .setListener(new ShowArticleOnTouchListener(path, this))
- .createItem();
- }
-
- private ContextMenuItem createPluginItem(String title,
- @DrawableRes int icon,
- String path) {
- return new ContextMenuItem.ItemBuilder()
- .setTitle(title)
- .setIcon(icon)
- .setListener(new ShowArticleOnTouchListener(path, this))
- .createItem();
- }
-
- private ContextMenuItem createItem(@StringRes int titleRes,
- @StringRes int descriptionRes,
- String path) {
- return new ContextMenuItem.ItemBuilder()
- .setTitle(getString(titleRes))
- .setDescription(getString(descriptionRes))
- .setListener(new ShowArticleOnTouchListener(path, this))
- .createItem();
+ @Override
+ public void onItemClick(AdapterView> parent, View view, int position, long id) {
+ ContextMenuAdapter.ItemClickListener listener =
+ mAdapter.getItem(position).getItemClickListener();
+ if (listener != null) {
+ listener.onContextMenuClick(mAdapter, position, position, false);
+ }
}
@Override
@@ -108,32 +89,45 @@ public class HelpActivity extends OsmandActionBarActivity implements AdapterView
}
private void createBeginWithOsmandItems(ContextMenuAdapter contextMenuAdapter) {
- contextMenuAdapter.addItem(createItem(R.string.first_usage_item, R.string.first_usage_item_description,
- "feature_articles/start.html"));
- contextMenuAdapter.addItem(createItem(R.string.shared_string_navigation, R.string.navigation_item_description,
- "feature_articles/navigation.html"));
- contextMenuAdapter.addItem(createItem(R.string.faq_item, R.string.faq_item_description,
- "feature_articles/faq.html"));
+ contextMenuAdapter.addItem(createCategory(R.string.begin_with_osmand_menu_group));
+ contextMenuAdapter.addItem(createItem(R.string.first_usage_item,
+ R.string.first_usage_item_description, "feature_articles/start.html"));
+ contextMenuAdapter.addItem(createItem(R.string.shared_string_navigation,
+ R.string.navigation_item_description, "feature_articles/navigation.html"));
+ contextMenuAdapter.addItem(createItem(R.string.faq_item,
+ R.string.faq_item_description, "feature_articles/faq.html"));
}
- @Override
- public void onItemClick(AdapterView> parent, View view, int position, long id) {
- mAdapter.getItem(position).getItemClickListener()
- .onContextMenuClick(mAdapter, position, position, false);
+ private void createSocialNetworksItems(ContextMenuAdapter contextMenuAdapter) {
+ contextMenuAdapter.addItem(createCategory(R.string.follow_us));
+ contextMenuAdapter.addItem(createSocialItem(R.string.twitter, R.string.twitter_address,
+ R.drawable.ic_action_social_twitter));
+ contextMenuAdapter.addItem(createSocialItem(R.string.facebook, R.string.facebook_address,
+ R.drawable.ic_action_social_facebook));
+ contextMenuAdapter.addItem(createSocialItem(R.string.vk, R.string.vk_address,
+ R.drawable.ic_action_social_vk));
+ }
+
+ private void createHelpUsToImproveItems(ContextMenuAdapter contextMenuAdapter) {
+ contextMenuAdapter.addItem(createCategory(R.string.help_us_to_improve_menu_group));
+ contextMenuAdapter.addItem(new ContextMenuItem.ItemBuilder()
+ .setLayout(R.layout.help_to_improve_item).createItem());
}
private void createFeaturesItems(ContextMenuAdapter contextMenuAdapter) {
- contextMenuAdapter.addItem(createItem(R.string.map_viewing_item,
+ contextMenuAdapter.addItem(createCategory(R.string.features_menu_group));
+ contextMenuAdapter.addItem(createItem(R.string.map_viewing_item, NULL_ID,
"feature_articles/map-viewing.html"));
- contextMenuAdapter.addItem(createItem(R.string.search_on_the_map_item,
+ contextMenuAdapter.addItem(createItem(R.string.search_on_the_map_item, NULL_ID,
"feature_articles/find-something-on-map.html"));
- contextMenuAdapter.addItem(createItem(R.string.planning_trip_item,
+ contextMenuAdapter.addItem(createItem(R.string.planning_trip_item, NULL_ID,
"feature_articles/trip-planning.html"));
- contextMenuAdapter.addItem(createItem(R.string.map_legend,
+ contextMenuAdapter.addItem(createItem(R.string.map_legend, NULL_ID,
"feature_articles/map-legend.html"));
}
private void createPluginsItems(ContextMenuAdapter contextMenuAdapter) {
+ contextMenuAdapter.addItem(createCategory(R.string.plugins_menu_group));
for (final OsmandPlugin osmandPlugin : OsmandPlugin.getAvailablePlugins()) {
final String helpFileName = osmandPlugin.getHelpFileName();
if (helpFileName != null) {
@@ -144,11 +138,12 @@ public class HelpActivity extends OsmandActionBarActivity implements AdapterView
}
private void createOtherItems(ContextMenuAdapter contextMenuAdapter) {
- contextMenuAdapter.addItem(createItem(R.string.instalation_troubleshooting_item,
+ contextMenuAdapter.addItem(createCategory(R.string.other_menu_group));
+ contextMenuAdapter.addItem(createItem(R.string.instalation_troubleshooting_item, NULL_ID,
"feature_articles/installation-and-troubleshooting.html"));
- contextMenuAdapter.addItem(createItem(R.string.techical_articles_item,
+ contextMenuAdapter.addItem(createItem(R.string.techical_articles_item, NULL_ID,
"feature_articles/technical-articles.html"));
- contextMenuAdapter.addItem(createItem(R.string.versions_item,
+ contextMenuAdapter.addItem(createItem(R.string.versions_item, NULL_ID,
"feature_articles/changes.html"));
String releasedate = "";
@@ -163,6 +158,57 @@ public class HelpActivity extends OsmandActionBarActivity implements AdapterView
.setDescription(version).setListener(listener).createItem());
}
+ // Helper metods
+ private ContextMenuItem createCategory(@StringRes int titleRes) {
+ return new ContextMenuItem.ItemBuilder().setTitle(
+ getString(titleRes)).setCategory(true)
+ .setLayout(R.layout.download_item_list_section).createItem();
+ }
+
+ private ContextMenuItem createItem(@StringRes int titleRes,
+ @StringRes int descriptionRes,
+ String path) {
+ ContextMenuItem.ItemBuilder builder = new ContextMenuItem.ItemBuilder()
+ .setTitle(getString(titleRes))
+ .setListener(new ShowArticleOnTouchListener(path, this));
+ if (descriptionRes != -1) {
+ builder.setDescription(getString(descriptionRes));
+ }
+ return builder.createItem();
+ }
+
+ private ContextMenuItem createPluginItem(String title,
+ @DrawableRes int icon,
+ String path) {
+ return new ContextMenuItem.ItemBuilder()
+ .setTitle(title)
+ .setIcon(icon)
+ .setListener(new ShowArticleOnTouchListener(path, this))
+ .createItem();
+ }
+
+ private ContextMenuItem createSocialItem(@StringRes int title,
+ @StringRes int urlRes,
+ @DrawableRes int icon) {
+ final String url = getString(urlRes);
+ return new ContextMenuItem.ItemBuilder()
+ .setTitle(getString(title))
+ .setDescription(url)
+ .setIcon(icon)
+ .setListener(new ContextMenuAdapter.ItemClickListener() {
+ @Override
+ public boolean onContextMenuClick(ArrayAdapter adapter,
+ int itemId,
+ int position,
+ boolean isChecked) {
+ Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
+ startActivity(intent);
+ return false;
+ }
+ })
+ .createItem();
+ }
+
private static class ShowArticleOnTouchListener implements ContextMenuAdapter.ItemClickListener {
private final String filename;
private final FragmentActivity ctx;
@@ -188,4 +234,4 @@ public class HelpActivity extends OsmandActionBarActivity implements AdapterView
return false;
}
}
-}
+}
\ No newline at end of file
diff --git a/OsmAnd/src/net/osmand/plus/activities/MapActivityLayers.java b/OsmAnd/src/net/osmand/plus/activities/MapActivityLayers.java
index 3bb9417b2e..030b5d6591 100644
--- a/OsmAnd/src/net/osmand/plus/activities/MapActivityLayers.java
+++ b/OsmAnd/src/net/osmand/plus/activities/MapActivityLayers.java
@@ -3,9 +3,13 @@ package net.osmand.plus.activities;
import android.content.DialogInterface;
import android.content.Intent;
+import android.graphics.drawable.Drawable;
import android.support.v7.app.AlertDialog;
+import android.view.View;
+import android.widget.AdapterView;
import android.widget.ArrayAdapter;
-import android.widget.ListAdapter;
+import android.widget.Button;
+import android.widget.ListView;
import android.widget.Toast;
import net.osmand.CallbackWithObject;
@@ -54,7 +58,6 @@ import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map.Entry;
-import java.util.Set;
/**
* Object is responsible to maintain layers using by map activity
@@ -101,7 +104,7 @@ public class MapActivityLayers {
public void createLayers(final OsmandMapTileView mapView) {
- OsmandApplication app = (OsmandApplication) getApplication();
+ OsmandApplication app = getApplication();
RoutingHelper routingHelper = app.getRoutingHelper();
// first create to make accessible
mapTextLayer = new MapTextLayer();
@@ -235,8 +238,7 @@ public class MapActivityLayers {
g.path = getString(R.string.show_current_gpx_title);
}
break;
- }
- if (!g.showCurrentTrack || locToShow == null) {
+ } else {
locToShow = g.findPointToShow();
}
}
@@ -259,70 +261,144 @@ public class MapActivityLayers {
}
- public AlertDialog selectPOIFilterLayer(final OsmandMapTileView mapView) {
- OsmandApplication app = getApplication();
+ public void showMultichoicePoiFilterDialog(final OsmandMapTileView mapView, final ConfirmListener listener) {
+ final OsmandApplication app = getApplication();
final PoiFiltersHelper poiFilters = app.getPoiFilters();
final ContextMenuAdapter adapter = new ContextMenuAdapter();
- adapter.addItem(new ContextMenuItem.ItemBuilder()
- .setTitleId(R.string.shared_string_search, app)
- .setIcon(R.drawable.ic_action_search_dark).createItem());
- final List list = new ArrayList();
+ final List list = new ArrayList<>();
list.add(poiFilters.getCustomPOIFilter());
for (PoiUIFilter f : poiFilters.getTopDefinedPoiFilters()) {
- addFilterToList(adapter, list, f);
+ addFilterToList(adapter, list, f, true);
}
for (PoiUIFilter f : poiFilters.getSearchPoiFilters()) {
- addFilterToList(adapter, list, f);
+ addFilterToList(adapter, list, f, true);
}
+ final ArrayAdapter listAdapter = adapter.createListAdapter(activity, app.getSettings().isLightContent());
+ AlertDialog.Builder builder = new AlertDialog.Builder(activity);
+ final ListView listView = new ListView(activity);
+ listView.setDivider(null);
+ listView.setClickable(true);
+ listView.setAdapter(listAdapter);
+ listView.setOnItemClickListener(new ListView.OnItemClickListener() {
+ @Override
+ public void onItemClick(AdapterView> parent, View view, int position, long id) {
+ ContextMenuItem item = listAdapter.getItem(position);
+ item.setSelected(!item.getSelected());
+ item.getItemClickListener().onContextMenuClick(listAdapter, position, position, item.getSelected());
+ listAdapter.notifyDataSetChanged();
+ }
+ });
+ builder.setView(listView)
+ .setTitle(R.string.show_poi_over_map)
+ .setPositiveButton(R.string.shared_string_ok, new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ mapView.refreshMap();
+ listener.confirm();
+ }
+ })
+ .setNegativeButton(R.string.shared_string_cancel, null)
+ // TODO go to single choice dialog
+ .setNeutralButton(" ", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ showSingleChoicePoiFilterDialog(mapView, listener);
+ }
+ });
+ final AlertDialog alertDialog = builder.create();
+ alertDialog.setOnShowListener(new DialogInterface.OnShowListener() {
+ @Override
+ public void onShow(DialogInterface dialog) {
+ Button neutralButton = alertDialog.getButton(DialogInterface.BUTTON_NEUTRAL);
+ Drawable drawable = app.getIconsCache().getThemedIcon(R.drawable.ic_action_singleselect);
+ neutralButton.setCompoundDrawablesWithIntrinsicBounds(drawable, null, null, null); }
+ });
+ alertDialog.show();
+ }
+
+ public void showSingleChoicePoiFilterDialog(final OsmandMapTileView mapView, final ConfirmListener listener) {
+ final OsmandApplication app = getApplication();
+ final PoiFiltersHelper poiFilters = app.getPoiFilters();
+ final ContextMenuAdapter adapter = new ContextMenuAdapter();
+ final List list = new ArrayList<>();
+ list.add(poiFilters.getCustomPOIFilter());
+ for (PoiUIFilter f : poiFilters.getTopDefinedPoiFilters()) {
+ addFilterToList(adapter, list, f, false);
+ }
+ for (PoiUIFilter f : poiFilters.getSearchPoiFilters()) {
+ addFilterToList(adapter, list, f, false);
+ }
+
+ final ArrayAdapter listAdapter =
+ adapter.createListAdapter(activity, app.getSettings().isLightContent());
AlertDialog.Builder builder = new AlertDialog.Builder(activity);
- ListAdapter listAdapter = adapter.createListAdapter(activity, app.getSettings().isLightContent());
builder.setAdapter(listAdapter, new DialogInterface.OnClickListener() {
@Override
- public void onClick(DialogInterface dialog, int position) {
- PoiUIFilter pf = list.get(position);
- String filterId = pf.getFilterId();
- if (filterId.equals(PoiUIFilter.CUSTOM_FILTER_ID)) {
+ public void onClick(DialogInterface dialog, int which) {
+ PoiUIFilter pf = list.get(which + 1);
+ String filterId = pf.getFilterId();
+ if (filterId.equals(PoiUIFilter.CUSTOM_FILTER_ID)) {
Intent search = new Intent(activity, SearchActivity.class);
search.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
activity.getMyApplication().getSettings().SEARCH_TAB.set(SearchActivity.POI_TAB_INDEX);
activity.startActivity(search);
+ } else {
+ getApplication().getPoiFilters().clearSelectedPoiFilters();
+ getApplication().getPoiFilters().addSelectedPoiFilter(pf);
+ mapView.refreshMap();
+ listener.confirm();
}
}
+
});
- builder.setTitle(R.string.show_poi_over_map)
- .setPositiveButton(R.string.shared_string_ok, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- mapView.refreshMap();
- }
- })
- .setNegativeButton(R.string.shared_string_cancel, null);
- return builder.show();
+ builder.setTitle(R.string.show_poi_over_map);
+ builder.setNegativeButton(R.string.shared_string_cancel, null);
+ builder.setNeutralButton(" ", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ showMultichoicePoiFilterDialog(mapView, listener);
+ }
+ });
+ final AlertDialog alertDialog = builder.create();
+ alertDialog.setOnShowListener(new DialogInterface.OnShowListener() {
+ @Override
+ public void onShow(DialogInterface dialog) {
+ Button neutralButton = alertDialog.getButton(DialogInterface.BUTTON_NEUTRAL);
+ Drawable drawable = app.getIconsCache().getThemedIcon(R.drawable.ic_action_multiselect);
+ neutralButton.setCompoundDrawablesWithIntrinsicBounds(drawable, null, null, null); }
+ });
+ alertDialog.show();
}
- private void addFilterToList(final ContextMenuAdapter adapter, final List list, final PoiUIFilter f) {
+ private void addFilterToList(final ContextMenuAdapter adapter,
+ final List list,
+ final PoiUIFilter f,
+ boolean multichoice) {
list.add(f);
ContextMenuItem.ItemBuilder builder = new ContextMenuItem.ItemBuilder();
- builder.setListener(new ContextMenuAdapter.ItemClickListener() {
- @Override
- public boolean onContextMenuClick(ArrayAdapter adapter, int itemId, int position, boolean isChecked) {
- if (isChecked) {
- getApplication().getPoiFilters().addSelectedPoiFilter(f);
- } else {
- getApplication().getPoiFilters().removeSelectedPoiFilter(f);
+ if (multichoice) {
+ builder.setListener(new ContextMenuAdapter.ItemClickListener() {
+ @Override
+ public boolean onContextMenuClick(ArrayAdapter adapter, int itemId, int position, boolean isChecked) {
+ if (isChecked) {
+ getApplication().getPoiFilters().addSelectedPoiFilter(f);
+ } else {
+ getApplication().getPoiFilters().removeSelectedPoiFilter(f);
+ }
+ return true;
}
- return true;
- }
- });
+ });
+ builder.setSelected(getApplication().getPoiFilters().isPoiFilterSelected(f));
+ }
builder.setTitle(f.getName());
- builder.setSelected(getApplication().getPoiFilters().isPoiFilterSelected(f));
if (RenderingIcons.containsBigIcon(f.getIconId())) {
builder.setIcon(RenderingIcons.getBigIconResourceId(f.getIconId()));
} else {
builder.setIcon(R.drawable.mx_user_defined);
}
- builder.setColor(R.color.osmand_orange);
+ builder.setColor(ContextMenuItem.INVALID_ID);
+ builder.setSkipPaintingWithoutColor(true);
adapter.addItem(builder.createItem());
}
@@ -333,7 +409,7 @@ public class MapActivityLayers {
}
final OsmandSettings settings = getApplication().getSettings();
- final LinkedHashMap entriesMap = new LinkedHashMap();
+ final LinkedHashMap entriesMap = new LinkedHashMap<>();
final String layerOsmVector = "LAYER_OSM_VECTOR";
@@ -345,7 +421,7 @@ public class MapActivityLayers {
entriesMap.put(layerInstallMore, getString(R.string.install_more));
entriesMap.put(layerEditInstall, getString(R.string.maps_define_edit));
- final List> entriesMapList = new ArrayList>(entriesMap.entrySet());
+ final List> entriesMapList = new ArrayList<>(entriesMap.entrySet());
AlertDialog.Builder builder = new AlertDialog.Builder(activity);
@@ -380,57 +456,62 @@ public class MapActivityLayers {
@Override
public void onClick(DialogInterface dialog, int which) {
String layerKey = entriesMapList.get(which).getKey();
- if (layerKey.equals(layerOsmVector)) {
- settings.MAP_ONLINE_DATA.set(false);
- updateMapSource(mapView, null);
- } else if (layerKey.equals(layerEditInstall)) {
- OsmandRasterMapsPlugin.defineNewEditLayer(activity, new ResultMatcher() {
+ switch (layerKey) {
+ case layerOsmVector:
+ settings.MAP_ONLINE_DATA.set(false);
+ updateMapSource(mapView, null);
+ break;
+ case layerEditInstall:
+ OsmandRasterMapsPlugin.defineNewEditLayer(activity, new ResultMatcher() {
- @Override
- public boolean publish(TileSourceTemplate object) {
- settings.MAP_TILE_SOURCES.set(object.getName());
- settings.MAP_ONLINE_DATA.set(true);
- updateMapSource(mapView, settings.MAP_TILE_SOURCES);
- return true;
- }
-
- @Override
- public boolean isCancelled() {
- return false;
- }
-
- });
- } else if (layerKey.equals(layerInstallMore)) {
- OsmandRasterMapsPlugin.installMapLayers(activity, new ResultMatcher() {
- TileSourceTemplate template = null;
- int count = 0;
-
- @Override
- public boolean publish(TileSourceTemplate object) {
- if (object == null) {
- if (count == 1) {
- settings.MAP_TILE_SOURCES.set(template.getName());
- settings.MAP_ONLINE_DATA.set(true);
- updateMapSource(mapView, settings.MAP_TILE_SOURCES);
- } else {
- selectMapLayer(mapView);
- }
- } else {
- count++;
- template = object;
+ @Override
+ public boolean publish(TileSourceTemplate object) {
+ settings.MAP_TILE_SOURCES.set(object.getName());
+ settings.MAP_ONLINE_DATA.set(true);
+ updateMapSource(mapView, settings.MAP_TILE_SOURCES);
+ return true;
}
- return false;
- }
- @Override
- public boolean isCancelled() {
- return false;
- }
- });
- } else {
- settings.MAP_TILE_SOURCES.set(layerKey);
- settings.MAP_ONLINE_DATA.set(true);
- updateMapSource(mapView, settings.MAP_TILE_SOURCES);
+ @Override
+ public boolean isCancelled() {
+ return false;
+ }
+
+ });
+ break;
+ case layerInstallMore:
+ OsmandRasterMapsPlugin.installMapLayers(activity, new ResultMatcher() {
+ TileSourceTemplate template = null;
+ int count = 0;
+
+ @Override
+ public boolean publish(TileSourceTemplate object) {
+ if (object == null) {
+ if (count == 1) {
+ settings.MAP_TILE_SOURCES.set(template.getName());
+ settings.MAP_ONLINE_DATA.set(true);
+ updateMapSource(mapView, settings.MAP_TILE_SOURCES);
+ } else {
+ selectMapLayer(mapView);
+ }
+ } else {
+ count++;
+ template = object;
+ }
+ return false;
+ }
+
+ @Override
+ public boolean isCancelled() {
+ return false;
+ }
+ });
+ break;
+ default:
+ settings.MAP_TILE_SOURCES.set(layerKey);
+ settings.MAP_ONLINE_DATA.set(true);
+ updateMapSource(mapView, settings.MAP_TILE_SOURCES);
+ break;
}
dialog.dismiss();
@@ -504,4 +585,8 @@ public class MapActivityLayers {
public DownloadedRegionsLayer getDownloadedRegionsLayer() {
return downloadedRegionsLayer;
}
+
+ public interface ConfirmListener {
+ void confirm();
+ }
}
diff --git a/OsmAnd/src/net/osmand/plus/dialogs/ConfigureMapMenu.java b/OsmAnd/src/net/osmand/plus/dialogs/ConfigureMapMenu.java
index cfe8a66a1a..1671e6d6f5 100644
--- a/OsmAnd/src/net/osmand/plus/dialogs/ConfigureMapMenu.java
+++ b/OsmAnd/src/net/osmand/plus/dialogs/ConfigureMapMenu.java
@@ -25,16 +25,15 @@ import net.osmand.plus.OsmandSettings;
import net.osmand.plus.OsmandSettings.CommonPreference;
import net.osmand.plus.R;
import net.osmand.plus.activities.MapActivity;
+import net.osmand.plus.activities.MapActivityLayers;
import net.osmand.plus.activities.PluginActivity;
import net.osmand.plus.activities.SettingsActivity;
import net.osmand.plus.activities.TransportRouteHelper;
import net.osmand.plus.poi.PoiFiltersHelper;
-import net.osmand.plus.poi.PoiUIFilter;
import net.osmand.plus.rastermaps.OsmandRasterMapsPlugin;
import net.osmand.plus.render.RendererRegistry;
import net.osmand.plus.views.GPXLayer;
import net.osmand.plus.views.OsmandMapTileView;
-import net.osmand.plus.views.POIMapLayer;
import net.osmand.plus.views.RouteLayer;
import net.osmand.plus.views.corenative.NativeCoreContext;
import net.osmand.render.RenderingRuleProperty;
@@ -104,7 +103,7 @@ public class ConfigureMapMenu {
@Override
public boolean onRowItemClick(ArrayAdapter adapter, View view, int itemId, int pos) {
if (itemId == R.string.layer_poi) {
- selectPOILayer(adapter, adapter.getItem(pos));
+ showPoiFilterDialog(adapter, adapter.getItem(pos));
return false;
} else if (itemId == R.string.layer_gpx_layer && cm.getItem(pos).getSelected()) {
showGpxSelectionDialog(adapter, adapter.getItem(pos));
@@ -135,7 +134,7 @@ public class ConfigureMapMenu {
if (itemId == R.string.layer_poi) {
pfh.clearSelectedPoiFilters();
if (isChecked) {
- selectPOILayer(adapter, adapter.getItem(pos));
+ showPoiFilterDialog(adapter, adapter.getItem(pos));
} else {
adapter.getItem(pos).setDescription(pfh.getSelectedPoiFiltersName());
}
@@ -184,21 +183,20 @@ public class ConfigureMapMenu {
});
}
- protected void selectPOILayer(final ArrayAdapter adapter,
- final ContextMenuItem item) {
- AlertDialog dlg = ma.getMapLayers().selectPOIFilterLayer(ma.getMapView());
- dlg.setOnDismissListener(new DialogInterface.OnDismissListener() {
-
- @Override
- public void onDismiss(DialogInterface dialog) {
- PoiFiltersHelper pf = ma.getMyApplication().getPoiFilters();
- boolean selected = pf.isShowingAnyPoi();
- item.setSelected(selected);
- item.setDescription(pf.getSelectedPoiFiltersName());
- item.setColorRes(selected ? R.color.osmand_orange : ContextMenuItem.INVALID_ID);
- adapter.notifyDataSetChanged();
- }
- });
+ protected void showPoiFilterDialog(final ArrayAdapter adapter,
+ final ContextMenuItem item) {
+ ma.getMapLayers().showSingleChoicePoiFilterDialog(ma.getMapView(),
+ new MapActivityLayers.ConfirmListener() {
+ @Override
+ public void confirm() {
+ PoiFiltersHelper pf = ma.getMyApplication().getPoiFilters();
+ boolean selected = pf.isShowingAnyPoi();
+ item.setSelected(selected);
+ item.setDescription(pf.getSelectedPoiFiltersName());
+ item.setColorRes(selected ? R.color.osmand_orange : ContextMenuItem.INVALID_ID);
+ adapter.notifyDataSetChanged();
+ }
+ });
}
}
diff --git a/OsmAnd/src/net/osmand/plus/download/ui/ItemViewHolder.java b/OsmAnd/src/net/osmand/plus/download/ui/ItemViewHolder.java
index 797e94a3a7..fb53efc0fa 100644
--- a/OsmAnd/src/net/osmand/plus/download/ui/ItemViewHolder.java
+++ b/OsmAnd/src/net/osmand/plus/download/ui/ItemViewHolder.java
@@ -79,10 +79,10 @@ public class ItemViewHolder {
dateFormat = android.text.format.DateFormat.getMediumDateFormat(context);
progressBar = (ProgressBar) view.findViewById(R.id.progressBar);
rightButton = (Button) view.findViewById(R.id.rightButton);
- leftImageView = (ImageView) view.findViewById(R.id.leftImageView);
+ leftImageView = (ImageView) view.findViewById(R.id.icon);
descrTextView = (TextView) view.findViewById(R.id.description);
- rightImageButton = (ImageView) view.findViewById(R.id.rightImageButton);
- nameTextView = (TextView) view.findViewById(R.id.name);
+ rightImageButton = (ImageView) view.findViewById(R.id.secondaryIcon);
+ nameTextView = (TextView) view.findViewById(R.id.title);
view.setAccessibilityDelegate(context.getAccessibilityAssistant());
rightButton.setAccessibilityDelegate(context.getAccessibilityAssistant());
diff --git a/OsmAnd/src/net/osmand/plus/helpers/WaypointDialogHelper.java b/OsmAnd/src/net/osmand/plus/helpers/WaypointDialogHelper.java
index a5ba65a7bf..f628289167 100644
--- a/OsmAnd/src/net/osmand/plus/helpers/WaypointDialogHelper.java
+++ b/OsmAnd/src/net/osmand/plus/helpers/WaypointDialogHelper.java
@@ -5,12 +5,12 @@ import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
-import android.content.DialogInterface.OnDismissListener;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.ShapeDrawable;
import android.graphics.drawable.shapes.Shape;
import android.os.AsyncTask;
import android.support.v4.app.FragmentActivity;
+import android.support.v4.content.ContextCompat;
import android.support.v7.app.AlertDialog;
import android.support.v7.widget.PopupMenu;
import android.view.MenuItem;
@@ -37,6 +37,7 @@ import net.osmand.plus.R;
import net.osmand.plus.TargetPointsHelper;
import net.osmand.plus.TargetPointsHelper.TargetPoint;
import net.osmand.plus.activities.MapActivity;
+import net.osmand.plus.activities.MapActivityLayers;
import net.osmand.plus.dialogs.DirectionsDialogs;
import net.osmand.plus.helpers.WaypointHelper.LocationPointWrapper;
import net.osmand.plus.poi.PoiUIFilter;
@@ -62,7 +63,9 @@ public class WaypointDialogHelper {
public interface WaypointDialogHelperCallbacks {
void reloadAdapter();
+
void deleteWaypoint(int position);
+
void exchangeWaypoints(int pos1, int pos2);
}
@@ -222,11 +225,11 @@ public class WaypointDialogHelper {
int color;
int pointColor;
if (nightMode) {
- color = ctx.getResources().getColor(R.color.dashboard_divider_dark);
- pointColor = ctx.getResources().getColor(R.color.dashboard_divider_dark);
+ color = ContextCompat.getColor(ctx, R.color.dashboard_divider_dark);
+ pointColor = ContextCompat.getColor(ctx, R.color.dashboard_divider_dark);
} else {
- color = ctx.getResources().getColor(R.color.dashboard_divider_light);
- pointColor = ctx.getResources().getColor(R.color.ctx_menu_info_divider_light);
+ color = ContextCompat.getColor(ctx, R.color.dashboard_divider_light);
+ pointColor = ContextCompat.getColor(ctx, R.color.ctx_menu_info_divider_light);
}
Shape fullDividerShape = new ListDividerShape(color, 0);
@@ -487,7 +490,7 @@ public class WaypointDialogHelper {
move.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- ((DragIcon)view.getTag()).onClick();
+ ((DragIcon) view.getTag()).onClick();
}
});
}
@@ -614,13 +617,13 @@ public class WaypointDialogHelper {
running[0] = position;
thisAdapter.notifyDataSetInvalidated();
MapActivity map = (MapActivity) ctx;
- AlertDialog dlg = map.getMapLayers().selectPOIFilterLayer(map.getMapView());
- dlg.setOnDismissListener(new OnDismissListener() {
- @Override
- public void onDismiss(DialogInterface dialog) {
- enableType(running, thisAdapter, type, true);
- }
- });
+ map.getMapLayers().showSingleChoicePoiFilterDialog(map.getMapView(),
+ new MapActivityLayers.ConfirmListener() {
+ @Override
+ public void confirm() {
+ enableType(running, thisAdapter, type, true);
+ }
+ });
}
});
@@ -688,16 +691,15 @@ public class WaypointDialogHelper {
if (ctx instanceof MapActivity &&
!app.getPoiFilters().isPoiFilterSelected(PoiUIFilter.CUSTOM_FILTER_ID)) {
MapActivity map = (MapActivity) ctx;
- AlertDialog dlg = map.getMapLayers().selectPOIFilterLayer(map.getMapView());
- dlg.setOnDismissListener(new OnDismissListener() {
-
- @Override
- public void onDismiss(DialogInterface dialog) {
- if (app.getPoiFilters().isShowingAnyPoi()) {
- enableType(running, listAdapter, type, enable);
- }
- }
- });
+ map.getMapLayers().showSingleChoicePoiFilterDialog(map.getMapView(),
+ new MapActivityLayers.ConfirmListener() {
+ @Override
+ public void confirm() {
+ if (app.getPoiFilters().isShowingAnyPoi()) {
+ enableType(running, listAdapter, type, enable);
+ }
+ }
+ });
} else {
enableType(running, listAdapter, type, enable);
}
@@ -833,9 +835,8 @@ public class WaypointDialogHelper {
boolean rc = waypointHelper.isRouteCalculated();
for (int i = 0; i < WaypointHelper.MAX; i++) {
List tp = waypointHelper.getWaypoints(i);
- if (!rc && i != WaypointHelper.WAYPOINTS && i != WaypointHelper.TARGETS) {
- // skip
- } else if (waypointHelper.isTypeVisible(i)) {
+ if ((rc || i == WaypointHelper.WAYPOINTS || i == WaypointHelper.TARGETS)
+ && waypointHelper.isTypeVisible(i)) {
if (points.size() > 0) {
points.add(true);
}
@@ -888,43 +889,6 @@ public class WaypointDialogHelper {
app.getSettings().setMapLocationToShow(locationPoint.getLatitude(), locationPoint.getLongitude(),
15, locationPoint.getPointDescription(a), false, locationPoint);
MapActivity.launchMapActivityMoveToTop(a);
-
- /*
- MapActivity ctx = (MapActivity) a;
- AnimateDraggingMapThread thread = ctx.getMapView().getAnimatedDraggingThread();
- int fZoom = ctx.getMapView().getZoom() < 15 ? 15 : ctx.getMapView().getZoom();
- double flat = locationPoint.getLatitude();
- double flon = locationPoint.getLongitude();
- if (!center) {
- RotatedTileBox cp = ctx.getMapView().getCurrentRotatedTileBox().copy();
- cp.setCenterLocation(0.5f, 0.25f);
- cp.setLatLonCenter(flat, flon);
- flat = cp.getLatFromPixel(cp.getPixWidth() / 2, cp.getPixHeight() / 2);
- flon = cp.getLonFromPixel(cp.getPixWidth() / 2, cp.getPixHeight() / 2);
- }
- if (thread.isAnimating()) {
- ctx.getMapView().setIntZoom(fZoom);
- ctx.getMapView().setLatLon(flat, flon);
- app.getAppCustomization().showLocationPoint(ctx, locationPoint);
- } else {
- final double dist = MapUtils.getDistance(ctx.getMapView().getLatitude(), ctx.getMapView().getLongitude(),
- locationPoint.getLatitude(), locationPoint.getLongitude());
- double t = 10;
- if (dist < t) {
- app.getAppCustomization().showLocationPoint(ctx, locationPoint);
- } else {
- thread.startMoving(flat, flon, fZoom, true);
- }
- if (ctx.getDashboard().isVisible()) {
- ctx.getDashboard().hideDashboard();
- ctx.getMapLayers().getMapControlsLayer().getMapRouteInfoMenu().hide();
- ctx.getContextMenu().show(
- new LatLon(locationPoint.getLatitude(), locationPoint.getLongitude()),
- locationPoint.getPointDescription(ctx),
- locationPoint);
- }
- }
- */
}
public static void sortAllTargets(final OsmandApplication app, final Activity activity,
diff --git a/OsmAnd/src/net/osmand/plus/inapp/InAppHelper.java b/OsmAnd/src/net/osmand/plus/inapp/InAppHelper.java
index 1e0088c00f..ebbe7a30d6 100644
--- a/OsmAnd/src/net/osmand/plus/inapp/InAppHelper.java
+++ b/OsmAnd/src/net/osmand/plus/inapp/InAppHelper.java
@@ -411,8 +411,8 @@ public class InAppHelper {
}
private void sendToken(String purchaseToken, final OnRequestResultListener listener) {
- String userId = ctx.getSettings().BILLING_USER_ID.get();
- String email = ctx.getSettings().BILLING_USER_EMAIL.get();
+ final String userId = ctx.getSettings().BILLING_USER_ID.get();
+ final String email = ctx.getSettings().BILLING_USER_EMAIL.get();
try {
Map parameters = new HashMap<>();
parameters.put("userid", userId);
@@ -458,11 +458,15 @@ public class InAppHelper {
ctx.getSettings().BILLING_USER_EMAIL.set(obj.getString("email"));
}
} else {
- complain("SendToken Error: " + obj.getString("error"));
+ complain("SendToken Error: "
+ + obj.getString("error")
+ + " (userId=" + userId + " token=" + token + ")");
}
} catch (JSONException e) {
logError("SendToken", e);
- complain("SendToken Error: " + (e.getMessage() != null ? e.getMessage() : "JSONException"));
+ complain("SendToken Error: "
+ + (e.getMessage() != null ? e.getMessage() : "JSONException")
+ + " (userId=" + userId + " token=" + token + ")");
}
}
if (listener != null) {
@@ -518,7 +522,7 @@ public class InAppHelper {
private void complain(String message) {
logError("**** InAppHelper Error: " + message);
- showToast("Error: " + message);
+ showToast(message);
}
private void showToast(final String message) {
@@ -530,7 +534,7 @@ public class InAppHelper {
}
void logError(String msg) {
- Log.e(TAG, "Error: " + msg);
+ Log.e(TAG, msg);
}
void logError(String msg, Throwable e) {
diff --git a/OsmAnd/src/net/osmand/plus/poi/PoiUIFilter.java b/OsmAnd/src/net/osmand/plus/poi/PoiUIFilter.java
index 8dcd5b452e..149d4efef3 100644
--- a/OsmAnd/src/net/osmand/plus/poi/PoiUIFilter.java
+++ b/OsmAnd/src/net/osmand/plus/poi/PoiUIFilter.java
@@ -113,6 +113,13 @@ public class PoiUIFilter implements SearchPoiTypeFilter, Comparable
updatePoiAdditionals();
}
+ public PoiUIFilter(Set filtersToMerge, OsmandApplication app) {
+ this(app);
+ combineWithPoiFilters(filtersToMerge);
+ filterId = PoiUIFilter.STD_PREFIX + "combined";
+ name = app.getPoiFilters().getFiltersName(filtersToMerge);
+ }
+
public String getFilterByName() {
return filterByName;
}
@@ -494,6 +501,12 @@ public class PoiUIFilter implements SearchPoiTypeFilter, Comparable
poiAdditionals.putAll(f.poiAdditionals);
}
+ public void combineWithPoiFilters(Set filters) {
+ for (PoiUIFilter f : filters) {
+ combineWithPoiFilter(f);
+ }
+ }
+
public static void combineStandardPoiFilters(Set filters, OsmandApplication app) {
Set standardFilters = new TreeSet<>();
for (PoiUIFilter filter : filters) {
@@ -503,16 +516,7 @@ public class PoiUIFilter implements SearchPoiTypeFilter, Comparable
}
}
if (!standardFilters.isEmpty()) {
- PoiUIFilter standardFiltersCombined = null;
- for (PoiUIFilter f : standardFilters) {
- if (standardFiltersCombined == null) {
- standardFiltersCombined = f;
- f.filterId = PoiUIFilter.STD_PREFIX + "combined";
- f.name = app.getPoiFilters().getFiltersName(standardFilters);
- } else {
- standardFiltersCombined.combineWithPoiFilter(f);
- }
- }
+ PoiUIFilter standardFiltersCombined = new PoiUIFilter(standardFilters, app);
filters.removeAll(standardFilters);
filters.add(standardFiltersCombined);
}
diff --git a/OsmAnd/src/net/osmand/plus/views/mapwidgets/TextInfoWidget.java b/OsmAnd/src/net/osmand/plus/views/mapwidgets/TextInfoWidget.java
index d3fdcf1839..f399c4632c 100644
--- a/OsmAnd/src/net/osmand/plus/views/mapwidgets/TextInfoWidget.java
+++ b/OsmAnd/src/net/osmand/plus/views/mapwidgets/TextInfoWidget.java
@@ -7,6 +7,7 @@ import android.app.Activity;
import android.graphics.Paint.Style;
import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
+import android.text.TextUtils;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
@@ -99,12 +100,17 @@ public class TextInfoWidget {
return isNight;
}
- public void setContentDescription(CharSequence text) {
- if (contentTitle != null) {
- view.setContentDescription(contentTitle + " " + text); //$NON-NLS-1$
- } else {
- view.setContentDescription(text);
+ private CharSequence combine(CharSequence text, CharSequence subtext) {
+ if (TextUtils.isEmpty(text)) {
+ return subtext;
+ } else if (TextUtils.isEmpty(subtext)) {
+ return text;
}
+ return text + " " + subtext; //$NON-NLS-1$
+ }
+
+ public void setContentDescription(CharSequence text) {
+ view.setContentDescription(combine(contentTitle, text));
}
public void setContentTitle(int messageId) {
@@ -113,7 +119,7 @@ public class TextInfoWidget {
public void setContentTitle(String text) {
contentTitle = text;
- view.setContentDescription(text);
+ setContentDescription(combine(textView.getText(), smallTextView.getText()));
}
public void setText(String text, String subtext) {
@@ -122,15 +128,7 @@ public class TextInfoWidget {
}
protected void setTextNoUpdateVisibility(String text, String subtext) {
- if (text != null) {
- if (subtext != null) {
- setContentDescription(text + " " + subtext); //$NON-NLS-1$
- } else {
- setContentDescription(text);
- }
- } else if(subtext != null){
- setContentDescription(subtext);
- }
+ setContentDescription(combine(text, subtext));
// if(this.text != null && this.text.length() > 7) {
// this.text = this.text.substring(0, 6) +"..";
// }
diff --git a/build.gradle b/build.gradle
index f88758a94b..eb1e4511c1 100644
--- a/build.gradle
+++ b/build.gradle
@@ -3,7 +3,7 @@ buildscript {
mavenCentral()
}
dependencies {
- classpath 'com.android.tools.build:gradle:2.0.0'
+ classpath 'com.android.tools.build:gradle:2.1.0'
}
}