diff --git a/client/strings/es.json b/client/strings/es.json
index 5a6c6532..a59768a7 100644
--- a/client/strings/es.json
+++ b/client/strings/es.json
@@ -77,9 +77,9 @@
"ButtonRemove": "Quitar",
"ButtonRemoveAll": "Quitar todo",
"ButtonRemoveAllLibraryItems": "Quitar todos los elementos de la biblioteca",
- "ButtonRemoveFromContinueListening": "Remover de Continuar Escuchando",
- "ButtonRemoveFromContinueReading": "Remover de Continuar Leyendo",
- "ButtonRemoveSeriesFromContinueSeries": "Remover Serie de Continuar Series",
+ "ButtonRemoveFromContinueListening": "Quitar de Continuar escuchando",
+ "ButtonRemoveFromContinueReading": "Quitar de Continuar leyendo",
+ "ButtonRemoveSeriesFromContinueSeries": "Quitar serie de Continuar serie",
"ButtonReset": "Restablecer",
"ButtonResetToDefault": "Restaurar valores predeterminados",
"ButtonRestore": "Restaurar",
@@ -227,6 +227,7 @@
"LabelAddedDate": "{0} Añadido",
"LabelAdminUsersOnly": "Solamente usuarios administradores",
"LabelAll": "Todos",
+ "LabelAllEpisodesDownloaded": "Todos los episodios descargados",
"LabelAllUsers": "Todos los usuarios",
"LabelAllUsersExcludingGuests": "Todos los usuarios excepto invitados",
"LabelAllUsersIncludingGuests": "Todos los usuarios e invitados",
@@ -436,8 +437,8 @@
"LabelMinute": "Minuto",
"LabelMinutes": "Minutos",
"LabelMissing": "Falta",
- "LabelMissingEbook": "No tiene ebook",
- "LabelMissingSupplementaryEbook": "No tiene ebook suplementario",
+ "LabelMissingEbook": "No tiene libro electrónico",
+ "LabelMissingSupplementaryEbook": "No tiene libro electrónico suplementario",
"LabelMobileRedirectURIs": "URIs de redirección a móviles permitidos",
"LabelMobileRedirectURIsDescription": "Esta es una lista blanca de URI de redireccionamiento válidos para aplicaciones móviles. El predeterminado es audiobookshelf
, que puede eliminar o complementar con URI adicionales para la integración de aplicaciones de terceros. Usando un asterisco ( *
) como única entrada que permite cualquier URI.",
"LabelMore": "Más",
@@ -497,7 +498,7 @@
"LabelPort": "Puerto",
"LabelPrefixesToIgnore": "Prefijos para Ignorar (no distingue entre mayúsculas y minúsculas.)",
"LabelPreventIndexing": "Evite que los directorios de pódcast de iTunes y Google indicen su suministro",
- "LabelPrimaryEbook": "Ebook principal",
+ "LabelPrimaryEbook": "Libro electrónico principal",
"LabelProgress": "Progreso",
"LabelProvider": "Proveedor",
"LabelProviderAuthorizationValue": "Valor del encabezado de autorización",
@@ -720,13 +721,13 @@
"MessageCheckingCron": "Revisando cron...",
"MessageConfirmCloseFeed": "¿Confirma que quiere cerrar este suministro?",
"MessageConfirmDeleteBackup": "¿Está seguro de que desea eliminar el respaldo {0}?",
- "MessageConfirmDeleteDevice": "¿Estás seguro de que deseas eliminar el lector electrónico \"{0}\"?",
+ "MessageConfirmDeleteDevice": "¿Confirma que quiere eliminar el lector electrónico «{0}»?",
"MessageConfirmDeleteFile": "Esto eliminará el archivo de su sistema de archivos. ¿Está seguro?",
- "MessageConfirmDeleteLibrary": "¿Está seguro de que desea eliminar permanentemente la biblioteca \"{0}\"?",
+ "MessageConfirmDeleteLibrary": "¿Confirma que quiere eliminar permanentemente la biblioteca «{0}»?",
"MessageConfirmDeleteLibraryItem": "Esto eliminará el elemento de la biblioteca de la base de datos y del sistema de archivos. ¿Confirma que quiere hacerlo?",
"MessageConfirmDeleteLibraryItems": "Esto eliminará {0} elementos de la biblioteca de la base de datos y del sistema de archivos. ¿Confirma que quiere hacerlo?",
- "MessageConfirmDeleteMetadataProvider": "¿Estás seguro de que deseas eliminar el proveedor de metadatos personalizado \"{0}\"?",
- "MessageConfirmDeleteNotification": "¿Estás seguro de que deseas eliminar esta notificación?",
+ "MessageConfirmDeleteMetadataProvider": "¿Confirma que quiere eliminar el proveedor de metadatos personalizado «{0}»?",
+ "MessageConfirmDeleteNotification": "¿Confirma que quiere eliminar esta notificación?",
"MessageConfirmDeleteSession": "¿Está seguro de que desea eliminar esta sesión?",
"MessageConfirmEmbedMetadataInAudioFiles": "¿Está seguro de que desea incrustar metadatos en {0} archivos de audio?",
"MessageConfirmForceReScan": "¿Está seguro de que desea forzar un re-escaneo?",
@@ -741,27 +742,27 @@
"MessageConfirmPurgeItemsCache": "Purgar la caché de los elementos eliminará todo el directorio /metadata/cache/items
.
¿Estás seguro?",
"MessageConfirmQuickEmbed": "¡Advertencia! La integración rápida no realiza copias de seguridad a ninguno de tus archivos de audio. Asegúrate de haber realizado una copia de los mismos previamente.
¿Deseas continuar?",
"MessageConfirmQuickMatchEpisodes": "El reconocimiento rápido de extensiones sobrescribirá los detalles si se encuentra una coincidencia. Se actualizarán las extensiones no reconocidas. ¿Está seguro?",
- "MessageConfirmReScanLibraryItems": "¿Estás seguro de querer re escanear {0} elemento(s)?",
- "MessageConfirmRemoveAllChapters": "¿Está seguro de que desea remover todos los capitulos?",
- "MessageConfirmRemoveAuthor": "¿Está seguro de que desea remover el autor \"{0}\"?",
- "MessageConfirmRemoveCollection": "¿Está seguro de que desea remover la colección \"{0}\"?",
- "MessageConfirmRemoveEpisode": "¿Está seguro de que desea remover el episodio \"{0}\"?",
- "MessageConfirmRemoveEpisodes": "¿Está seguro de que desea remover {0} episodios?",
- "MessageConfirmRemoveListeningSessions": "¿Está seguro que desea remover {0} sesiones de escuchar?",
+ "MessageConfirmReScanLibraryItems": "¿Confirma que quiere volver a analizar {0} elementos?",
+ "MessageConfirmRemoveAllChapters": "¿Confirma que quiere quitar todos los capítulos?",
+ "MessageConfirmRemoveAuthor": "¿Confirma que quiere quitar el autor «{0}»?",
+ "MessageConfirmRemoveCollection": "¿Confirma que quiere quitar la colección «{0}»?",
+ "MessageConfirmRemoveEpisode": "¿Confirma que quiere quitar el episodio «{0}»?",
+ "MessageConfirmRemoveEpisodes": "¿Confirma que quiere quitar {0} episodios?",
+ "MessageConfirmRemoveListeningSessions": "¿Confirma que quiere quitar {0} sesiones de escucha?",
"MessageConfirmRemoveMetadataFiles": "¿Está seguro de que desea eliminar todos los archivos de metadatos.{0} en las carpetas de elementos de su biblioteca?",
- "MessageConfirmRemoveNarrator": "¿Está seguro de que desea remover el narrador \"{0}\"?",
- "MessageConfirmRemovePlaylist": "¿Está seguro de que desea remover la lista de reproducción \"{0}\"?",
+ "MessageConfirmRemoveNarrator": "¿Confirma que quiere quitar el narrador «{0}»?",
+ "MessageConfirmRemovePlaylist": "¿Confirma que quiere quitar la lista de reproducción «{0}»?",
"MessageConfirmRenameGenre": "¿Está seguro de que desea renombrar el genero \"{0}\" a \"{1}\" de todos los elementos?",
"MessageConfirmRenameGenreMergeNote": "Nota: Este género ya existe, por lo que se fusionarán.",
"MessageConfirmRenameGenreWarning": "Advertencia! Un genero similar ya existe \"{0}\".",
"MessageConfirmRenameTag": "¿Está seguro de que desea renombrar la etiqueta \"{0}\" a \"{1}\" de todos los elementos?",
"MessageConfirmRenameTagMergeNote": "Nota: Esta etiqueta ya existe, por lo que se fusionarán.",
"MessageConfirmRenameTagWarning": "Advertencia! Una etiqueta similar ya existe \"{0}\".",
- "MessageConfirmResetProgress": "¿Estás seguro de que quieres reiniciar tu progreso?",
- "MessageConfirmSendEbookToDevice": "¿Está seguro de que enviar {0} ebook(s) \"{1}\" al dispositivo \"{2}\"?",
+ "MessageConfirmResetProgress": "¿Confirma que quiere restablecer su progreso?",
+ "MessageConfirmSendEbookToDevice": "¿Confirma que quiere enviar el libro electrónico {0} «{1}» al dispositivo «{2}»?",
"MessageConfirmUnlinkOpenId": "¿Estás seguro de que deseas desvincular este usuario de OpenID?",
- "MessageDaysListenedInTheLastYear": "{0} dies escoltats en l'últim any",
- "MessageDownloadingEpisode": "Descargando Capitulo",
+ "MessageDaysListenedInTheLastYear": "{0} días escuchados el año pasado",
+ "MessageDownloadingEpisode": "Descargando episodio",
"MessageDragFilesIntoTrackOrder": "Arrastra los archivos al orden correcto de las pistas",
"MessageEmbedFailed": "¡Error al insertar!",
"MessageEmbedFinished": "Incrustación Terminada!",
@@ -832,10 +833,10 @@
"MessageQuickEmbedQueue": "En cola para inserción rápida ({0} en cola)",
"MessageQuickMatchAllEpisodes": "Combina rápidamente todos los episodios",
"MessageQuickMatchDescription": "Rellenar detalles de elementos vacíos y portada con los primeros resultados de '{0}'. No sobrescribe los detalles a menos que la opción \"Preferir Metadatos Encontrados\" del servidor esté habilitada.",
- "MessageRemoveChapter": "Remover capítulos",
- "MessageRemoveEpisodes": "Remover {0} episodio(s)",
- "MessageRemoveFromPlayerQueue": "Remover la cola de reproducción",
- "MessageRemoveUserWarning": "¿Está seguro de que desea eliminar el usuario \"{0}\"?",
+ "MessageRemoveChapter": "Quitar capítulo",
+ "MessageRemoveEpisodes": "Quitar {0} episodio(s)",
+ "MessageRemoveFromPlayerQueue": "Quitar de la cola de reproducción",
+ "MessageRemoveUserWarning": "¿Confirma que quiere eliminar permanentemente el usuario «{0}»?",
"MessageReportBugsAndContribute": "Reporte erres, solicite funciones y contribuya en",
"MessageResetChaptersConfirm": "¿Está seguro de que desea deshacer los cambios y revertir los capítulos a su estado original?",
"MessageRestoreBackupConfirm": "¿Está seguro de que desea para restaurar del respaldo creado en",
@@ -851,7 +852,7 @@
"MessageStartPlaybackAtTime": "Iniciar reproducción para \"{0}\" en {1}?",
"MessageTaskAudioFileNotWritable": "El archivo de audio \"{0}\" no se puede grabar",
"MessageTaskCanceledByUser": "Tarea cancelada por el usuario",
- "MessageTaskDownloadingEpisodeDescription": "Descargando el episodio \"{0}\"",
+ "MessageTaskDownloadingEpisodeDescription": "Descargando el episodio «{0}»",
"MessageTaskEmbeddingMetadata": "Inserción de metadatos",
"MessageTaskEmbeddingMetadataDescription": "Inserción de metadatos en el audiolibro \"{0}\"",
"MessageTaskEncodingM4b": "Codificación M4B",
@@ -868,9 +869,9 @@
"MessageTaskOpmlImport": "Importar OPML",
"MessageTaskOpmlImportDescription": "Creando pódcast a partir de {0} suministros RSS",
"MessageTaskOpmlImportFeed": "Feed de importación OPML",
- "MessageTaskOpmlImportFeedDescription": "Importando el feed RSS \"{0}\"",
+ "MessageTaskOpmlImportFeedDescription": "Importando el suministro RSS «{0}»",
"MessageTaskOpmlImportFeedFailed": "No se puede obtener el podcast",
- "MessageTaskOpmlImportFeedPodcastDescription": "Creando podcast \"{0}\"",
+ "MessageTaskOpmlImportFeedPodcastDescription": "Creando pódcast «{0}»",
"MessageTaskOpmlImportFeedPodcastExists": "Podcast ya existe en la ruta",
"MessageTaskOpmlImportFeedPodcastFailed": "Error al crear podcast",
"MessageTaskOpmlImportFinished": "Añadido {0} podcasts",
@@ -948,6 +949,7 @@
"ToastBackupRestoreFailed": "Error al restaurar el respaldo",
"ToastBackupUploadFailed": "Error al subir el respaldo",
"ToastBackupUploadSuccess": "Respaldo cargado",
+ "ToastBatchApplyDetailsToItemsSuccess": "Detalles aplicados a los elementos",
"ToastBatchDeleteFailed": "Error al eliminar por lotes",
"ToastBatchDeleteSuccess": "Borrado por lotes correcto",
"ToastBatchQuickMatchFailed": "¡Error en la sincronización rápida por lotes!",
@@ -964,7 +966,7 @@
"ToastChaptersRemoved": "Capítulos eliminados",
"ToastChaptersUpdated": "Capítulos actualizados",
"ToastCollectionItemsAddFailed": "Artículo(s) añadido(s) a la colección fallido(s)",
- "ToastCollectionRemoveSuccess": "Colección removida",
+ "ToastCollectionRemoveSuccess": "Colección quitada",
"ToastCollectionUpdateSuccess": "Colección actualizada",
"ToastCoverUpdateFailed": "Error al actualizar la cubierta",
"ToastDateTimeInvalidOrIncomplete": "Fecha y hora inválidas o incompletas",
@@ -998,12 +1000,12 @@
"ToastItemMarkedAsNotFinishedSuccess": "Elemento marcado como No Terminado",
"ToastItemUpdateSuccess": "Elemento actualizado",
"ToastLibraryCreateFailed": "Error al crear biblioteca",
- "ToastLibraryCreateSuccess": "Biblioteca \"{0}\" creada",
+ "ToastLibraryCreateSuccess": "Se creó la biblioteca «{0}»",
"ToastLibraryDeleteFailed": "Error al eliminar biblioteca",
"ToastLibraryDeleteSuccess": "Biblioteca eliminada",
"ToastLibraryScanFailedToStart": "Error al iniciar el escaneo",
"ToastLibraryScanStarted": "Se inició el escaneo de la biblioteca",
- "ToastLibraryUpdateSuccess": "Biblioteca \"{0}\" actualizada",
+ "ToastLibraryUpdateSuccess": "Se actualizó la biblioteca «{0}»",
"ToastMatchAllAuthorsFailed": "No se pudo encontrar a todos los autores",
"ToastMetadataFilesRemovedError": "Error al eliminar metadatos de {0} archivo(s)",
"ToastMetadataFilesRemovedNoneFound": "No hay metadatos.{0} archivo(s) encontrado(s) en la biblioteca",
@@ -1013,7 +1015,7 @@
"ToastNameEmailRequired": "Son obligatorios el nombre y el correo electrónico",
"ToastNameRequired": "Nombre obligatorio",
"ToastNewEpisodesFound": "{0} nuevo(s) episodio(s) encontrado(s)",
- "ToastNewUserCreatedFailed": "Error al crear la cuenta: \"{0}\"",
+ "ToastNewUserCreatedFailed": "No se pudo crear la cuenta: «{0}»",
"ToastNewUserCreatedSuccess": "Nueva cuenta creada",
"ToastNewUserLibraryError": "Debes seleccionar al menos una biblioteca",
"ToastNewUserPasswordError": "Debes tener una contraseña, solo el usuario root puede estar sin contraseña",
@@ -1057,9 +1059,9 @@
"ToastRescanUpToDate": "Reescaneado del artículo completo, estaba actualizado",
"ToastRescanUpdated": "Reescaneado completado, el artículo ha sido actualizado",
"ToastScanFailed": "No se pudo escanear el elemento de la biblioteca",
- "ToastSelectAtLeastOneUser": "Selecciona al menos un usuario",
- "ToastSendEbookToDeviceFailed": "Error al enviar el ebook al dispositivo",
- "ToastSendEbookToDeviceSuccess": "Ebook enviado al dispositivo \"{0}\"",
+ "ToastSelectAtLeastOneUser": "Seleccione al menos un usuario",
+ "ToastSendEbookToDeviceFailed": "No se pudo enviar el libro electrónico al dispositivo",
+ "ToastSendEbookToDeviceSuccess": "Libro electrónico enviado al dispositivo «{0}»",
"ToastSeriesSubmitFailedSameName": "No se puede añadir dos series con el mismo nombre",
"ToastSeriesUpdateFailed": "Error al actualizar la serie",
"ToastSeriesUpdateSuccess": "Serie actualizada",