Merge translation strings

This commit is contained in:
advplyr 2024-06-04 16:28:35 -05:00
commit 41477fdac1
6 changed files with 225 additions and 180 deletions

View file

@ -1,17 +1,17 @@
name: 🐞 ABS App Bug Report
description: File a bug/issue and help us improve the Audiobookshelf mobile apps.
title: '[Bug]: '
labels: ['bug', 'triage']
title: "[Bug]: "
labels: ["bug", "triage"]
body:
- type: markdown
attributes:
value: '## App Bug Description'
value: "## App Bug Description"
- type: markdown
attributes:
value: 'Thank you for filing a bug report! 🐛'
value: "Thank you for filing a bug report! 🐛"
- type: markdown
attributes:
value: 'Join the [discord server](https://discord.gg/HQgCbd6E75) for questions or if you are not sure about a bug.'
value: "Join the [discord server](https://discord.gg/HQgCbd6E75) for questions or if you are not sure about a bug."
- type: textarea
id: what-happened
attributes:
@ -25,7 +25,7 @@ body:
attributes:
label: Steps to Reproduce the Issue
description: Please help us understand how we can reliably reproduce the issue.
placeholder: '1. Go to the library page of a Podcast library and...'
placeholder: "1. Go to the library page of a Podcast library and..."
validations:
required: true
- type: textarea
@ -38,7 +38,7 @@ body:
required: true
- type: markdown
attributes:
value: '## Mobile Environment'
value: "## Mobile Environment"
- type: input
id: phone-model
attributes:
@ -62,8 +62,10 @@ body:
description: Please ensure your app is up to date. *If you are using a 3rd-party app, please reach out to them directly.*
multiple: true
options:
- Android App - 0.9.63
- iOS App - 0.9.63
- Android App - 0.9.74
- iOS App - 0.9.74
- Android App - 0.9.73
- iOS App - 0.9.73
validations:
required: true
- type: dropdown
@ -83,4 +85,4 @@ body:
attributes:
label: Additional Notes
description: Anything else you want to add?
placeholder: 'e.g. I have tried X, Y, and Z.'
placeholder: "e.g. I have tried X, Y, and Z."

View file

@ -1,14 +1,14 @@
name: 🚀 App Feature Request
description: Request a feature/enhancement
title: '[Enhancement]: '
labels: ['enhancement']
title: "[Enhancement]: "
labels: ["enhancement"]
body:
- type: markdown
attributes:
value: '## App Feature Request Description'
value: "## App Feature Request Description"
- type: markdown
attributes:
value: 'Please first search in both issues & discussions for your enhancement and make sure your app is up to date.'
value: "Please first search in both issues & discussions for your enhancement and make sure your app is up to date."
- type: textarea
id: describe
attributes:
@ -35,7 +35,7 @@ body:
required: true
- type: markdown
attributes:
value: '## App Current Implementation'
value: "## App Current Implementation"
- type: dropdown
id: version
attributes:
@ -43,8 +43,10 @@ body:
description: Please ensure your app is up to date. *If you are using a 3rd-party app, please reach out to them directly.*
multiple: true
options:
- Android App - 0.9.63
- iOS App - 0.9.63
- Android App - 0.9.74
- iOS App - 0.9.74
- Android App - 0.9.73
- iOS App - 0.9.73
validations:
required: true
- type: textarea

View file

