Merge remote-tracking branch 'de/master'

This commit is contained in:
Ozzie Isaacs
2026-01-25 10:42:15 +01:00
57 changed files with 2644 additions and 1977 deletions
Binary file not shown.
+91 -68
View File
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Calibre-Web\n"
"Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n"
"POT-Creation-Date: 2025-12-14 14:44+0100\n"
"POT-Creation-Date: 2026-01-25 10:40+0100\n"
"PO-Revision-Date: 2024-10-29 15:26+0100\n"
"Last-Translator: adruki <adruki@gmail.com>\n"
"Language: es\n"
@@ -73,7 +73,7 @@ msgstr "La columna personalizada n.º %(column)d no existe en la base de datos c
msgid "Edit Users"
msgstr "Editar usuarios"
#: cps/admin.py:377 cps/opds.py:560 cps/templates/grid.html:14
#: cps/admin.py:377 cps/opds.py:559 cps/templates/grid.html:14
#: cps/templates/list.html:13
msgid "All"
msgstr "Todo"
@@ -311,9 +311,9 @@ msgstr "Cuenta de Gmail verificada."
#: cps/admin.py:1339 cps/admin.py:1342 cps/admin.py:1727 cps/admin.py:1886
#: cps/admin.py:1984 cps/admin.py:2105 cps/editbooks.py:169
#: cps/editbooks.py:755 cps/editbooks.py:1474 cps/shelf.py:90 cps/shelf.py:150
#: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354
#: cps/shelf.py:476 cps/tasks/convert.py:160 cps/web.py:1540
#: cps/editbooks.py:755 cps/editbooks.py:1474 cps/shelf.py:90 cps/shelf.py:144
#: cps/shelf.py:194 cps/shelf.py:237 cps/shelf.py:287 cps/shelf.py:324
#: cps/shelf.py:398 cps/shelf.py:520 cps/tasks/convert.py:160 cps/web.py:1544
#, python-format
msgid "Oops! Database Error: %(error)s."
msgstr "Error en la base de datos: %(error)s."
@@ -352,7 +352,7 @@ msgstr "Duración no válida para la tarea especificada"
msgid "Scheduled tasks settings updated"
msgstr "Configuración de tareas programadas actualizada"
#: cps/admin.py:1416 cps/admin.py:1465 cps/admin.py:2101 cps/web.py:1330
#: cps/admin.py:1416 cps/admin.py:1465 cps/admin.py:2101 cps/web.py:1334
msgid "Oops! An unknown error occurred. Please try again later."
msgstr "Ha ocurrido un error desconocido. Por favor vuelva a intentarlo más tarde."
@@ -527,7 +527,7 @@ msgstr "No puedes borrar al Usuario Invitado"
msgid "No admin user remaining, can't delete user"
msgstr "No queda ningún usuario administrador, no se puede borrar al usuario"
#: cps/admin.py:2071 cps/web.py:1489
#: cps/admin.py:2071 cps/web.py:1493
msgid "Email can't be empty and has to be a valid Email"
msgstr "El correo electrónico no puede estar vacío y debe ser un correo electrónico válido"
@@ -536,7 +536,7 @@ msgstr "El correo electrónico no puede estar vacío y debe ser un correo electr
msgid "User '%(nick)s' updated"
msgstr "Usuario '%(nick)s' actualizado"
#: cps/basic.py:67 cps/search.py:50 cps/search.py:426
#: cps/basic.py:67 cps/search.py:50 cps/search.py:441
#: cps/templates/basic_layout.html:23 cps/templates/book_edit.html:242
#: cps/templates/feed.xml:34 cps/templates/index.xml:12
#: cps/templates/layout.html:46 cps/templates/layout.html:49
@@ -588,8 +588,8 @@ msgid "Value is missing on request"
msgstr "Falta el valor en la solicitud"
#: cps/editbooks.py:319 cps/editbooks.py:326 cps/editbooks.py:627
#: cps/editbooks.py:1146 cps/web.py:535 cps/web.py:1581 cps/web.py:1627
#: cps/web.py:1677
#: cps/editbooks.py:1146 cps/web.py:535 cps/web.py:1585 cps/web.py:1631
#: cps/web.py:1681
msgid "Oops! Selected book is unavailable. File does not exist or is not accessible"
msgstr "El libro seleccionado no está disponible. El archivo no existe o no es accesible"
@@ -851,7 +851,7 @@ msgstr "Contenido del archivo de la portada no válido"
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr "Sólo se admiten como portada los archivos jpg/jpeg"
#: cps/helper.py:975 cps/helper.py:1135
#: cps/helper.py:975 cps/helper.py:1133
msgid "Cover"
msgstr "Portada"
@@ -889,7 +889,7 @@ msgstr "Faltan permisos de ejecución: %(missing)s"
msgid "Error executing Calibre"
msgstr "Error ejecutando Calibre"
#: cps/helper.py:1137 cps/templates/admin.html:216
#: cps/helper.py:1135 cps/templates/admin.html:216
msgid "Queue all books for metadata backup"
msgstr "Poner en cola todos los libros para la copia de seguridad de metadatos"
@@ -976,7 +976,7 @@ msgstr "{} estrellas"
#: cps/remotelogin.py:63 cps/templates/layout.html:68
#: cps/templates/layout.html:103 cps/templates/login.html:4
#: cps/templates/login.html:21 cps/web.py:1366
#: cps/templates/login.html:21 cps/web.py:1370
msgid "Login"
msgstr "Inicio de sesión"
@@ -1131,38 +1131,38 @@ msgstr "Lista de libros"
msgid "Show Books List"
msgstr "Mostrar lista de libros"
#: cps/search.py:201
#: cps/search.py:214
msgid "Published after "
msgstr "Publicado después de "
#: cps/search.py:208
#: cps/search.py:221
msgid "Published before "
msgstr "Publicado antes de "
#: cps/search.py:230
#: cps/search.py:243
#, python-format
msgid "Rating <= %(rating)s"
msgstr "Valoración <= %(rating)s"
#: cps/search.py:232
#: cps/search.py:245
#, python-format
msgid "Rating >= %(rating)s"
msgstr "Valoración >= %(rating)s"
#: cps/search.py:234
#: cps/search.py:247
#, python-format
msgid "Read Status = '%(status)s'"
msgstr "Estado de lectura = '%(status)s'"
#: cps/search.py:351
#: cps/search.py:366
msgid "Error on search for custom columns, please restart Calibre-Web"
msgstr "Error en la búsqueda de columnas personalizadas, por favor reinicia Calibre-Web"
#: cps/search.py:370 cps/search.py:402 cps/templates/layout.html:57
#: cps/search.py:385 cps/search.py:417 cps/templates/layout.html:57
msgid "Advanced Search"
msgstr "Búsqueda avanzada"
#: cps/shelf.py:49 cps/shelf.py:111
#: cps/shelf.py:49 cps/shelf.py:111 cps/shelf.py:157
msgid "Invalid shelf specified"
msgstr "Estantería especificada no válida"
@@ -1186,92 +1186,111 @@ msgid "Book has been added to shelf: %(sname)s"
msgstr "El libro fue agregado a la estantería: %(sname)s"
#: cps/shelf.py:116
msgid "You are not allowed to remove a book from the shelf"
msgstr ""
#: cps/shelf.py:129
#, python-format
msgid "No Books are part of the shelf: %(name)s"
msgstr ""
#: cps/shelf.py:140
#, python-format
msgid "Books have been removed from shelf: %(sname)s"
msgstr ""
#: cps/shelf.py:147
#, python-format
msgid "Could not remove books from shelf: %(sname)s"
msgstr ""
#: cps/shelf.py:162
msgid "You are not allowed to add a book to the shelf"
msgstr "Lo siento, no tienes permiso para añadir un libro a la estantería"
#: cps/shelf.py:134
#: cps/shelf.py:178
#, python-format
msgid "Books are already part of the shelf: %(name)s"
msgstr "Los libros ya forman parte de la estantería: %(name)s"
#: cps/shelf.py:146
#: cps/shelf.py:190
#, python-format
msgid "Books have been added to shelf: %(sname)s"
msgstr "Los libros han sido añadidos a la estantería: %(sname)s"
#: cps/shelf.py:153
#: cps/shelf.py:197
#, python-format
msgid "Could not add books to shelf: %(sname)s"
msgstr "No se pudieron agregar libros a la estantería: %(sname)s"
#: cps/shelf.py:199
#: cps/shelf.py:243
#, python-format
msgid "Book has been removed from shelf: %(sname)s"
msgstr "El libro fue eliminado de la estantería: %(sname)s"
#: cps/shelf.py:208
#: cps/shelf.py:252
msgid "Sorry you are not allowed to remove a book from this shelf"
msgstr "Lo siento, no tienes permiso para eliminar un libro de esta estantería"
#: cps/shelf.py:218 cps/templates/layout.html:159
#: cps/shelf.py:262 cps/templates/layout.html:159
msgid "Create a Shelf"
msgstr "Crear una estantería"
#: cps/shelf.py:226
#: cps/shelf.py:270
msgid "Sorry you are not allowed to edit this shelf"
msgstr "Lo siento, no tienes permiso para editar este estante"
#: cps/shelf.py:228
#: cps/shelf.py:272
msgid "Edit a shelf"
msgstr "Editar una estantería"
#: cps/shelf.py:237
#: cps/shelf.py:281
msgid "Error deleting Shelf"
msgstr "Error al eliminar la estantería"
#: cps/shelf.py:239
#: cps/shelf.py:283
msgid "Shelf successfully deleted"
msgstr "Estantería eliminada correctamente"
#: cps/shelf.py:289
#: cps/shelf.py:333
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "Cambiar orden de la estantería: '%(name)s'"
#: cps/shelf.py:324
#: cps/shelf.py:368
msgid "Sorry you are not allowed to create a public shelf"
msgstr "Lo siento, no tienes permiso para crear una estantería pública"
#: cps/shelf.py:341
#: cps/shelf.py:385
#, python-format
msgid "Shelf %(title)s created"
msgstr "Estantería %(title)s creada"
#: cps/shelf.py:344
#: cps/shelf.py:388
#, python-format
msgid "Shelf %(title)s changed"
msgstr "Estantería %(title)s cambiada"
#: cps/shelf.py:358
#: cps/shelf.py:402
msgid "There was an error"
msgstr "Ha sucedido un error"
#: cps/shelf.py:380
#: cps/shelf.py:424
#, python-format
msgid "A public shelf with the name '%(title)s' already exists."
msgstr "Ya existe una estantería pública con el nombre '%(title)s'."
#: cps/shelf.py:391
#: cps/shelf.py:435
#, python-format
msgid "A private shelf with the name '%(title)s' already exists."
msgstr "Ya existe una estantería privada con el nombre '%(title)s'."
#: cps/shelf.py:481
#: cps/shelf.py:525
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "Estantería: '%(name)s'"
#: cps/shelf.py:487
#: cps/shelf.py:531
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr "Error al abrir una estantería. La estantería no existe o no es accesible"
@@ -1426,80 +1445,80 @@ msgstr "Por favor, espera un minuto para registrar el siguiente usuario"
#: cps/templates/layout.html:69 cps/templates/layout.html:104
#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1292
#: cps/web.py:1296 cps/web.py:1301 cps/web.py:1305 cps/web.py:1311
#: cps/web.py:1331 cps/web.py:1335 cps/web.py:1348 cps/web.py:1351
#: cps/web.py:1335 cps/web.py:1339 cps/web.py:1352 cps/web.py:1355
msgid "Register"
msgstr "Registro"
#: cps/web.py:1295 cps/web.py:1398
#: cps/web.py:1295 cps/web.py:1402
msgid "Connection error to limiter backend, please contact your administrator"
msgstr "Error de conexión con el backend de Limiter, por favor contacta con tu administrador"
#: cps/web.py:1300 cps/web.py:1347
#: cps/web.py:1300 cps/web.py:1351
msgid "Oops! Email server is not configured, please contact your administrator."
msgstr "El servidor de correo no está configurado, por favor contacta con tu administrador."
#: cps/web.py:1333
#: cps/web.py:1337
msgid "Oops! Your Email is not allowed."
msgstr "Su correo electrónico no está permitido para registrarse."
#: cps/web.py:1336
#: cps/web.py:1340
msgid "Success! Confirmation Email has been sent."
msgstr "Se ha enviado un correo electrónico de verificación a su cuenta de correo."
#: cps/web.py:1381 cps/web.py:1404
#: cps/web.py:1385 cps/web.py:1408
msgid "Cannot activate LDAP authentication"
msgstr "No se puede activar la autenticación LDAP"
#: cps/web.py:1394
#: cps/web.py:1398
msgid "Please wait one minute before next login"
msgstr "Por favor, espera un minuto antes de iniciar sesión de nuevo"
#: cps/web.py:1413
#: cps/web.py:1417
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "estás ahora conectado como: '%(nickname)s'"
#: cps/web.py:1420
#: cps/web.py:1424
#, python-format
msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
msgstr "Inicio de sesión alternativo como: '%(nickname)s', servidor LDAP no accesible o usuario no conocido"
#: cps/web.py:1425
#: cps/web.py:1429
#, python-format
msgid "Could not login: %(message)s"
msgstr "No se pudo iniciar sesión: %(message)s"
#: cps/web.py:1429 cps/web.py:1454
#: cps/web.py:1433 cps/web.py:1458
msgid "Wrong Username or Password"
msgstr "Nombre de usuario o contraseña incorrectos"
#: cps/web.py:1436
#: cps/web.py:1440
msgid "New Password was sent to your email address"
msgstr "Se envió una nueva contraseña a tu dirección de correo electrónico"
#: cps/web.py:1440
#: cps/web.py:1444
msgid "An unknown error occurred. Please try again later."
msgstr "Ha ocurrido un error desconocido. Por favor vuelva a intentarlo más tarde."
#: cps/web.py:1442
#: cps/web.py:1446
msgid "Please enter valid username to reset password"
msgstr "Por favor, introduce un nombre de usuario válido para restablecer la contraseña"
#: cps/web.py:1450
#: cps/web.py:1454
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Ahora estás conectado como: '%(nickname)s'"
#: cps/web.py:1515 cps/web.py:1565
#: cps/web.py:1519 cps/web.py:1569
#, python-format
msgid "%(name)s's Profile"
msgstr "Perfil de %(name)s"
#: cps/web.py:1531
#: cps/web.py:1535
msgid "Success! Profile Updated"
msgstr "Perfil actualizado"
#: cps/web.py:1535
#: cps/web.py:1539
msgid "Oops! An account already exists for this Email."
msgstr "Ya existe una cuenta creada para ese correo electrónico."
@@ -1860,38 +1879,38 @@ msgid "In Library"
msgstr "En la biblioteca"
#: cps/templates/author.html:26 cps/templates/index.html:74
#: cps/templates/search.html:31 cps/templates/shelf.html:20
#: cps/templates/search.html:45 cps/templates/shelf.html:20
msgid "Sort according to book date, newest first"
msgstr "Ordenar en base a fecha de subida del libro, más reciente primero"
#: cps/templates/author.html:27 cps/templates/index.html:75
#: cps/templates/search.html:32 cps/templates/shelf.html:21
#: cps/templates/search.html:46 cps/templates/shelf.html:21
msgid "Sort according to book date, oldest first"
msgstr "Ordenar en base a fecha de subida del libro, más antiguo primero"
#: cps/templates/author.html:28 cps/templates/index.html:76
#: cps/templates/search.html:33 cps/templates/shelf.html:22
#: cps/templates/search.html:47 cps/templates/shelf.html:22
msgid "Sort title in alphabetical order"
msgstr "Ordenar en base al título en orden alfabético ascendente"
#: cps/templates/author.html:29 cps/templates/index.html:77
#: cps/templates/search.html:34 cps/templates/shelf.html:23
#: cps/templates/search.html:48 cps/templates/shelf.html:23
msgid "Sort title in reverse alphabetical order"
msgstr "Ordenar en base al título en orden alfabético descendente"
#: cps/templates/author.html:30 cps/templates/index.html:80
#: cps/templates/search.html:37 cps/templates/shelf.html:26
#: cps/templates/search.html:51 cps/templates/shelf.html:26
msgid "Sort according to publishing date, newest first"
msgstr "Ordenar en base a fecha de publicación, más reciente primero"
#: cps/templates/author.html:31 cps/templates/index.html:81
#: cps/templates/search.html:38 cps/templates/shelf.html:27
#: cps/templates/search.html:52 cps/templates/shelf.html:27
msgid "Sort according to publishing date, oldest first"
msgstr "Ordenar en base a fecha de publicación, más antiguo primero"
#: cps/templates/author.html:56 cps/templates/author.html:113
#: cps/templates/index.html:30 cps/templates/index.html:113
#: cps/templates/search.html:67 cps/templates/shelf.html:58
#: cps/templates/search.html:81 cps/templates/shelf.html:58
msgid "reduce"
msgstr "reducir"
@@ -2816,7 +2835,7 @@ msgstr "Agregar a la estantería"
#: cps/templates/detail.html:313 cps/templates/detail.html:332
#: cps/templates/feed.xml:131 cps/templates/layout.html:156
#: cps/templates/listenmp3.html:201 cps/templates/listenmp3.html:218
#: cps/templates/search.html:22
#: cps/templates/search.html:22 cps/templates/search.html:35
msgid "(Public)"
msgstr "(Pública)"
@@ -2926,12 +2945,12 @@ msgstr "Ordenar ascendientemente según el número de descargas"
msgid "Sort descending according to download count"
msgstr "Ordenar descendientemente según el número de descargas"
#: cps/templates/index.html:78 cps/templates/search.html:35
#: cps/templates/index.html:78 cps/templates/search.html:49
#: cps/templates/shelf.html:24
msgid "Sort authors in alphabetical order"
msgstr "Ordenar en base al autor en orden alfabético ascendente"
#: cps/templates/index.html:79 cps/templates/search.html:36
#: cps/templates/index.html:79 cps/templates/search.html:50
#: cps/templates/shelf.html:25
msgid "Sort authors in reverse alphabetical order"
msgstr "Ordenar en base al autor en orden alfabético descendente"
@@ -3422,6 +3441,10 @@ msgstr "Término de búsqueda:"
msgid "Results for:"
msgstr "Resultados para:"
#: cps/templates/search.html:29
msgid "Remove from shelf"
msgstr ""
#: cps/templates/search_form.html:21
msgid "Published Date From"
msgstr "Fecha de publicación desde"