diff --git a/OsmAnd-telegram/res/layout/activity_main.xml b/OsmAnd-telegram/res/layout/activity_main.xml
index 0bd3315e7b..592e6b21eb 100644
--- a/OsmAnd-telegram/res/layout/activity_main.xml
+++ b/OsmAnd-telegram/res/layout/activity_main.xml
@@ -38,6 +38,7 @@
android:id="@+id/bottom_navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ android:background="?attr/card_bg_color"
android:visibility="visible"
app:itemBackground="?attr/card_bg_color"
app:menu="@menu/bottom_navigation_menu"/>
diff --git a/OsmAnd-telegram/res/layout/fragment_live_now_tab.xml b/OsmAnd-telegram/res/layout/fragment_live_now_tab.xml
index e710da6be8..cfc7d9daf1 100644
--- a/OsmAnd-telegram/res/layout/fragment_live_now_tab.xml
+++ b/OsmAnd-telegram/res/layout/fragment_live_now_tab.xml
@@ -5,10 +5,10 @@
android:layout_height="match_parent"
android:orientation="vertical">
-
+ android:scrollbars="vertical"/>
diff --git a/OsmAnd-telegram/src/net/osmand/telegram/helpers/TelegramHelper.kt b/OsmAnd-telegram/src/net/osmand/telegram/helpers/TelegramHelper.kt
index 9168306e6f..7945139a9c 100644
--- a/OsmAnd-telegram/src/net/osmand/telegram/helpers/TelegramHelper.kt
+++ b/OsmAnd-telegram/src/net/osmand/telegram/helpers/TelegramHelper.kt
@@ -128,6 +128,20 @@ class TelegramHelper private constructor() {
return usersLiveMessages.values.toList()
}
+ fun getMessagesByChatIds(): Map> {
+ val res = mutableMapOf>()
+ for (message in usersLiveMessages.values) {
+ var messages = res[message.chatId]
+ if (messages != null) {
+ messages.add(message)
+ } else {
+ messages = mutableListOf(message)
+ res[message.chatId] = messages
+ }
+ }
+ return res
+ }
+
private fun updateChatTitles() {
chatTitles.clear()
for (chatEntry in chats.entries) {
diff --git a/OsmAnd-telegram/src/net/osmand/telegram/ui/LiveNowTabFragment.kt b/OsmAnd-telegram/src/net/osmand/telegram/ui/LiveNowTabFragment.kt
index a07c8b576e..b11b9b8a9b 100644
--- a/OsmAnd-telegram/src/net/osmand/telegram/ui/LiveNowTabFragment.kt
+++ b/OsmAnd-telegram/src/net/osmand/telegram/ui/LiveNowTabFragment.kt
@@ -2,15 +2,131 @@ package net.osmand.telegram.ui
import android.os.Bundle
import android.support.v4.app.Fragment
+import android.support.v7.widget.LinearLayoutManager
+import android.support.v7.widget.RecyclerView
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
+import android.widget.ImageView
+import android.widget.Switch
+import android.widget.TextView
import net.osmand.telegram.R
+import net.osmand.telegram.TelegramApplication
+import net.osmand.telegram.helpers.TelegramHelper.TelegramAuthorizationState
+import net.osmand.telegram.helpers.TelegramHelper.TelegramListener
+import org.drinkless.td.libcore.telegram.TdApi
-class LiveNowTabFragment : Fragment() {
+class LiveNowTabFragment : Fragment(), TelegramListener {
+
+ companion object {
+ private const val CHAT_VIEW_TYPE = 0
+ private const val CONTACT_VIEW_TYPE = 1
+ }
+
+ private val app: TelegramApplication
+ get() = activity?.application as TelegramApplication
+
+ private val telegramHelper get() = app.telegramHelper
+
+ private val adapter = LiveNowListAdapter()
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
val mainView = inflater.inflate(R.layout.fragment_live_now_tab, container, false)
+ mainView.findViewById(R.id.recycler_view).apply {
+ layoutManager = LinearLayoutManager(context)
+ adapter = this@LiveNowTabFragment.adapter
+ }
return mainView
}
+
+ override fun onTelegramStatusChanged(prevTelegramAuthorizationState: TelegramAuthorizationState,
+ newTelegramAuthorizationState: TelegramAuthorizationState) {
+ // TODO: update list
+ }
+
+ override fun onTelegramChatsRead() {
+ updateList()
+ }
+
+ override fun onTelegramChatsChanged() {
+ updateList()
+ }
+
+ override fun onTelegramChatChanged(chat: TdApi.Chat) {
+ updateList()
+ }
+
+ override fun onTelegramUserChanged(user: TdApi.User) {
+ updateList()
+ }
+
+ override fun onTelegramError(code: Int, message: String) {
+ }
+
+ override fun onSendLiveLocationError(code: Int, message: String) {
+ }
+
+ private fun updateList() {
+ val res = mutableListOf()
+ for ((id, messages) in telegramHelper.getMessagesByChatIds()) {
+ telegramHelper.getChat(id)?.let { chat ->
+ res.add(chat)
+ if (chat.type !is TdApi.ChatTypePrivate && chat.type !is TdApi.ChatTypeSecret && messages.size > 1) {
+ messages.forEach { message ->
+ telegramHelper.getUser(message.senderUserId)?.let { user ->
+ res.add(user)
+ }
+ }
+ }
+ }
+ }
+ adapter.items = res
+ }
+
+ inner class LiveNowListAdapter : RecyclerView.Adapter() {
+
+ var items: List = emptyList()
+ set(value) {
+ field = value
+ notifyDataSetChanged()
+ }
+
+ override fun getItemViewType(position: Int): Int {
+ return when (items[position]) {
+ is TdApi.Chat -> CHAT_VIEW_TYPE
+ else -> CONTACT_VIEW_TYPE
+ }
+ }
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
+ val inflater = LayoutInflater.from(parent.context)
+ return when (viewType) {
+ CHAT_VIEW_TYPE -> ChatViewHolder(inflater.inflate(R.layout.live_now_chat_card, parent, false))
+ else -> ContactViewHolder(inflater.inflate(R.layout.live_now_contact_item, parent, false))
+ }
+ }
+
+ override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
+ }
+
+ override fun getItemCount() = items.size
+
+ inner class ContactViewHolder(val view: View) : RecyclerView.ViewHolder(view) {
+ val icon: ImageView? = view.findViewById(R.id.icon)
+ val title: TextView? = view.findViewById(R.id.title)
+ val description: TextView? = view.findViewById(R.id.description)
+ val bottomShadow: View? = view.findViewById(R.id.bottom_shadow)
+ }
+
+ inner class ChatViewHolder(val view: View) : RecyclerView.ViewHolder(view) {
+ val icon: ImageView? = view.findViewById(R.id.icon)
+ val title: TextView? = view.findViewById(R.id.title)
+ val description: TextView? = view.findViewById(R.id.description)
+ val imageButton: ImageView? = view.findViewById(R.id.image_button)
+ val showOnMapRow: View? = view.findViewById(R.id.show_on_map_row)
+ val showOnMapSwitch: Switch? = view.findViewById(R.id.show_on_map_switch)
+ val bottomDivider: View? = view.findViewById(R.id.bottom_divider)
+ val bottomShadow: View? = view.findViewById(R.id.bottom_shadow)
+ }
+ }
}
diff --git a/OsmAnd-telegram/src/net/osmand/telegram/ui/MainActivity.kt b/OsmAnd-telegram/src/net/osmand/telegram/ui/MainActivity.kt
index f4e3e367fc..0a69c1bd43 100644
--- a/OsmAnd-telegram/src/net/osmand/telegram/ui/MainActivity.kt
+++ b/OsmAnd-telegram/src/net/osmand/telegram/ui/MainActivity.kt
@@ -9,10 +9,7 @@ import android.graphics.drawable.Drawable
import android.net.Uri
import android.os.Bundle
import android.support.design.widget.BottomNavigationView
-import android.support.v4.app.ActivityCompat
-import android.support.v4.app.DialogFragment
-import android.support.v4.app.FragmentManager
-import android.support.v4.app.FragmentPagerAdapter
+import android.support.v4.app.*
import android.support.v7.app.AlertDialog
import android.support.v7.app.AppCompatActivity
import android.support.v7.widget.*
@@ -27,6 +24,7 @@ import net.osmand.telegram.ui.LoginDialogFragment.LoginDialogType
import net.osmand.telegram.ui.views.LockableViewPager
import net.osmand.telegram.utils.AndroidUtils
import org.drinkless.td.libcore.telegram.TdApi
+import java.lang.ref.WeakReference
class MainActivity : AppCompatActivity(), TelegramListener {
@@ -58,6 +56,8 @@ class MainActivity : AppCompatActivity(), TelegramListener {
private val osmandHelper get() = app.osmandHelper
private val settings get() = app.settings
+ private val listeners: MutableList> = mutableListOf()
+
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
@@ -90,6 +90,9 @@ class MainActivity : AppCompatActivity(), TelegramListener {
R.id.action_live_now -> pos = LIVE_NOW_TAB_POS
}
if (pos != -1 && pos != viewPager.currentItem) {
+ // FIXME
+ chatsView.visibility = if (pos == MY_LOCATION_TAB_POS) View.VISIBLE else View.GONE
+ viewPager.visibility = if (pos == LIVE_NOW_TAB_POS) View.VISIBLE else View.GONE
viewPager.currentItem = pos
return@setOnNavigationItemSelectedListener true
}
@@ -123,6 +126,12 @@ class MainActivity : AppCompatActivity(), TelegramListener {
}
}
+ override fun onAttachFragment(fragment: Fragment?) {
+ if (fragment is TelegramListener) {
+ listeners.add(WeakReference(fragment))
+ }
+ }
+
override fun onResume() {
super.onResume()
paused = false
@@ -179,6 +188,9 @@ class MainActivity : AppCompatActivity(), TelegramListener {
}
else -> Unit
}
+ listeners.forEach {
+ it.get()?.onTelegramStatusChanged(prevTelegramAuthorizationState, newTelegramAuthorizationState)
+ }
}
}
@@ -186,18 +198,21 @@ class MainActivity : AppCompatActivity(), TelegramListener {
runOnUi {
removeNonexistingChatsFromSettings()
updateChatsList()
+ listeners.forEach { it.get()?.onTelegramChatsRead() }
}
}
override fun onTelegramChatsChanged() {
runOnUi {
updateChatsList()
+ listeners.forEach { it.get()?.onTelegramChatsChanged() }
}
}
override fun onTelegramChatChanged(chat: TdApi.Chat) {
runOnUi {
updateChat(chat)
+ listeners.forEach { it.get()?.onTelegramChatChanged(chat) }
}
}
@@ -206,17 +221,24 @@ class MainActivity : AppCompatActivity(), TelegramListener {
if (message != null) {
app.showLocationHelper.showLocationOnMap(message)
}
+ runOnUi {
+ listeners.forEach { it.get()?.onTelegramUserChanged(user) }
+ }
}
override fun onTelegramError(code: Int, message: String) {
runOnUi {
Toast.makeText(this@MainActivity, "$code - $message", Toast.LENGTH_LONG).show()
+ listeners.forEach { it.get()?.onTelegramError(code, message) }
}
}
override fun onSendLiveLocationError(code: Int, message: String) {
log.error("Send live location error: $code - $message")
app.isInternetConnectionAvailable(true)
+ runOnUi {
+ listeners.forEach { it.get()?.onSendLiveLocationError(code, message) }
+ }
}
private fun removeNonexistingChatsFromSettings() {
diff --git a/OsmAnd/res/values-de/strings.xml b/OsmAnd/res/values-de/strings.xml
index 975530f346..2db37a023f 100644
--- a/OsmAnd/res/values-de/strings.xml
+++ b/OsmAnd/res/values-de/strings.xml
@@ -1,4 +1,5 @@
-
+
+
Korrigierte Distanz
Wikipedia-Artikel zur Umgebung
@@ -1255,7 +1256,7 @@ Proportionaler Speicher %4$s MB (Android Limit %5$s MB, Dalvik %6$s MB).Alle löschen
Schifffahrtsobjekte
Wählen Sie die Profile aus, die in der App sichtbar sein sollen.
- App-profile
+ App-Profile
Autobahnen bevorzugen
Autobahnen bevorzugen
@@ -3061,4 +3062,8 @@ Abgedeckte Fläche: %1$s x %2$s
Holen Sie sich OsmAnd Live, um alle Funktionen freizuschalten: Tägliche Karten-Updates mit unbegrenzten Downloads, alle kostenpflichtigen und kostenlosen Plugins, Wikipedia, Wikivoyage und vieles mehr.
Aktionen bearbeiten
Bitte senden Sie Screenshots dieser Meldung an support@osmand.net
-
\ No newline at end of file
+ Punkt bearbeiten
+ Punkt hinzufügen
+ Als Track speichern
+ Sie haben %1$s Punkte hinzugefügt. Geben Sie den Namen der Datei ein und klicken Sie auf Speichern.
+
diff --git a/OsmAnd/res/values-el/strings.xml b/OsmAnd/res/values-el/strings.xml
index a817f19866..0b867b15a9 100644
--- a/OsmAnd/res/values-el/strings.xml
+++ b/OsmAnd/res/values-el/strings.xml
@@ -1,4 +1,5 @@
-
+
+
Προσθήκη Ετικέτας
Λειτουργία για προχωρημένους…
Στάθμευση
@@ -923,7 +924,7 @@
Επεξεργασία ΣΕ
Δημιουργία ΣΕ
Ο κόμβος δεν μπορεί να βρεθεί ή η υποδομή αποτελείται από πολλούς κόμβους, που δεν υποστηρίζεται ακόμα.
- Διαγραφή {0} (εισαγωγή σχολίου)?
+ Διαγραφή {0} (σχολίου);
Διαγραφή ΣΕ
Το ΣΕ διαγράφτηκε
προσθήκη
@@ -1872,7 +1873,7 @@
Προαιρετικό όνομα σημείου
Κοντινές διαδρομές
Με
- Εισάγετε το όνομα του αρχείου.
+ Πληκτρολογήστε το όνομα του αρχείου.
Σφάλμα εισαγωγής χάρτη
Ο χάρτης εισήχθη
Κάντε αυτό το σημείο εκκίνησης
@@ -3054,4 +3055,8 @@
Εγγραφείτε στο OsmAnd Live για να ξεκλειδώσετε όλα τα χαρακτηριστικά: Ημερήσιες ενημερώσεις χαρτών με απεριόριστες λήψεις, όλα πληρωμένα και χωρίς πρόσθετα, βικιπαίδεια, βικιταξίδια και πολλά άλλα.
Επεξεργασία ενεργειών
Παρακαλούμε, στείλτε στιγμιότυπο αυτής της ειδοποίησης στο support@osmand.net
-
\ No newline at end of file
+ Επεξεργασία σημείου
+ Προσθήκη σημείου
+ Αποθήκευση ως ίχνος
+ Προσθέσατε %1$s σημεία. Πληκτρολογήστε ένα όνομα αρχείου και πατήστε \"Αποθήκευση\".
+
diff --git a/OsmAnd/res/values-eo/phrases.xml b/OsmAnd/res/values-eo/phrases.xml
index 0c150a6b90..5bee902aa7 100644
--- a/OsmAnd/res/values-eo/phrases.xml
+++ b/OsmAnd/res/values-eo/phrases.xml
@@ -2313,7 +2313,7 @@
Materialo: plasto
Materialo: sabloŝtono
Materialo: granito
- Materialo: metalo k ligno
+ Materialo: metalo, ligno
Materialo: vitro
Materialo: bronzo
Materialo: tero
@@ -3386,9 +3386,9 @@
Servo
Motorcikla speco
-vendo
- vendo: ne
- vendo, brokanto
+Vendo
+ Vendo: ne
+ Vendo, brokanto
brokanto
luo
Luo: ne
diff --git a/OsmAnd/res/values-eo/strings.xml b/OsmAnd/res/values-eo/strings.xml
index 46b32ef8f1..45822dd372 100644
--- a/OsmAnd/res/values-eo/strings.xml
+++ b/OsmAnd/res/values-eo/strings.xml
@@ -1,4 +1,5 @@
-Supra breto
+
+Supra breto
Rekalkuli kurson
Donacoj
Nombro da ricevontoj
@@ -1093,7 +1094,7 @@ Lon: %2$s
Sonaj notoj
partoj
Nivelkurboj
- Loko por la noto ne estas ankoraŭ precizigita. \"Uzi lokon…\" por asigni noton al la difina loko.
+ Loko por la noto ne estas ankoraŭ precizigita. “Uzi lokon…” por asigni noton al la difina loko.
Aliaj mapoj
Nur vojoj
Nivelkurboj
@@ -1934,7 +1935,7 @@ Proporcia memoro %4$s MB (limito de Android %5$s MB, Dalvik %6$s MB).
Redakti interesejon
Krei interesejon
Ne povas trovi nodon aŭ servo konsistas el kelkaj nodoj, tio ĉi ne estas ankoraŭ subtenata.
- Ĉu forigi {0} (entajpu komenton)?
+ Ĉu forigi {0} (komento)?
Forigi interesejon
Forigis interesejon
aldoni
@@ -2807,7 +2808,7 @@ Indikas lokon: %1$s x %2$s"
Agordi kiel komenc-punkton
Eraro dum enporti mapon
Enportis mapon
- Entajpu nomon de dosiero.
+ Entajpu dosiernomon.
Entajpu longitudon
Entajpu latitudon
Entajpu latitudon kaj longitudon
@@ -2932,4 +2933,8 @@ Indikas lokon: %1$s x %2$s"
GPX-dosieroj
Redakti agojn
Bonvolu sendi ekrankopion de tiu ĉi averto al support@osmand.net
-
\ No newline at end of file
+ Redakti punkton
+ Aldoni punkton
+ Konservi kiel spuron
+ Vi aldonis %1$s punktojn. Entajpu dosiernomon kaj frapetu “konservi”.
+
diff --git a/OsmAnd/res/values-es-rAR/strings.xml b/OsmAnd/res/values-es-rAR/strings.xml
index 38b56383d4..a84fef80b5 100644
--- a/OsmAnd/res/values-es-rAR/strings.xml
+++ b/OsmAnd/res/values-es-rAR/strings.xml
@@ -1636,7 +1636,7 @@ Lon %2$s
Editar PDI
Crear PDI
No se encontró el nodo, o el PDI se compone de varios nodos, lo cuál todavía no está soportado.
- ¿Borrar {0} (añadir comentario)?
+ ¿Borrar {0} (comentario)?
Borrar PDI
PDI borrado
añadir
@@ -2846,7 +2846,7 @@ Lon %2$s
Reemplazar punto de inicio
Error de importación del mapa
Mapa importado
- Ingresar nombre del archivo.
+ Escribe el nombre del archivo.
Rutas a menos de
A menos de
GG°MM′SS″
@@ -2973,5 +2973,5 @@ Lon %2$s
Editar punto
Añadir punto
Guardar como traza
- Añadiste %1$s puntos. Ingresa el nombre del archivo y pulsa en Guardar.
+ Añadiste %1$s puntos. Escribe un nombre de archivo y pulsa en «Guardar».
diff --git a/OsmAnd/res/values-es-rUS/strings.xml b/OsmAnd/res/values-es-rUS/strings.xml
index c03b764cee..da26dc9cb3 100644
--- a/OsmAnd/res/values-es-rUS/strings.xml
+++ b/OsmAnd/res/values-es-rUS/strings.xml
@@ -1636,7 +1636,7 @@ Lon %2$s
Editar PDI
Crear PDI
No se encontró el nodo, o el PDI se compone de varios nodos, lo cuál todavía no está soportado.
- ¿Borrar {0} (añadir comentario)?
+ ¿Borrar {0} (comentario)?
Borrar PDI
PDI borrado
añadir
@@ -2846,7 +2846,7 @@ Lon %2$s
Reemplazar punto de inicio
Error de importación del mapa
Mapa importado
- Ingresar nombre del archivo.
+ Escribe el nombre del archivo.
Rutas a menos de
A menos de
Distancia: más lejos primero
@@ -2973,5 +2973,5 @@ Lon %2$s
Editar punto
Añadir punto
Guardar como traza
- Añadiste %1$s puntos. Ingresa el nombre del archivo y pulsa en Guardar.
+ Añadiste %1$s puntos. Escribe un nombre de archivo y pulsa en «Guardar».
diff --git a/OsmAnd/res/values-es/strings.xml b/OsmAnd/res/values-es/strings.xml
index a27ec39f13..58e688ea55 100644
--- a/OsmAnd/res/values-es/strings.xml
+++ b/OsmAnd/res/values-es/strings.xml
@@ -1,4 +1,5 @@
-
+
+
Configurar pantalla
Carriles
@@ -51,7 +52,7 @@
Voces TTS (sintetizadas, preferido)
Wikipedia (sin conexión)
Definido por el usuario
- Ya existe un archivo con los favoritos exportados previamente. ¿Quiere sustituirlo?
+ Ya existe un archivo con los Favoritos exportados previamente. ¿Quiere sustituirlo?
Ajustes de perfiles específicos
Perfil predefinido
La vista del mapa y los ajustes de navegación se recuerdan por el perfil usado. Define tu perfil predefinido aquí.
@@ -125,7 +126,7 @@
Mostrar más detalle del mapa
Muestra detalles del mapa vectorial (carreteras, etc.) a niveles inferiores de zoom.
Puntos favoritos borrados.
- ¿Borrar %1$d favoritos y %2$d grupos de favoritos?
+ ¿Borrar %1$d Favoritos y %2$d grupos de Favoritos?
Inicio
Amigos
Sitios
@@ -272,7 +273,7 @@
\nNavegación cambiada temporalmente al servicio en línea CloudMade.
No se puede encontrar la carpeta indicada.
Carpeta de almacenamiento de datos
- Todos los datos sin conexión en la versión vieja de OsmAnd son compatibles con la nueva versión, pero los puntos favoritos deben exportarse desde la versión vieja y luego, importarse en la nueva.
+ Todos los datos sin conexión en la versión vieja de OsmAnd son compatibles con la nueva versión, pero los puntos Favoritos deben exportarse desde la versión vieja y luego, importarse en la nueva.
Compilación {0} instalada ({1}).
Descargando compilación…
¿Instalar OsmAnd - {0} de {1} {2} MB ?
@@ -338,9 +339,9 @@
Orientación del mapa
Detalle de la ruta
Favoritos importados
- Archivo GPX de favoritos, no encontrado en {0}
+ Archivo GPX de Favoritos, no encontrado en {0}
Favoritos guardados en {0}
- Sin puntos favoritos que guardar
+ Sin puntos Favoritos que guardar
Importar
No se pudieron cargar los datos GPX
Enviar informe
@@ -465,7 +466,7 @@
No se pudo obtener la lista de regiones desde https://osmand.net.
Nada encontrado. Si no encuentra su región, puede hacerla usted mismo (Ver https://osmand.net).
Punto favorito editado
- Sin puntos favoritos
+ Sin puntos Favoritos
Reemplazar
Mostrar ruta
Seguir navegación
@@ -579,12 +580,12 @@
Aplicar
Añadir
No
- Ingresa nombre de favorito
+ Ingresa nombre del Favorito
Favorito
Punto favorito «{0}» añadido.
- Editar favorito
- Borrar favorito
- ¿Borrar el favorito «%s»?
+ Editar Favorito
+ Borrar Favorito
+ ¿Borrar el Favorito «%s»?
Punto favorito {0} borrado.
Mensaje
Nombre del autor
@@ -593,7 +594,7 @@
Editar PDI
Crear PDI
No se encontró el nodo, o el PDI se compone de varios nodos, lo cuál todavía no está soportado.
- ¿Borrar {0} (añadir comentario)?
+ ¿Borrar {0} (comentario)?
Borrar PDI
Borrar
PDI borrado
@@ -710,7 +711,7 @@
Buscar dirección
Coordenadas
Buscar transporte público
- Una forma de buscar favoritos
+ Una forma de buscar Favoritos
Hacer todas las características del terreno transparentes en el mapa.
Polígonos
Modo de dibujo
@@ -803,14 +804,14 @@
Estilo del mapa
Visor y navegador móvil global de mapas OSM con y sin conexión
"OsmAnd (OSM Automated Navigation Directions, y en español, Guía de Navegación Automatizada de OSM)
-\n
+\n
\nOsmAnd es un software de navegación de código abierto con acceso a una amplia variedad de datos globales de OpenStreetMap (OSM). Todos los datos del mapa (vectores y teselas) pueden ser almacenados en la memoria del teléfono para su uso sin conexión. También ofrece funcionalidades de rutas con y sin conexión, incluyendo indicaciones giro-a-giro por voz.
-\n
+\n
\n Algunas de las funciones fundamentales:
\n - Completa funcionalidad sin conexión (almacena los mapas vectoriales o teselas descargados en la memoria del dispositivo)
\n - Mapas vectoriales compactos disponibles de todo el planeta
\n - Descarga de mapas por país o región directamente desde la aplicación
-\n - Posibilidad de superponer varias capas de mapa, como GPX o rutas de navegación, Puntos de Interés (PDI), favoritos, curvas de nivel, paradas de transporte público, mapas adicionales con transparencia personalizable
+\n - Posibilidad de superponer varias capas de mapa, como GPX o rutas de navegación, Puntos de Interés (PDI), Favoritos, curvas de nivel, paradas de transporte público, mapas adicionales con transparencia personalizable
\n - Búsqueda sin conexión de direcciones y sitios (PDI)
\n - Navegación sin conexión para distancias de rango medio
\n - Modos de automóvil, bicicleta y peatón con opcional:
@@ -818,44 +819,30 @@
\n - Zoom del mapa según la velocidad
\n - Alineación del mapa, según la brújula o dirección del movimiento
\n - Indicación de carriles, visualización de límites de velocidad, voces grabadas y sintetizadas
-\n
+\n
\n Limitaciones de la versión gratuita de OsmAnd:
\n - Limitado número de mapas descargados
\n - Sin acceso a descargas de los PDI de Wikipedia.
-\n
+\n
\n Los PDI de OsmAnd están siendo desarrollados activamente. Nuestro proyecto y su continuo progreso, se basa en contribuciones económicas para desarrollar y probar nuevas funcionalidades. Por favor, considere comprar OsmAnd+, financiar nuevas características o hacer una donación general en https://osmand.net."
Visor y navegador móvil global de mapas OSM con y sin conexión
"OsmAnd+ (OSM Automated Navigation Directions, y en español, Guía de Navegación Automatizada de OSM)
\n
-\n
\nOsmAnd+ es un software de navegación de código abierto con acceso a una amplia variedad de datos globales de OpenStreetMap (OSM). Todos los datos del mapa (vectores y teselas), pueden ser almacenados en la memoria del teléfono para su uso sin conexión. Ofrece funcionalidades de rutas con y sin conexión, incluyendo guía de giro-a-giro por voz.
\n
-\n
\n OsmAnd+ es la versión de pago de la aplicación, comprándola das soporte al proyecto, financias el desarrollo de nuevas funciones, y recibes las últimas actualizaciones.
\n
-\n
\nAlgunas de las características fundamentales:
-\n
\n - Completa funcionalidad sin conexión (guarda los mapas vectoriales o teselas descargados en el almacenamiento del dispositivo)
-\n
\n - Mapas mundiales vectoriales compactos disponibles
-\n
\n - Descarga ilimitada de mapas de países o regiones directamente desde la aplicación
-\n
-\n - Posibilidad de superponer varias capas de mapa, como GPX o rutas de navegación, Puntos de Interés, favoritos, curvas de nivel, paradas de transporte público, mapas adicionales con transparencia personalizable
-\n
+\n - Posibilidad de superponer varias capas de mapa, como GPX o rutas de navegación, Puntos de Interés, Favoritos, curvas de nivel, paradas de transporte público, mapas adicionales con transparencia personalizable
\n - Búsqueda sin conexión de direcciones y sitios (PDI)
-\n
\n - Rutas sin conexión para distancias de rango medio
-\n
\n - Modos de automóvil, bicicleta y peatón con opcional:
-\n
\n - Cambio automático de vista día/noche
-\n
\n - Zoom del mapa según la velocidad
-\n
\n - Alineación del mapa, según brújula o dirección del movimiento
-\n
\n - Indicación de carriles, mostrar límites de velocidad, voces grabadas y sintetizadas"
Evitar autopistas
Ajusta la ubicación a las carreteras durante la navegación.
@@ -999,7 +986,7 @@
Tema
Opciones de accesibilidad
Seleccionar dirección
- Seleccionar favorito
+ Seleccionar Favorito
Cambios OSM
Más acciones
Reduce el ruido en las lecturas de la brújula pero añade inercia.
@@ -1123,7 +1110,7 @@
Náutica
Perfiles de aplicación
Renderizado del mapa
- Elige los perfiles de uso visibles en la aplicación.
+ Elige los perfiles visibles en la aplicación.
Preferencias de navegación
Preferencias de navegación
Indica la velocidad en el habla sintetizada (TTS).
@@ -1341,7 +1328,7 @@
Punto de ruta
Marque los destinos
Nombres de PDI superpuestos
- Guardar como grupo de favoritos
+ Guardar como grupo de Favoritos
Muestra los botones de zoom durante la navegación.
Mostrar botones de zoom
Destino
@@ -1454,9 +1441,9 @@
Define el tamaño del texto en el mapa.
Tamaño del texto
Nombre del punto favorito duplicado
- Nombre del favorito en uso, cambiado a «%1$s» para evitar duplicación.
+ Nombre del Favorito en uso, cambiado a «%1$s» para evitar duplicación.
Imprimir ruta
- Nombre del punto favorito cambiado a «%1$s», para facilitar el guardado de la cadena con emoticonos a un archivo.
+ Nombre del Favorito cambiado a «%1$s», para facilitar el guardado de la cadena con emoticonos a un archivo.
Tolerancia del límite de velocidad
Seleccione el margen de tolerancia sobre el límite de velocidad, con el cual recibirá un aviso de voz.
@@ -1667,7 +1654,7 @@
Memoria interna
Almacenamiento del mapa
Copiar
- ¿Copiar los archivos de datos al nuevo destino?
+ ¿Copiar los archivos de datos de OsmAnd al nuevo destino?
Números de casa
Evita cruzar las fronteras nacionales
Límite de altura
@@ -1816,7 +1803,7 @@
Navegación
Ejecutar en segundo plano
Información del favorito
- Añadir favorito
+ Añadir Favorito
Caminos
Añadir nuevo
Elegir categoría
@@ -1834,7 +1821,7 @@
Luego
Versión completa
Descargas
- Utiliza un nombre de categoría que no exista ya.
+ Utilizar un nombre de categoría no existente.
Nombre de categoría
Añadir nueva categoría
El mapa de sólo carreteras es innecesario, ya que tiene el mapa estándar (completo). ¿Descargar de todos modos?
@@ -2038,7 +2025,7 @@
Clasificación de editores OSM
Suscripción de OsmAnd Live
Suscribirse
- Para proporcionarte información sobre las contribuciones.
+ Necesario para proporcionar información sobre las contribuciones.
Nombre público
Ocultar mi nombre en los informes
Región soportada
@@ -2146,7 +2133,7 @@
Limpiar todas las teselas
Ruta de bajo consumo (corta)
Usa la ruta de menor consumo en combustible (usualmente la más corta).
- ¿Reemplazar el favorito «%1$s»?
+ ¿Reemplazar el Favorito «%1$s»?
Objetos en superficie
Cambiar
Empezar
@@ -2163,7 +2150,7 @@
Almacenamiento de datos de OsmAnd (para mapas, archivos GPX, etc.): %1$s.
Conceder permiso
Permitir el acceso a la ubicación
- Obtenga direcciones y descubre lugares nuevos sin una conexión a Internet
+ Obtenga direcciones y descubra lugares nuevos, sin una conexión a Internet
Encontrar mi ubicación
Omite la búsqueda de nuevas versiones o descuentos relacionados con OsmAnd.
Ocultar nuevas versiones
@@ -2174,7 +2161,7 @@
Obtener
Obtener por %1$s
Obtener por %1$s al mes
- Obtén descargas ilimitada de mapas y más actualizaciones de mapas por mes: Cada semana, día u hora.
+ Obtén descargas ilimitada de mapas y más actualizaciones de mapas por mes: cada semana, día u hora.
Descargas ilimitadas de mapas, actualizaciones y complemento de Wikipedia.
Millas/metros
Australia
@@ -2265,11 +2252,11 @@
Añadir lugar de estacionamiento
Añadir acción
Editar acción
- Añadir favorito
+ Añadir Favorito
Añadir acción
Borrar acción
¿Borrar la acción «%s»?
- Mostrar diálogo de favoritos
+ Mostrar diálogo de Favoritos
Nombre predefinido
Este botón de acción, añade un marcador en el centro de la pantalla.
Este botón de acción, añade un punto de ruta GPX en el centro de la pantalla.
@@ -2285,11 +2272,11 @@
Lugar
El nombre de la acción rápida ya existe, cambiado a «%1$s» para evitar duplicados.
Nombre de la acción rápida duplicado
- Este botón de acción, muestra u oculta los favoritos en el mapa.
+ Este botón de acción, muestra u oculta los Favoritos en el mapa.
Este botón de acción, muestra u oculta los PDI en el mapa.
- Alternar vista de favoritos
- Mostrar favoritos
- Ocultar favoritos
+ Alternar vista de Favoritos
+ Mostrar Favoritos
+ Ocultar Favoritos
Alternar vista de PDI
Mostrar %1$s
Ocultar %1$s
@@ -2300,7 +2287,7 @@
Dejar el campo vacío para usar la dirección o el nombre del lugar.
Este mensaje se incluye en el campo del comentario.
Mensaje
- Selecciona la categoría en la que deseas guardar el favorito.
+ Selecciona la categoría en la que deseas guardar el Favorito.
Selecciona una categoría opcional.
Lista de PDI
Añade una o más categorías de PDI a mostrar en el mapa.
@@ -2365,8 +2352,8 @@
Tiempo moviéndose
Duración
Máx
- Salida
- Llegada
+ Hora de inicio
+ Hora de fin
Color
Empinado
Poco empinado
@@ -2374,7 +2361,7 @@
Rutas más cortas
Equilibrado
Preferir caminos secundarios
- Terreno preferido: Llano o empinado.
+ Terreno preferido: llano o empinado.
Bereber (amazig)
No enviar estadísticas de uso anónimas de la aplicación
OsmAnd recopila información acerca de las secciones que abres en la aplicación. No recopilamos datos de ubicación, ingresos en la aplicación o datos relacionados con las áreas que visualizas, buscas o descargas.
@@ -2565,15 +2552,15 @@
Ocultar notas de OSM
Este botón de acción, muestra u oculta las notas de OSM en el mapa.
Ordenados por distancia
- Buscar favoritos
+ Buscar Favoritos
Ocultar desde el nivel de zoom
Reiniciar búsqueda
Aumentar radio de búsqueda
Nada encontrado
Modifica la consulta de búsqueda o aumenta el radio de búsqueda.
- Descargar el mapa de «Superposición de sombreado» para esta región.
- Instala el complemento «Curvas de nivel» para mostrarlas en el mapa
- El destino se ubica en un área de acceso privado. ¿Acceder a los caminos privados para este viaje?
+ Para ver el sombreado del relieve en el mapa, debes descargar la superposición del sombreado de esta región.
+ Para ver el sombreado del relieve en el mapa, debes comprar e instalar el complemento «Curvas de nivel»
+ El destino se ubica en un área de acceso privado. ¿Permitir el acceso a los caminos privados para este viaje?
Control de Mapillary
Fotos a nivel de calle en línea para todos. Descubre lugares, colabora, captura el mundo.
Mapillary
@@ -2590,7 +2577,7 @@
Imagen de Mapillary
Permisos
OsmAnd no puede importar el archivo. Comprueba si OsmAnd tiene permiso para leer archivos desde esta ubicación.
- Distancia corregida
+ Distancia recorrida
Guardar las trazas grabadas en carpetas mensuales
Guarda las trazas grabadas en subcarpetas por mes de grabación (como 2018-01).
Restablecer
@@ -2656,7 +2643,7 @@
Añadir archivos GPX
Importa archivos GPX o graba pistas.
Añadir favoritos
- Importa favoritos, o añádelos marcando puntos en el mapa.
+ Importa Favoritos, o añádelos marcando puntos en el mapa.
Importar archivo GPX
El archivo «%1$s» no contiene puntos de ruta, ¿Quieres importarlo como una traza?
Mover punto
@@ -2733,9 +2720,9 @@
Modo de pantalla completa
Descartar
- puede importarse como favorito, o como archivo GPX.
+ puede importarse como Favorito, o como un archivo GPX.
Importar como archivo GPX
- Importar como favorito
+ Importar como Favorito
Importar archivo
Número de dígitos decimales
Derecha
@@ -2748,22 +2735,22 @@
Renombrar marcador
Apariencia en el mapa
Selecciona una pista para añadir sus puntos de referencia a los marcadores.
- Selecciona una categoría de favoritos para añadir a los marcadores.
+ Selecciona una categoría de Favoritos para añadir a los marcadores.
Puntos de referencia de la traza
Categoría de favoritos
Añadir un grupo
- Importa grupos desde favoritos o puntos de ruta GPX.
+ Importar grupos desde Favoritos o puntos de ruta GPX.
¡Crea marcadores del mapa!
Pulsa en «Sitios» y luego pulsa la bandera del marcador.
Importar grupos
- Importa grupos de favoritos o puntos de ruta como marcadores.
+ Importar grupos de Favoritos o puntos de ruta como marcadores.
Los marcadores descartados aparecerán en esta pantalla.
Dos
Uno
Muestra líneas direccionales desde su ubicación hasta los marcadores activos.
Muestra una o dos flechas indicando la dirección a los marcadores activos.
Elige cómo mostrar la distancia a los marcadores activos.
- Elige el número de marcadores activos a mostrar.
+ Elige cuantos indicadores de dirección mostrar.
Más
Búsqueda de trazas con puntos de referencia
• Nuevo: Soporte para guías de viaje globales sin conexión a Internet Las ubicaciones de referencia están vinculadas al mapa. Datos iniciales de Wikivoyage.
@@ -2840,7 +2827,7 @@
Reemplazar punto de inicio
Rutas a menos de
A menos de
- Ingresar nombre del archivo.
+ Escribe el nombre del archivo.
Error de importación del mapa
Mapa importado
Total
@@ -2851,8 +2838,8 @@
Añadir todos los puntos de ruta de la traza o seleccionar categorías separadas.
Grupo borrado
Deportes de aguas bravas
- Distancia: Más lejos primero
- Distancia: Más cerca primero
+ Distancia: más lejos primero
+ Distancia: más cerca primero
Ingresar longitud
Ingresar latitud
Ingresar latitud y longitud
@@ -2874,7 +2861,7 @@
Guías turísticas
Wikiviajes
Artículo borrado
- Buscar: País, ciudad, provincia
+ Buscar: país, ciudad, provincia
Leer
Artículos favoritos
Explorar
@@ -2895,8 +2882,8 @@
Elegir el elemento adecuado:
Las guías de los lugares más interesantes del planeta, dentro de OsmAnd y sin conexión a Internet.
Guías de viaje
- Actualizaciones del mapa: Cada mes
- Actualizaciones del mapa: Cada hora
+ Actualizaciones del mapa: cada mes
+ Actualizaciones del mapa: cada hora
Compras en la aplicación
Único pago
Una vez comprado, estará permanentemente disponible para ti.
@@ -2962,4 +2949,10 @@
Modificación del estilo estándar para aumentar el contraste de los caminos peatonales y ciclistas. Utiliza los colores heredados de Mapnik.
Archivos GPX
Consigue OsmAnd Live para desbloquear todas las funciones: Actualizaciones diarias de mapas con descargas ilimitadas, todos los complemento gratuitos y de pago, Wikipedia, Wikivoyage y mucho más.
-
\ No newline at end of file
+ Editar punto
+ Añadir punto
+ Guardar como traza
+ Has añadido %1$s puntos. Escribe un nombre de archivo y pulsa en «Guardar».
+ Por favor, envíe la captura de pantalla de esta notificación a support@osmand.net
+ Editar acciones
+
diff --git a/OsmAnd/res/values-fr/strings.xml b/OsmAnd/res/values-fr/strings.xml
index 9f86b1b93a..b99c04e25b 100644
--- a/OsmAnd/res/values-fr/strings.xml
+++ b/OsmAnd/res/values-fr/strings.xml
@@ -645,7 +645,7 @@
Modifier le point d\'intérêt
Créer un point d\'intérêt
L\'objet est introuvable ou est composé de plusieurs nœuds, ce qui n\'est pas possible actuellement.
- Voulez-vous vraiment supprimer {0} (inscrire commentaire) ?
+ Supprimer {0} (commentaire) ?
Supprimer le point d\'intérêt
Supprimer
Point d\'intérêt supprimé
@@ -1017,7 +1017,7 @@ Mémoire proportionnelle %4$s Mo (limite Android %5$s Mo, Dalvik %6$s Mo).parties
- La position associée à la note n\'est pas encore définie. Utilisez le menu \'Utiliser ce point\' pour indiquer la position de cette note.
+ La position associée à la note n\'est pas encore définie. Utilisez le menu \"Utiliser la position...\" pour définir une position pour cette note.
Notes audio
Ce greffon permet de prendre des notes (photos, audios ou vidéos) sur un itinéraire soit en utilisant un bouton affiché sur la carte, soit directement depuis le menu contextuel de n\'importe quel point sur la carte.
diff --git a/OsmAnd/res/values-zh-rTW/strings.xml b/OsmAnd/res/values-zh-rTW/strings.xml
index b93839a715..ce3e41819b 100644
--- a/OsmAnd/res/values-zh-rTW/strings.xml
+++ b/OsmAnd/res/values-zh-rTW/strings.xml
@@ -909,7 +909,7 @@
編輯 POI
建立 POI
找不到節點或便利設施組成的一些節點,哪些尚不支援。
- 刪除 {0} (輸入評論)?
+ 刪除 {0} (評論)?
刪除 POI
POI 已刪除
新增
@@ -1091,7 +1091,7 @@
這個外掛元件同時提供了等高線上層和(地貌)地形陰影層,顯示在 OsmAnd 標準地圖的頂部。此功能會讓運動選手、健行旅遊者、背包客,和對起伏的地理構成感興趣的任何人。
\n
\n全球圖資(在北緯 70 ° 至南緯 70 ° 之間)的量測基礎在於 SRTM (Shuttle Radar Topography Mission)和 ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer),安裝在美國太空總署地球觀測系統的旗艦衛星 Terra 上的遙測儀器,ASTER 是美國太空總署、日本經濟產業省(METI)、日本太空系統 (J-spacesystems)之間的通力合作產物。
- 以位置去關聯的附註尚未下定義。\"使用位置 …\",把註解分配給指定的位置。
+ 尚未定義以位置去關聯的註解。「使用位置 …」,把註解分配給指定的位置。
這個外掛元件同時提供了等高線上層和(地貌)地形陰影層,顯示在 OsmAnd 標準地圖的頂部。此功能會讓運動選手、健行旅遊者、背包客,和對起伏的地理構成感興趣的任何人。(請注意,等高線和地貌資料是各自獨立的,在外掛元件啟用後可以追加下載。)
\n
\n全球圖資(在 70 ° 以北和 70 ° 以南之間)的量測基礎在於 SRTM(Shuttle Radar Topography Mission)和 ASTER(Advanced Spaceborne Thermal Emission and Reflection Radiometer),安裝在美國太空總署地球觀測系統的旗艦衛星 Terra 上的遙測儀器,ASTER 是美國太空總署、日本經濟產業省(METI)、日本太空系統(J-spacesystems)之間的通力合作的產物。
@@ -3120,5 +3120,5 @@
編輯標點
新增標點
儲存為軌跡
- 您已新增了 %1$s 標點。輸入檔案名稱和按下儲存。
+ 您已新增了 %1$s 標點。輸入檔案名稱並輕點「儲存」。
diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml
index 557b7b3a21..c9da15876b 100644
--- a/OsmAnd/res/values/strings.xml
+++ b/OsmAnd/res/values/strings.xml
@@ -13,7 +13,7 @@
Edit point
Add point
Save as track
- You added %1$s points. Enter the name of the file and click save.
+ You added %1$s points. Type a filename and tap \"Save\".
Please send screenshoot of this notification to support@osmand.net
Edit actions
Get OsmAnd Live to unlock all features: Daily map updates with unlimited downloads, all paid and free plugins, Wikipedia, Wikivoyage and much more.
@@ -121,7 +121,7 @@
Optional point name
Nearby routes within
Within
- Enter the filename.
+ Type the filename.
Map import error
Map imported
Make this the start point
@@ -1678,7 +1678,7 @@
Recording
Audio/video notes
Distance measurement
- Location to associate with the note is not defined yet. \"Use location …\" to assign a note to the location specified.
+ Location to associate with the note is not defined yet. \"Use location…\" to assign a note to the location specified.
Audio notes
parts
Contour lines
@@ -2241,7 +2241,7 @@
Origin:
Search nearby
Route saved as \'%1$s\'.
- File name:
+ Filename:
File with same name already exists.
Upload GPX files to the OSM community, improving the maps.
%1$d of %2$d item(s) uploaded.
@@ -2657,7 +2657,7 @@
Edit POI
Create POI
Node cannot be found, or amenity consists of several nodes, which is not yet supported.
- Delete {0} (enter comment)?
+ Delete {0} (comment)?
Delete POI
POI deleted
add