@ -34,6 +34,7 @@ export default {
currentLocationNum: 0,
currentLocationCfi: null,
inittingDisplay: true,
isRefreshingUI: false,
ereaderSettings: {
theme: 'dark',
fontScale: 100,
@ -43,7 +44,7 @@ export default {
},
watch: {
isPlayerOpen() {
this.updateHeight()
this.refreshUI()
}
},
computed: {
@ -135,11 +136,6 @@ export default {
goToChapter(href) {
return this.rendition?.display(href)
},
updateHeight() {
if (this.rendition && this.rendition.resize) {
this.rendition.resize(window.innerWidth, window.innerHeight - this.readerHeightOffset)
}
},
prev() {
if (this.rendition) {
this.rendition.prev()
@ -382,14 +378,54 @@ export default {
this.rendition.getContents().forEach((c) => {
c.addStylesheetRules(this.themeRules)
})
},
async screenOrientationChange() {
if (this.isRefreshingUI) return
this.isRefreshingUI = true
const windowWidth = window.innerWidth
this.refreshUI()
// Window width does not always change right away. Wait up to 250ms for a change.
// iPhone 10 on iOS 16 took between 100 - 200ms to update when going from portrait to landscape
// but landscape to portrait was immediate
for (let i = 0; i < 5; i++) {
await new Promise((resolve) => setTimeout(resolve, 50))
if (window.innerWidth !== windowWidth) {
this.refreshUI()
break
}
}
this.isRefreshingUI = false
},
refreshUI() {
if (this.rendition?.resize) {
this.rendition.resize(window.innerWidth, window.innerHeight - this.readerHeightOffset)
}
}
},
beforeDestroy() {
this.book?.destroy()
},
mounted() {
this.initEpub()
}
if (screen.orientation) {
// Not available on ios
screen.orientation.addEventListener('change', this.screenOrientationChange)
} else {
document.addEventListener('orientationchange', this.screenOrientationChange)
}
window.addEventListener('resize', this.screenOrientationChange)
},
beforeDestroy() {
this.book?.destroy()
if (screen.orientation) {
// Not available on ios
screen.orientation.removeEventListener('change', this.screenOrientationChange)
} else {
document.removeEventListener('orientationchange', this.screenOrientationChange)
}
window.removeEventListener('resize', this.screenOrientationChange)
},
}
</script>
@ -404,4 +440,4 @@ export default {
max-height: calc(100% - 132px);
overflow: hidden;
}
</style>
</style>

View file

@ -14,7 +14,7 @@
<div class="h-full flex items-center justify-center">
<div :style="{ width: pdfWidth + 'px', height: pdfHeight + 'px' }" class="w-full h-full overflow-auto">
<div v-if="loadedRatio > 0 && loadedRatio < 1" style="background-color: green; color: white; text-align: center" :style="{ width: loadedRatio * 100 + '%' }">{{ Math.floor(loadedRatio * 100) }}%</div>
<pdf ref="pdf" class="m-auto z-10 border border-black border-opacity-20 shadow-md bg-white" :src="pdfDocInitParams" :page="page" :rotate="rotate" @progress="loadedRatio = $event" @error="error" @num-pages="numPagesLoaded" @link-clicked="page = $event" @loaded="loadedEvt"></pdf>
<pdf v-if="pdfDocInitParams" ref="pdf" class="m-auto z-10 border border-black border-opacity-20 shadow-md bg-white" :src="pdfDocInitParams" :page="page" :rotate="rotate" @progress="loadedRatio = $event" @error="error" @num-pages="numPagesLoaded" @link-clicked="page = $event" @loaded="loadedEvt"></pdf>
</div>
</div>
@ -48,7 +48,8 @@ export default {
page: 1,
numPages: 0,
windowWidth: 0,
windowHeight: 0
windowHeight: 0,
pdfDocInitParams: null
}
},
computed: {
@ -106,14 +107,6 @@ export default {
if (!this.userItemProgress?.ebookLocation || isNaN(this.userItemProgress.ebookLocation)) return 0
return Number(this.userItemProgress.ebookLocation)
},
pdfDocInitParams() {
return {
url: this.url,
httpHeaders: {
Authorization: `Bearer ${this.userToken}`
}
}
},
isPlayerOpen() {
return this.$store.getters['getIsPlayerOpen']
}
@ -157,6 +150,8 @@ export default {
}
},
numPagesLoaded(e) {
if (!e) return
this.numPages = e
},
prev() {
@ -175,6 +170,14 @@ export default {
screenOrientationChange() {
this.windowWidth = window.innerWidth
this.windowHeight = window.innerHeight
},
init() {
this.pdfDocInitParams = {
url: this.url,
httpHeaders: {
Authorization: `Bearer ${this.userToken}`
}
}
}
},
mounted() {
@ -188,6 +191,8 @@ export default {
document.addEventListener('orientationchange', this.screenOrientationChange)
}
window.addEventListener('resize', this.screenOrientationChange)
this.init()
},
beforeDestroy() {
if (screen.orientation) {
@ -199,4 +204,4 @@ export default {
window.removeEventListener('resize', this.screenOrientationChange)
}
}
</script>
</script>

View file

@ -19,7 +19,7 @@
"ButtonDeleteLocalItem": "Lösche lokales Element",
"ButtonDisableAutoTimer": "Deaktiviere automatischen Timer",
"ButtonDisconnect": "Trennen",
"ButtonGoToWebClient": "Go to Web Client",
"ButtonGoToWebClient": "Gehe zum Web Client",
"ButtonHistory": "Historie",
"ButtonHome": "Startseite",
"ButtonIssues": "Probleme",
@ -76,8 +76,8 @@
"HeaderRSSFeedIsOpen": "RSS-Feed ist geöffnet",
"HeaderSelectDownloadLocation": "Wähle Download-Speicherort",
"HeaderSettings": "Einstellungen",
"HeaderSleepTimer": "Sleep-Timer",
"HeaderSleepTimerSettings": "Sleep-Timer Einstellungen",
"HeaderSleepTimer": "Schlummerfunktion",
"HeaderSleepTimerSettings": "Schlummerfunktion Einstellungen",
"HeaderStatsMinutesListeningChart": "Hörminuten (letzte 7 Tage)",
"HeaderStatsRecentSessions": "Neueste Ereignisse",
"HeaderTableOfContents": "Inhaltsverzeichnis",
@ -96,10 +96,10 @@
"LabelAuthors": "Autoren",
"LabelAutoDownloadEpisodes": "Episoden automatisch herunterladen",
"LabelAutoRewindTime": "Automatische Rückspulzeit",
"LabelAutoSleepTimer": "Automatischer Sleep-Timer",
"LabelAutoSleepTimerAutoRewind": "Automatischer Sleep-Timer automatische Rückspulzeit",
"LabelAutoSleepTimerAutoRewindHelp": "Wenn der Sleep-Timer abgelaufen ist, wird bei der erneuten Wiedergabe des Titels die Position automatisch zurückgespult.",
"LabelAutoSleepTimerHelp": "Bei der Wiedergabe von Medien zwischen der angegebenen Start- und Endzeit wird automatisch ein Sleep-Timer gestartet.",
"LabelAutoSleepTimer": "Automatische Schlummerfunktion",
"LabelAutoSleepTimerAutoRewind": "Automatische Schlummerfunktion automatische Rückspulzeit",
"LabelAutoSleepTimerAutoRewindHelp": "Wenn die Schlummerfunktion abgelaufen ist, wird bei der erneuten Wiedergabe des Titels die Position automatisch zurückgespult.",
"LabelAutoSleepTimerHelp": "Bei der Wiedergabe von Medien zwischen der angegebenen Start- und Endzeit wird automatisch eine Schlummerfunktion gestartet.",
"LabelBooks": "Bücher",
"LabelChapters": "Kapitel",
"LabelChapterTrack": "Kapitel Spur",
@ -197,7 +197,7 @@
"LabelReadAgain": "Erneut lesen",
"LabelRecentlyAdded": "Kürzlich hinzugefügt",
"LabelRecentSeries": "Aktuelle Serien",
"LabelRemoveFromPlaylist": "Remove from Playlist",
"LabelRemoveFromPlaylist": "Von Wiedergabeliste entfernen",
"LabelRSSFeedCustomOwnerEmail": "Benutzerdefinierte Eigentümer-E-Mail",
"LabelRSSFeedCustomOwnerName": "Benutzerdefinierter Name des Eigentümers",
"LabelRSSFeedPreventIndexing": "Indizierung verhindern",
@ -212,7 +212,7 @@
"LabelShakeSensitivity": "Schüttel-Empfindlichkeit",
"LabelShowAll": "Alles anzeigen",
"LabelSize": "Größe",
"LabelSleepTimer": "Sleep-Timer",
"LabelSleepTimer": "Schlummerfunktion",
"LabelStart": "Start",
"LabelStartTime": "Startzeit",
"LabelStatsBestDay": "Bester Tag",
@ -280,7 +280,7 @@
"MessageNoMediaFolders": "Keine Medien Ordner",
"MessageNoNetworkConnection": "Keine Netzwerkverbindung",
"MessageNoPodcastsFound": "Keine Podcasts gefunden",
"MessageNoSeries": "No series",
"MessageNoSeries": "Keine Serie",
"MessageNoUpdatesWereNecessary": "Keine Aktualisierungen waren notwendig",
"MessageNoUserPlaylists": "Keine Wiedergabelisten vorhanden",
"MessageReportBugsAndContribute": "Fehler melden, Funktionen anfordern und mitwirken",

View file

@ -1,53 +1,53 @@
{
"ButtonAdd": "Agregar",
"ButtonAddNewServer": "Add New Server",
"ButtonAddNewServer": "Agregar nuevo servidor",
"ButtonAuthors": "Autores",
"ButtonBack": "Back",
"ButtonBack": "Atrás",
"ButtonCancel": "Cancelar",
"ButtonCancelTimer": "Cancel Timer",
"ButtonCancelTimer": "Cancelar Temporizador",
"ButtonClearFilter": "Quitar Filtros",
"ButtonCloseFeed": "Cerrar Fuente",
"ButtonCollections": "Colecciones",
"ButtonConnect": "Connect",
"ButtonConnectToServer": "Connect to Server",
"ButtonConnect": "Conectar",
"ButtonConnectToServer": "Conectar al Servidor",
"ButtonCreate": "Crear",
"ButtonCreateBookmark": "Create Bookmark",
"ButtonCreateNewPlaylist": "Create New Playlist",
"ButtonCreateBookmark": "Crear Marcador",
"ButtonCreateNewPlaylist": "Crear Nueva Lista de Reproducción",
"ButtonDelete": "Eliminar",
"ButtonDeleteLocalEpisode": "Delete local episode",
"ButtonDeleteLocalFile": "Delete local file",
"ButtonDeleteLocalItem": "Delete local item",
"ButtonDisableAutoTimer": "Disable Auto Timer",
"ButtonDisconnect": "Disconnect",
"ButtonGoToWebClient": "Go to Web Client",
"ButtonHistory": "History",
"ButtonDeleteLocalEpisode": "Borrar episodio local",
"ButtonDeleteLocalFile": "Borrar archivo local",
"ButtonDeleteLocalItem": "Borrar elemento local",
"ButtonDisableAutoTimer": "Desactivar temporizador automático",
"ButtonDisconnect": "Desconectar",
"ButtonGoToWebClient": "Ir al cliente web",
"ButtonHistory": "Historial",
"ButtonHome": "Inicio",
"ButtonIssues": "Problemas",
"ButtonLatest": "Últimos",
"ButtonLibrary": "Biblioteca",
"ButtonLocalMedia": "Local Media",
"ButtonManageLocalFiles": "Manage Local Files",
"ButtonNewFolder": "New Folder",
"ButtonNextEpisode": "Next Episode",
"ButtonLocalMedia": "Medios Locales",
"ButtonManageLocalFiles": "Gestionar archivos locales",
"ButtonNewFolder": "Nueva Carpeta",
"ButtonNextEpisode": "Próximo Episodio",
"ButtonOpenFeed": "Abrir Fuente",
"ButtonOverride": "Override",
"ButtonPause": "Pause",
"ButtonOverride": "Sustituir",
"ButtonPause": "Pausar",
"ButtonPlay": "Reproducir",
"ButtonPlaying": "Reproduciendo",
"ButtonPlaylists": "Listas de Reproducción",
"ButtonRead": "Leer",
"ButtonRemove": "Remover",
"ButtonRemoveFromServer": "Remove from Server",
"ButtonRemove": "Eliminar",
"ButtonRemoveFromServer": "Eliminar del Servidor",
"ButtonSave": "Guardar",
"ButtonSaveOrder": "Save Order",
"ButtonSaveOrder": "Guardar Pedido",
"ButtonSearch": "Buscar",
"ButtonSendEbookToDevice": "Send Ebook to Device",
"ButtonSendEbookToDevice": "Enviar Ebook al Dispositivo",
"ButtonSeries": "Series",
"ButtonSetTimer": "Set Timer",
"ButtonSetTimer": "Ajustar Temporizador",
"ButtonStream": "Stream",
"ButtonSubmit": "Enviar",
"ButtonSwitchServerUser": "Switch Server/User",
"ButtonUserStats": "User Stats",
"ButtonSwitchServerUser": "Cambiar Servidor/Usuario",
"ButtonUserStats": "Estadísticas de Usuario",
"ButtonYes": "Aceptar",
"HeaderAccount": "Cuenta",
"HeaderAdvanced": "Avanzado",
@ -55,39 +55,39 @@
"HeaderChapters": "Capítulos",
"HeaderCollection": "Colección",
"HeaderCollectionItems": "Elementos en la Colección",
"HeaderConnectionStatus": "Connection Status",
"HeaderConnectionStatus": "Estado de la Conexión",
"HeaderDataSettings": "Data Settings",
"HeaderDetails": "Detalles",
"HeaderDownloads": "Downloads",
"HeaderDownloads": "Descargas",
"HeaderEbookFiles": "Archivos de Ebook",
"HeaderEpisodes": "Episodios",
"HeaderEreaderSettings": "Opciones de Ereader",
"HeaderLatestEpisodes": "Últimos Episodios",
"HeaderLibraries": "Bibliotecas",
"HeaderLocalFolders": "Local Folders",
"HeaderLocalLibraryItems": "Local Library Items",
"HeaderNewPlaylist": "New Playlist",
"HeaderLocalFolders": "Carpetas Locales",
"HeaderLocalLibraryItems": "Elementos de la Biblioteca Local",
"HeaderNewPlaylist": "Nueva Lista de Reproducción",
"HeaderOpenRSSFeed": "Abrir fuente RSS",
"HeaderPlaybackSettings": "Playback Settings",
"HeaderPlaybackSettings": "Ajustes de Reproducción",
"HeaderPlaylist": "Lista de Reproducción",
"HeaderPlaylistItems": "Elementos de Lista de Reproducción",
"HeaderRSSFeed": "RSS Feed",
"HeaderRSSFeedGeneral": "Detalles RSS",
"HeaderRSSFeedIsOpen": "Fuente RSS esta abierta",
"HeaderSelectDownloadLocation": "Select Download Location",
"HeaderRSSFeedIsOpen": "Fuente RSS está abierta",
"HeaderSelectDownloadLocation": "Seleccionar Ubicación de Descarga",
"HeaderSettings": "Configuraciones",
"HeaderSleepTimer": "Temporizador para Dormir",
"HeaderSleepTimerSettings": "Sleep Timer Settings",
"HeaderSleepTimerSettings": "Ajustes del Temporizador para Dormir",
"HeaderStatsMinutesListeningChart": "Minutos Escuchando (Últimos 7 días)",
"HeaderStatsRecentSessions": "Sesiones Recientes",
"HeaderTableOfContents": "Tabla de Contenidos",
"HeaderUserInterfaceSettings": "User Interface Settings",
"HeaderUserInterfaceSettings": "Ajustes de la Interfaz de Usuario",
"HeaderYourStats": "Tus Estadísticas",
"LabelAdded": "Añadido",
"LabelAddedAt": "Añadido",
"LabelAddToPlaylist": "Añadido a la Lista de Reproducción",
"LabelAll": "Todos",
"LabelAllowSeekingOnMediaControls": "Allow position seeking on media notification controls",
"LabelAllowSeekingOnMediaControls": "Permitir la búsqueda de posición en los controles de notificación de medios",
"LabelAlways": "Always",
"LabelAskConfirmation": "Ask for confirmation",
"LabelAuthor": "Autor",
@ -95,44 +95,44 @@
"LabelAuthorLastFirst": "Autor (Apellido, Nombre)",
"LabelAuthors": "Autores",
"LabelAutoDownloadEpisodes": "Descargar Episodios Automáticamente",
"LabelAutoRewindTime": "Auto rewind time",
"LabelAutoSleepTimer": "Auto sleep timer",
"LabelAutoSleepTimerAutoRewind": "Auto sleep timer auto rewind",
"LabelAutoSleepTimerAutoRewindHelp": "When the auto sleep timer finishes, playing the item again will automatically rewind your position.",
"LabelAutoSleepTimerHelp": "When playing media between the specified start and end times a sleep timer will automatically start.",
"LabelAutoRewindTime": "Tiempo de rebobinado automático",
"LabelAutoSleepTimer": "Temporizador de apagado automático",
"LabelAutoSleepTimerAutoRewind": "Temporizador de apagado automático con rebobinado automático",
"LabelAutoSleepTimerAutoRewindHelp": "Cuando el temporizador de auto apagado finaliza, reproducir el elemento nuevamente rebobinará automáticamente tu posición.",
"LabelAutoSleepTimerHelp": "Cuando se reproduce contenido multimedia entre las horas de inicio y finalización especificadas, se activará automáticamente un temporizador de apagado.",
"LabelBooks": "Libros",
"LabelChapters": "Capítulos",
"LabelChapterTrack": "Chapter Track",
"LabelChapterTrack": "Seguimiento de Capítulo",
"LabelClosePlayer": "Cerrar Reproductor",
"LabelCollapseSeries": "Colapsar Serie",
"LabelComplete": "Completo",
"LabelContinueBooks": "Continue Books",
"LabelContinueEpisodes": "Continue Episodes",
"LabelContinueListening": "Continue Listening",
"LabelContinueReading": "Continue Reading",
"LabelContinueSeries": "Continue Series",
"LabelCustomTime": "Custom time",
"LabelContinueBooks": "Continuar Libros",
"LabelContinueEpisodes": "Continuar Episodios",
"LabelContinueListening": "Seguir Escuchando",
"LabelContinueReading": "Continuar Leyendo",
"LabelContinueSeries": "Continuar Series",
"LabelCustomTime": "Tiempo personalizado",
"LabelDescription": "Descripción",
"LabelDisableAudioFadeOut": "Disable audio fade out",
"LabelDisableAudioFadeOutHelp": "Audio volume will start decreasing when there is less than 1 minute remaining on the sleep timer. Enable this setting to not fade out.",
"LabelDisableAutoRewind": "Disable auto rewind",
"LabelDisableShakeToReset": "Disable shake to reset",
"LabelDisableShakeToResetHelp": "Shaking your device while the timer is running OR within 2 minutes of the timer expiring will reset the sleep timer. Enable this setting to disable shake to reset.",
"LabelDisableVibrateOnReset": "Disable vibrate on reset",
"LabelDisableVibrateOnResetHelp": "When the sleep timer gets reset your device will vibrate. Enable this setting to not vibrate when the sleep timer resets.",
"LabelDiscover": "Discover",
"LabelDisableAudioFadeOut": "Desactivar el fundido de audio",
"LabelDisableAudioFadeOutHelp": "El volumen de audio comenzará a disminuir cuando quede menos de 1 minuto en el temporizador de apagado. Habilite este ajuste para que no se desvanezca.",
"LabelDisableAutoRewind": "Desactivar rebobinado automático",
"LabelDisableShakeToReset": "Desactivar agitar para reiniciar",
"LabelDisableShakeToResetHelp": "Si agitas el dispositivo mientras el temporizador está en marcha o en los 2 minutos siguientes a la expiración del temporizador, éste se reiniciará. Habilita esta configuración para desactivar el restablecimiento al agitar.",
"LabelDisableVibrateOnReset": "Desactivar vibración al reiniciar",
"LabelDisableVibrateOnResetHelp": "Cuando el temporizador de apagado se reinicia, el dispositivo vibra. Activa esta opción para que no vibre cuando se reinicie el temporizador.",
"LabelDiscover": "Descubrir",
"LabelDownload": "Descargar",
"LabelDownloaded": "Downloaded",
"LabelDownloaded": "Descargado",
"LabelDownloadUsingCellular": "Download using Cellular",
"LabelDuration": "Duración",
"LabelEbook": "Ebook",
"LabelEbooks": "Ebooks",
"LabelEnable": "Habilitar",
"LabelEnableMp3IndexSeeking": "Enable mp3 index seeking",
"LabelEnableMp3IndexSeekingHelp": "This setting should only be enabled if you have mp3 files that are not seeking correctly. Inaccurate seeking is most likely due to Variable birate (VBR) MP3 files. This setting will force index seeking, in which a time-to-byte mapping is built as the file is read. In some cases with large MP3 files there will be a delay when seeking towards the end of the file.",
"LabelEnableMp3IndexSeeking": "Activar la búsqueda de índices mp3",
"LabelEnableMp3IndexSeekingHelp": "Esta configuración solo debe habilitarse si tienes archivos mp3 que no se están buscando correctamente. La búsqueda inexacta probablemente se deba a archivos MP3 de tasa de bits variable (VBR). Esta configuración forzará la búsqueda de índice, en la que se construye un mapeo de tiempo a bytes mientras se lee el archivo. En algunos casos, con archivos MP3 grandes, puede haber un retraso al buscar hacia el final del archivo.",
"LabelEnd": "Fin",
"LabelEndOfChapter": "End of Chapter",
"LabelEndTime": "End time",
"LabelEndOfChapter": "Final del Capítulo",
"LabelEndTime": "Hora de finalización",
"LabelEpisode": "Episodio",
"LabelFeedURL": "Fuente de URL",
"LabelFile": "Archivo",
@ -142,50 +142,50 @@
"LabelFinished": "Terminado",
"LabelFolder": "Carpeta",
"LabelFontScale": "Tamaño de Fuente",
"LabelGenre": "Genero",
"LabelGenre": "Género",
"LabelGenres": "Géneros",
"LabelHapticFeedback": "Haptic feedback",
"LabelHasEbook": "Has ebook",
"LabelHasSupplementaryEbook": "Has supplementary ebook",
"LabelHeavy": "Heavy",
"LabelHigh": "High",
"LabelHapticFeedback": "Respuesta táctil",
"LabelHasEbook": "Tiene ebook",
"LabelHasSupplementaryEbook": "Tiene ebook complementario",
"LabelHeavy": "Pesado",
"LabelHigh": "Alto",
"LabelHost": "Host",
"LabelIncomplete": "Incompleto",
"LabelInProgress": "En Proceso",
"LabelInternalAppStorage": "Internal App Storage",
"LabelJumpBackwardsTime": "Jump backwards time",
"LabelJumpForwardsTime": "Jump forwards time",
"LabelInternalAppStorage": "Almacenamiento interno de aplicaciones",
"LabelJumpBackwardsTime": "Saltar atrás en el tiempo",
"LabelJumpForwardsTime": "Salto adelante en el tiempo",
"LabelLanguage": "Lenguaje",
"LabelLayout": "Layout",
"LabelLayout": "Diseño",
"LabelLayoutAuto": "Auto",
"LabelLayoutSinglePage": "Single page",
"LabelLight": "Light",
"LabelLayoutSinglePage": "Página única",
"LabelLight": "Claro",
"LabelLineSpacing": "Interlineado",
"LabelListenAgain": "Listen Again",
"LabelLocalBooks": "Local Books",
"LabelLocalPodcasts": "Local Podcasts",
"LabelLockOrientation": "Lock orientation",
"LabelLockPlayer": "Lock Player",
"LabelLow": "Low",
"LabelListenAgain": "Escuchar de Nuevo",
"LabelLocalBooks": "Libros Locales",
"LabelLocalPodcasts": "Podcasts Locales",
"LabelLockOrientation": "Bloquear orientación",
"LabelLockPlayer": "Bloquear Reproductor",
"LabelLow": "Bajo",
"LabelMediaType": "Tipo de Multimedia",
"LabelMedium": "Medium",
"LabelMedium": "Medio",
"LabelMore": "Más",
"LabelMoreInfo": "Más Información",
"LabelName": "Nombre",
"LabelNarrator": "Narrador",
"LabelNarrators": "Narradores",
"LabelNever": "Never",
"LabelNewestAuthors": "Newest Authors",
"LabelNewestEpisodes": "Newest Episodes",
"LabelNewestAuthors": "Autores más Recientes",
"LabelNewestEpisodes": "Episodios más Recientes",
"LabelNo": "No",
"LabelNotFinished": "No Terminado",
"LabelNotStarted": "Sin Iniciar",
"LabelOff": "Off",
"LabelOff": "Apagado",
"LabelPassword": "Contraseña",
"LabelPath": "Ruta de Carpeta",
"LabelPlaybackDirect": "Direct",
"LabelPlaybackDirect": "Directo",
"LabelPlaybackLocal": "Local",
"LabelPlaybackSpeed": "Playback Speed",
"LabelPlaybackSpeed": "Velocidad de Reproducción",
"LabelPlaybackTranscode": "Transcode",
"LabelPodcast": "Podcast",
"LabelPodcasts": "Podcasts",
@ -194,22 +194,22 @@
"LabelPubDate": "Fecha de Publicación",
"LabelPublishYear": "Año de Publicación",
"LabelRead": "Leído",
"LabelReadAgain": "Read Again",
"LabelRecentlyAdded": "Recently Added",
"LabelRecentSeries": "Recent Series",
"LabelRemoveFromPlaylist": "Remove from Playlist",
"LabelReadAgain": "Leer de nuevo",
"LabelRecentlyAdded": "Añadido Recientemente",
"LabelRecentSeries": "Series Recientes",
"LabelRemoveFromPlaylist": "Eliminar de la Lista de Reproducción",
"LabelRSSFeedCustomOwnerEmail": "Email de dueño personalizado",
"LabelRSSFeedCustomOwnerName": "Nombre de dueño personalizado",
"LabelRSSFeedPreventIndexing": "Prevenir Indexado",
"LabelRSSFeedSlug": "Fuente RSS Slug",
"LabelScaleElapsedTimeBySpeed": "Scale Elapsed Time by Speed",
"LabelScaleElapsedTimeBySpeed": "Escala el tiempo transcurrido según la velocidad",
"LabelSeason": "Temporada",
"LabelSelectADevice": "Select a device",
"LabelSelectADevice": "Selecciona un dispositivo",
"LabelSeries": "Series",
"LabelServerAddress": "Server address",
"LabelServerAddress": "Dirección del servidor",
"LabelSetEbookAsPrimary": "Establecer como primario",
"LabelSetEbookAsSupplementary": "Establecer como suplementario",
"LabelShakeSensitivity": "Shake sensitivity",
"LabelShakeSensitivity": "Sensibilidad a la sacudida",
"LabelShowAll": "Mostrar Todos",
"LabelSize": "Tamaño",
"LabelSleepTimer": "Temporizador para Dormir",
@ -232,63 +232,63 @@
"LabelThemeLight": "Claro",
"LabelTimeRemaining": "{0} restante",
"LabelTitle": "Título",
"LabelTotalTrack": "Total Track",
"LabelTotalTrack": "Pista Total",
"LabelTracks": "Pistas",
"LabelType": "Tipo",
"LabelUnlockPlayer": "Unlock Player",
"LabelUseBookshelfView": "Use bookshelf view",
"LabelUnlockPlayer": "Desbloquear Reproductor",
"LabelUseBookshelfView": "Usar la Vista de Estantería",
"LabelUser": "Usuario",
"LabelUsername": "Nombre de Usuario",
"LabelVeryHigh": "Very High",
"LabelVeryLow": "Very Low",
"LabelVeryHigh": "Muy Alto",
"LabelVeryLow": "Muy Bajo",
"LabelYourBookmarks": "Tus Marcadores",
"LabelYourProgress": "Tu Progreso",
"MessageAndroid10Downloads": "Android 10 and below will use internal app storage for downloads.",
"MessageAttemptingServerConnection": "Attempting server connection...",
"MessageAudiobookshelfServerNotConnected": "Audiobookshelf server not connected",
"MessageAudiobookshelfServerRequired": "<strong>Important!</strong> This app is designed to work with an Audiobookshelf server that you or someone you know is hosting. This app does not provide any content.",
"MessageBookshelfEmpty": "Bookshelf empty",
"MessageConfirmDeleteLocalEpisode": "Remove local episode \"{0}\" from your device? The file on the server will be unaffected.",
"MessageConfirmDeleteLocalFiles": "Remove local files of this item from your device? The files on the server and your progress will be unaffected.",
"MessageConfirmDiscardProgress": "Are you sure you want to reset your progress?",
"MessageAndroid10Downloads": "Android 10 e inferiores utilizarán el almacenamiento interno de aplicaciones para las descargas.",
"MessageAttemptingServerConnection": "Intentando conectar con el servidor...",
"MessageAudiobookshelfServerNotConnected": "Servidor de Audiobookshelf no conectado",
"MessageAudiobookshelfServerRequired": "<strong>¡Importante!</strong> Esta aplicación está diseñada para trabajar con un servidor Audiobookshelf que usted o alguien que usted conoce es el anfitrión. Esta aplicación no proporciona ningún contenido.",
"MessageBookshelfEmpty": "Estantería vacía",
"MessageConfirmDeleteLocalEpisode": "¿Eliminar episodio local \"{0}\" de su dispositivo? El archivo en el servidor no se verá afectado.",
"MessageConfirmDeleteLocalFiles": "¿Eliminar los archivos locales de este elemento de tu dispositivo? Los archivos del servidor y tu progreso no se verán afectados.",
"MessageConfirmDiscardProgress": "¿Estás seguro de que quieres reiniciar tu progreso?",
"MessageConfirmDownloadUsingCellular": "You are about to download using cellular data. This may include carrier data charges. Do you wish to continue?",
"MessageConfirmMarkAsFinished": "Are you sure you want to mark this item as finished?",
"MessageConfirmRemoveBookmark": "Are you sure you want to remove bookmark?",
"MessageConfirmMarkAsFinished": "¿Está seguro de que desea marcar este artículo como terminado?",
"MessageConfirmRemoveBookmark": "¿Estás seguro de que quieres eliminar el marcador?",
"MessageConfirmStreamingUsingCellular": "You are about to stream using cellular data. This may include carrier data charges. Do you wish to continue?",
"MessageDiscardProgress": "Discard Progress",
"MessageDownloadCompleteProcessing": "Download complete. Processing...",
"MessageDownloading": "Downloading...",
"MessageDiscardProgress": "Descartar Progreso",
"MessageDownloadCompleteProcessing": "Descarga Completada. Procesando...",
"MessageDownloading": "Descargando...",
"MessageDownloadingEpisode": "Descargando Capitulo",
"MessageEpisodesQueuedForDownload": "{0} Episodio(s) en cola para descargar",
"MessageFeedURLWillBe": "URL de la fuente será {0}",
"MessageFetching": "Buscando...",
"MessageFollowTheProjectOnGithub": "Follow the project on Github",
"MessageItemDownloadCompleteFailedToCreate": "Item download complete but failed to create library item",
"MessageFollowTheProjectOnGithub": "Sigue el proyecto en Github",
"MessageItemDownloadCompleteFailedToCreate": "Se ha completado la descarga del elemento, pero no se ha podido crear el elemento de la biblioteca",
"MessageLoading": "Cargando...",
"MessageLoadingServerData": "Loading server data...",
"MessageLoadingServerData": "Cargando datos del servidor...",
"MessageMarkAsFinished": "Marcar como Terminado",
"MessageMediaLinkedToADifferentServer": "Media is linked to an Audiobookshelf server on a different address ({0}). Progress will be synced when connected to this server address.",
"MessageMediaLinkedToADifferentUser": "Media is linked to this server but was downloaded by a different user. Progress will only be synced to the user that downloaded it.",
"MessageMediaLinkedToServer": "Linked to server {0}",
"MessageMediaLinkedToThisServer": "Downloaded media is linked to this server",
"MessageMediaNotLinkedToServer": "Media is not linked to an Audiobookshelf server. No progress will be synced.",
"MessageMediaLinkedToADifferentServer": "El contenido está vinculado a un servidor de Audiobookshelf en una dirección diferente ({0}). El progreso se sincronizará cuando se conecte a esta dirección de servidor.",
"MessageMediaLinkedToADifferentUser": "El contenido está vinculado a este servidor pero fue descargado por otro usuario. El progreso solo se sincronizará con el usuario que lo descargó.",
"MessageMediaLinkedToServer": "Vinculado al servidor {0}",
"MessageMediaLinkedToThisServer": "El contenido descargado está vinculado a este servidor",
"MessageMediaNotLinkedToServer": "El contenido multimedia no está vinculado a un servidor de Audiobookshelf. No se sincronizará ningún progreso.",
"MessageNoBookmarks": "Sin Marcadores",
"MessageNoChapters": "Sin Capítulos",
"MessageNoItems": "Sin Elementos",
"MessageNoItemsFound": "Ningún Elemento Encontrado",
"MessageNoListeningSessions": "Ninguna Session Escuchada",
"MessageNoMediaFolders": "No Media Folders",
"MessageNoNetworkConnection": "No network connection",
"MessageNoListeningSessions": "Ninguna Sesn Escuchada",
"MessageNoMediaFolders": "Sin Carpetas Multimedia",
"MessageNoNetworkConnection": "Sin conexión de red",
"MessageNoPodcastsFound": "Ningún podcast encontrado",
"MessageNoSeries": "No series",
"MessageNoSeries": "Ninguna serie",
"MessageNoUpdatesWereNecessary": "No fue necesario actualizar",
"MessageNoUserPlaylists": "No tienes lista de reproducciones",
"MessageNoUserPlaylists": "No tienes ninguna lista de reproducción",
"MessageReportBugsAndContribute": "Reporte erres, solicite funciones y contribuya en",
"MessageSocketConnectedOverMeteredCellular": "Socket connected over metered cellular",
"MessageSocketConnectedOverMeteredWifi": "Socket connected over metered wifi",
"MessageSocketConnectedOverUnmeteredCellular": "Socket connected over unmetered cellular",
"MessageSocketConnectedOverUnmeteredWifi": "Socket connected over unmetered wifi",
"MessageSocketNotConnected": "Socket not connected",
"MessageSocketConnectedOverMeteredCellular": "Conexión de socket a través de red celular de tarifa por consumo",
"MessageSocketConnectedOverMeteredWifi": "Socket conectado a través de una red Wi-Fi con tarificación por consumo",
"MessageSocketConnectedOverUnmeteredCellular": "Socket conectado a través de red celular sin tarificación por consumo",
"MessageSocketConnectedOverUnmeteredWifi": "Socket conectado a través de una red Wi-Fi sin tarificación por consumo",
"MessageSocketNotConnected": "Socket no conectado",
"NoteRSSFeedPodcastAppsHttps": "Advertencia: La mayoría de las aplicaciones de podcast requieren que la URL de la fuente RSS use HTTPS",
"NoteRSSFeedPodcastAppsPubDate": "Advertencia: 1 o más de sus episodios no tienen fecha de publicación. Algunas aplicaciones de podcast lo requieren.",
"ToastBookmarkCreateFailed": "Error al crear marcador",