- Completly new setup of GDrive (every data is taken from client_secret.json file)

- If cover on Google Drive is missing, the generic cover will be used
- Better error handling during configuration of google drive (missing hook callback verification, missing files)
- less errors on console during use of Gdrive, more log file output in case of error
- removed standalone flask development mode
- removed gdrive template file and vendor setup script
This commit is contained in:
OzzieIsaacs 2018-06-02 10:59:34 +02:00
parent 43a391d1bd
commit 204cd504a9
22 changed files with 2217 additions and 1906 deletions

34
cps.py
View File

@ -21,27 +21,23 @@ except ImportError:
gevent_present = False
if __name__ == '__main__':
if web.ub.DEVELOPMENT:
web.app.run(port=web.ub.config.config_port, debug=True)
if gevent_present:
web.app.logger.info('Attempting to start gevent')
web.start_gevent()
else:
if gevent_present:
web.app.logger.info('Attempting to start gevent')
web.start_gevent()
web.app.logger.info('Starting Tornado webserver')
# Max Buffersize set to 200MB
if web.ub.config.get_config_certfile() and web.ub.config.get_config_keyfile():
ssl={"certfile": web.ub.config.get_config_certfile(),
"keyfile": web.ub.config.get_config_keyfile()}
else:
web.app.logger.info('Falling back to Tornado')
# Max Buffersize set to 200MB
if web.ub.config.get_config_certfile() and web.ub.config.get_config_keyfile():
ssl={"certfile": web.ub.config.get_config_certfile(),
"keyfile": web.ub.config.get_config_keyfile()}
else:
ssl=None
http_server = HTTPServer(WSGIContainer(web.app),
max_buffer_size = 209700000,
ssl_options=ssl)
http_server.listen(web.ub.config.config_port)
IOLoop.instance().start()
IOLoop.instance().close(True)
ssl=None
http_server = HTTPServer(WSGIContainer(web.app),
max_buffer_size = 209700000,
ssl_options=ssl)
http_server.listen(web.ub.config.config_port)
IOLoop.instance().start()
IOLoop.instance().close(True)
if web.helper.global_task == 0:
web.app.logger.info("Performing restart of Calibre-web")

View File

@ -68,7 +68,6 @@ if not os.path.exists(cli.gdpath):
Base.metadata.create_all(engine)
except Exception:
raise
migrate()
@ -80,7 +79,10 @@ def getDrive(drive=None, gauth=None):
gauth.LoadCredentialsFile("gdrive_credentials")
if gauth.access_token_expired:
# Refresh them if expired
gauth.Refresh()
try:
gauth.Refresh()
except:
web.app.logger.error("GDrive gdrive_credentials file not present, reauthenticate in config section")
else:
# Initialize the saved creds
gauth.Authorize()
@ -90,12 +92,24 @@ def getDrive(drive=None, gauth=None):
drive.auth.Refresh()
return drive
def listRootFolders(drive=None):
drive = getDrive(drive)
folder = "'root' in parents and mimeType = 'application/vnd.google-apps.folder' and trashed = false"
fileList = drive.ListFile({'q': folder}).GetList()
return fileList
def getEbooksFolder(drive=None):
drive = getDrive(drive)
ebooksFolder = "title = '%s' and 'root' in parents and mimeType = 'application/vnd.google-apps.folder' and trashed = false" % config.config_google_drive_folder
return getFolderInFolder('root',config.config_google_drive_folder,drive)
fileList = drive.ListFile({'q': ebooksFolder}).GetList()
def getFolderInFolder(parentId, folderName,drive=None):
drive = getDrive(drive)
query=""
if folderName:
query = "title = '%s' and " % folderName.replace("'", "\\'")
folder = query + "'%s' in parents and mimeType = 'application/vnd.google-apps.folder' and trashed = false" % parentId
fileList = drive.ListFile({'q': folder}).GetList()
return fileList[0]
@ -105,20 +119,17 @@ def getEbooksFolderId(drive=None):
return storedPathName.gdrive_id
else:
gDriveId = GdriveId()
gDriveId.gdrive_id = getEbooksFolder(drive)['id']
try:
gDriveId.gdrive_id = getEbooksFolder(drive)['id']
except:
pass
# ToDo Path not exisiting
gDriveId.path = '/'
session.merge(gDriveId)
session.commit()
return
def getFolderInFolder(parentId, folderName, drive=None):
drive = getDrive(drive)
folder = "title = '%s' and '%s' in parents and mimeType = 'application/vnd.google-apps.folder' and trashed = false" % (folderName.replace("'", "\\'"), parentId)
fileList = drive.ListFile({'q': folder}).GetList()
return fileList[0]
def getFile(pathId, fileName, drive=None):
drive = getDrive(drive)
metaDataFile = "'%s' in parents and trashed = false and title = '%s'" % (pathId, fileName.replace("'", "\\'"))
@ -190,11 +201,8 @@ def downloadFile(drive, path, filename, output):
def backupCalibreDbAndOptionalDownload(drive, f=None):
drive = getDrive(drive)
metaDataFile = "'%s' in parents and title = 'metadata.db' and trashed = false" % getEbooksFolderId()
fileList = drive.ListFile({'q': metaDataFile}).GetList()
databaseFile = fileList[0]
if f:
databaseFile.GetContentFile(f)
@ -343,3 +351,8 @@ def getChangeById (drive, change_id):
except (errors.HttpError, error):
web.app.logger.exception(error)
return None
# Deletes the local hashes database to force search for new folder names
def deleteDatabaseOnChange():
session.query(GdriveId).delete()
session.commit()

View File

View File

@ -7,47 +7,43 @@
<label for="config_calibre_dir">{{_('Location of Calibre database')}}</label>
<input type="text" class="form-control" name="config_calibre_dir" id="config_calibre_dir" value="{% if content.config_calibre_dir != None %}{{ content.config_calibre_dir }}{% endif %}" autocomplete="off">
</div>
{% if gdrive %}
<div class="form-group required">
<input type="checkbox" id="config_use_google_drive" name="config_use_google_drive" data-control="gdrive_settings" {% if content.config_use_google_drive %}checked{% endif %} >
<label for="config_use_google_drive">{{_('Use google drive?')}}</label>
</div>
<div data-related="gdrive_settings">
<div class="form-group required">
<label for="config_google_drive_client_id">{{_('Client id')}}</label>
<input type="text" class="form-control" name="config_google_drive_client_id" id="config_google_drive_client_id" value="{% if content.config_google_drive_client_id %}{{content.config_google_drive_client_id}}{% endif %}" autocomplete="off">
</div>
<div class="form-group required">
<label for="config_google_drive_client_secret">{{_('Client secret')}}</label>
<input type="text" class="form-control" name="config_google_drive_client_secret" id="config_google_drive_client_secret" value="{% if content.config_google_drive_client_secret %}{{content.config_google_drive_client_secret}}{% endif %}" autocomplete="off">
</div>
<div class="form-group required">
<label for="config_google_drive_calibre_url_base">{{_('Calibre-web Base URL')}}</label>
<input type="text" class="form-control" name="config_google_drive_calibre_url_base" id="config_google_drive_calibre_url_base" value="{% if content.config_google_drive_calibre_url_base %}{{content.config_google_drive_calibre_url_base}}{% endif %}" autocomplete="off">
</div>
<div class="form-group required">
<label for="config_google_drive_folder">{{_('Google drive Calibre folder')}}</label>
<input type="text" class="form-control" name="config_google_drive_folder" id="config_google_drive_folder" value="{% if content.config_google_drive_folder %}{{content.config_google_drive_folder}}{% endif %}" autocomplete="off" required>
</div>
{% if show_authenticate_google_drive %}
<div class="form-group required">
<a href="{{ url_for('authenticate_google_drive') }}" class="btn btn-primary">Authenticate Google Drive</a>
{% if gdriveError %}
<div class="form-group">
<label>
{{_('Google drive config problem')}}: {{ gdriveError }}
</label>
</div>
{% else %}
{% if content.config_google_drive_watch_changes_response %}
<label for="config_google_drive_watch_changes_response">{{_('Metadata Watch Channel ID')}}</label>
<div class="form-group input-group required">
<input type="text" class="form-control" name="config_google_drive_watch_changes_response" id="config_google_drive_watch_changes_response" value="{{ content.config_google_drive_watch_changes_response['id'] }} expires on {{ content.config_google_drive_watch_changes_response['expiration'] | strftime }}" autocomplete="off" disabled="">
<span class="input-group-btn">
<a href="{{ url_for('revoke_watch_gdrive') }}" class="btn btn-primary">Revoke</a>
</span>
{% if show_authenticate_google_drive %}
<div class="form-group required">
<a href="{{ url_for('authenticate_google_drive') }}" class="btn btn-primary">{{_('Authenticate Google Drive')}}</a>
</div>
{% else %}
<div class="form-group required">
<label for="config_google_drive_folder">{{_('Google drive Calibre folder')}}</label>
<select name="config_google_drive_folder" id="config_google_drive_folder" class="form-control">
{% for gdrivefolder in gdrivefolders %}
<option value="{{ gdrivefolder.title }}" {% if gdrivefolder.title == content.config_google_drive_folder %}selected{% endif %}>{{ gdrivefolder.title }}</option>
{% endfor %}
</select>
</div>
{% if content.config_google_drive_watch_changes_response %}
<label for="config_google_drive_watch_changes_response">{{_('Metadata Watch Channel ID')}}</label>
<div class="form-group input-group required">
<input type="text" class="form-control" name="config_google_drive_watch_changes_response" id="config_google_drive_watch_changes_response" value="{{ content.config_google_drive_watch_changes_response['id'] }} expires on {{ content.config_google_drive_watch_changes_response['expiration'] | strftime }}" autocomplete="off" disabled="">
<span class="input-group-btn"><a href="{{ url_for('revoke_watch_gdrive') }}" class="btn btn-primary">{{_('Revoke')}}</a></span>
</div>
{% else %}
<a href="{{ url_for('watch_gdrive') }}" class="btn btn-primary">Enable watch of metadata.db</a>
<a href="{{ url_for('watch_gdrive') }}" class="btn btn-primary">Enable watch of metadata.db</a>
{% endif %}
</div>
{% endif %}
{% endif %}
</div>
{% endif %}
<div class="form-group">
<label for="config_port">{{_('Server Port')}}</label>
<input type="number" min="1" max="65535" class="form-control" name="config_port" id="config_port" value="{% if content.config_port != None %}{{ content.config_port }}{% endif %}" autocomplete="off" required>

File diff suppressed because it is too large Load Diff

View File

@ -14,7 +14,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Calibre-web\n"
"Report-Msgid-Bugs-To: https://github.com/janeczku/calibre-web\n"
"POT-Creation-Date: 2018-04-01 19:27+0200\n"
"POT-Creation-Date: 2018-06-02 10:45+0200\n"
"PO-Revision-Date: 2017-04-04 15:09+0200\n"
"Last-Translator: Juan F. Villa <juan.villa@paisdelconocimiento.org>\n"
"Language: es\n"
@ -29,57 +29,57 @@ msgstr ""
msgid "not installed"
msgstr "No instalado"
#: cps/helper.py:78
#: cps/helper.py:79
#, python-format
msgid "kindlegen binary %(kindlepath)s not found"
msgstr ""
#: cps/helper.py:84
#: cps/helper.py:85
#, python-format
msgid "epub format not found for book id: %(book)d"
msgstr ""
#: cps/helper.py:94
#: cps/helper.py:95
msgid "kindlegen failed, no execution permissions"
msgstr ""
#: cps/helper.py:109
#: cps/helper.py:110
#, python-format
msgid "Kindlegen failed with Error %(error)s. Message: %(message)s"
msgstr ""
#: cps/helper.py:188
#: cps/helper.py:189
#, python-format
msgid "Failed to send mail: %s"
msgstr "Fallo al enviar el correo : %s"
#: cps/helper.py:195
#: cps/helper.py:196
msgid "Calibre-web test email"
msgstr "Prueba de Correo Calibre-web"
#: cps/helper.py:196 cps/helper.py:208
#: cps/helper.py:197 cps/helper.py:209
msgid "This email has been sent via calibre web."
msgstr "Este mensaje ha sido enviado via Calibre Web."
#: cps/helper.py:205 cps/templates/detail.html:44
#: cps/helper.py:206 cps/templates/detail.html:44
msgid "Send to Kindle"
msgstr "Enviar a Kindle"
#: cps/helper.py:225 cps/helper.py:239
#: cps/helper.py:226 cps/helper.py:240
msgid "Could not find any formats suitable for sending by email"
msgstr "Formato no compatible para enviar por correo electronico"
#: cps/helper.py:340
#: cps/helper.py:341
#, python-format
msgid "Rename title from: \"%s\" to \"%s\" failed with error: %s"
msgstr ""
#: cps/helper.py:349
#: cps/helper.py:350
#, python-format
msgid "Rename author from: \"%s\" to \"%s\" failed with error: %s"
msgstr ""
#: cps/ub.py:684
#: cps/ub.py:694
msgid "Guest"
msgstr "Invitado"
@ -147,7 +147,7 @@ msgstr "Libros al azar"
msgid "Author list"
msgstr "Lista de autores"
#: cps/web.py:1220 cps/web.py:1278 cps/web.py:1408 cps/web.py:1903
#: cps/web.py:1220 cps/web.py:1278 cps/web.py:1408 cps/web.py:1917
msgid "Error opening eBook. File does not exist or file is not accessible:"
msgstr "Error en la apertura del eBook. El archivo no existe o no es accesible:"
@ -186,308 +186,330 @@ msgstr ""
msgid "Statistics"
msgstr "Estadisticas"
#: cps/web.py:1641
#: cps/web.py:1573
msgid ""
"Callback domain is not verified, please follow steps to verify domain in "
"google developer console"
msgstr ""
#: cps/web.py:1651
msgid "Server restarted, please reload page"
msgstr "Servidor reiniciado. Por favor, recargue la página"
#: cps/web.py:1643
#: cps/web.py:1653
msgid "Performing shutdown of server, please close window"
msgstr "Servidor en proceso de apagado. Por favor, cierre la ventana."
#: cps/web.py:1659
#: cps/web.py:1669
msgid "Update done"
msgstr "Actualización realizada"
#: cps/web.py:1716
#: cps/web.py:1726
#, python-format
msgid "Published after %s"
msgstr ""
#: cps/web.py:1721
#: cps/web.py:1731
msgid "Published before "
msgstr ""
#: cps/web.py:1767 cps/web.py:1780
#: cps/web.py:1777 cps/web.py:1790
msgid "search"
msgstr "búsqueda"
#: cps/web.py:1816
msgid "not found on GDrive"
msgstr ""
#: cps/templates/index.xml:39 cps/templates/index.xml:42
#: cps/templates/layout.html:141 cps/web.py:1858
#: cps/templates/layout.html:143 cps/web.py:1872
msgid "Read Books"
msgstr "Libros leídos"
#: cps/templates/index.xml:46 cps/templates/index.xml:49
#: cps/templates/layout.html:143 cps/web.py:1861
#: cps/templates/layout.html:145 cps/web.py:1875
msgid "Unread Books"
msgstr "Libros no leídos"
#: cps/web.py:1936 cps/web.py:1938 cps/web.py:1940 cps/web.py:1949
#: cps/web.py:1950 cps/web.py:1952 cps/web.py:1954 cps/web.py:1963
msgid "Read a Book"
msgstr "Leer un libro"
#: cps/web.py:2001 cps/web.py:2718
#: cps/web.py:2015 cps/web.py:2751
msgid "Please fill out all fields!"
msgstr "¡Por favor completar todos los campos!"
#: cps/web.py:2002 cps/web.py:2019 cps/web.py:2024 cps/web.py:2026
#: cps/web.py:2016 cps/web.py:2033 cps/web.py:2038 cps/web.py:2040
msgid "register"
msgstr "registrarse"
#: cps/web.py:2018
#: cps/web.py:2032
msgid "An unknown error occured. Please try again later."
msgstr "Error desconocido. Por favor, inténtelo de nuevo mas tarde."
#: cps/web.py:2023
#: cps/web.py:2037
msgid "This username or email address is already in use."
msgstr "Usuario o dirección de correo en uso."
#: cps/web.py:2042 cps/web.py:2138
#: cps/web.py:2056 cps/web.py:2152
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "Sesion iniciada como : '%(nickname)s'"
#: cps/web.py:2047
#: cps/web.py:2061
msgid "Wrong Username or Password"
msgstr "Usuario o contraseña invalido"
#: cps/web.py:2053 cps/web.py:2074
#: cps/web.py:2067 cps/web.py:2088
msgid "login"
msgstr "Iniciar sesión"
#: cps/web.py:2086 cps/web.py:2117
#: cps/web.py:2100 cps/web.py:2131
msgid "Token not found"
msgstr ""
#: cps/web.py:2094 cps/web.py:2125
#: cps/web.py:2108 cps/web.py:2139
msgid "Token has expired"
msgstr ""
#: cps/web.py:2102
#: cps/web.py:2116
msgid "Success! Please return to your device"
msgstr ""
#: cps/web.py:2152
#: cps/web.py:2166
msgid "Please configure the SMTP mail settings first..."
msgstr "Configurar primero los parametros SMTP por favor..."
#: cps/web.py:2156
#: cps/web.py:2170
#, python-format
msgid "Book successfully send to %(kindlemail)s"
msgstr "Envio de Libro a %(kindlemail)s correctamente"
#: cps/web.py:2160
#: cps/web.py:2174
#, python-format
msgid "There was an error sending this book: %(res)s"
msgstr "Ha sucedido un error en el envio del Libro: %(res)s"
#: cps/web.py:2162 cps/web.py:2805
#: cps/web.py:2176 cps/web.py:2839
msgid "Please configure your kindle email address first..."
msgstr "Configurar primero la dirección de correo Kindle por favor..."
#: cps/web.py:2206
#: cps/web.py:2220
#, python-format
msgid "Book has been added to shelf: %(sname)s"
msgstr "El libro fue agregado a el estante: %(sname)s"
#: cps/web.py:2244
#: cps/web.py:2258
#, python-format
msgid "Book has been removed from shelf: %(sname)s"
msgstr "El libro fue removido del estante: %(sname)s"
#: cps/web.py:2250
#: cps/web.py:2264
#, python-format
msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s"
msgstr ""
#: cps/web.py:2270 cps/web.py:2294
#: cps/web.py:2284 cps/web.py:2308
#, python-format
msgid "A shelf with the name '%(title)s' already exists."
msgstr "Une étagère de ce nom '%(title)s' existe déjà."
#: cps/web.py:2275
#: cps/web.py:2289
#, python-format
msgid "Shelf %(title)s created"
msgstr "Estante %(title)s creado"
#: cps/web.py:2277 cps/web.py:2305
#: cps/web.py:2291 cps/web.py:2319
msgid "There was an error"
msgstr "Ha sucedido un error"
#: cps/web.py:2278 cps/web.py:2280
#: cps/web.py:2292 cps/web.py:2294
msgid "create a shelf"
msgstr "crear un estante"
#: cps/web.py:2303
#: cps/web.py:2317
#, python-format
msgid "Shelf %(title)s changed"
msgstr "Estante %(title)s cambiado"
#: cps/web.py:2306 cps/web.py:2308
#: cps/web.py:2320 cps/web.py:2322
msgid "Edit a shelf"
msgstr "Editar un estante"
#: cps/web.py:2329
#: cps/web.py:2343
#, python-format
msgid "successfully deleted shelf %(name)s"
msgstr "Estante %(name)s fue borrado correctamente"
#: cps/web.py:2351
#: cps/web.py:2365
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "Estante: '%(name)s'"
#: cps/web.py:2354
#: cps/web.py:2368
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr ""
#: cps/web.py:2385
#: cps/web.py:2399
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "Cambiar orden del estante: '%(name)s'"
#: cps/web.py:2454
#: cps/web.py:2469
msgid "Found an existing account for this email address."
msgstr "Existe una cuenta vinculada a esta dirección de correo."
#: cps/web.py:2456 cps/web.py:2460
#: cps/web.py:2471 cps/web.py:2475
#, python-format
msgid "%(name)s's profile"
msgstr "Perfil de %(name)s"
#: cps/web.py:2457
#: cps/web.py:2472
msgid "Profile updated"
msgstr "Perfil actualizado"
#: cps/web.py:2469
#: cps/web.py:2484
msgid "Unknown"
msgstr ""
#: cps/web.py:2482
#: cps/web.py:2497
msgid "Admin page"
msgstr "Página de administración"
#: cps/web.py:2553
msgid "Keyfile location is not valid, please enter correct path"
#: cps/web.py:2520
msgid "Import of optional GDrive requirements missing"
msgstr ""
#: cps/web.py:2556 cps/web.py:2567 cps/web.py:2660 cps/web.py:2679
#: cps/web.py:2685 cps/web.py:2699
#: cps/web.py:2523
msgid "client_secret.json is missing or not readable"
msgstr ""
#: cps/web.py:2528 cps/web.py:2553
msgid "client_secret.json is not configured for web application"
msgstr ""
#: cps/web.py:2556 cps/web.py:2582 cps/web.py:2593 cps/web.py:2686
#: cps/web.py:2706 cps/web.py:2713 cps/web.py:2732
msgid "Basic Configuration"
msgstr "Configuración básica"
#: cps/web.py:2564
#: cps/web.py:2579
msgid "Keyfile location is not valid, please enter correct path"
msgstr ""
#: cps/web.py:2590
msgid "Certfile location is not valid, please enter correct path"
msgstr ""
#: cps/web.py:2657
#: cps/web.py:2683
msgid "Logfile location is not valid, please enter correct path"
msgstr ""
#: cps/web.py:2672
#: cps/web.py:2698
msgid "Calibre-web configuration updated"
msgstr "Configuración de Calibre-web actualizada"
#: cps/web.py:2683
#: cps/web.py:2710
msgid "DB location is not valid, please enter correct path"
msgstr "Localicación de la BD inválida. Por favor, introduzca la ruta correcta."
#: cps/templates/admin.html:34 cps/web.py:2720 cps/web.py:2775
#: cps/templates/admin.html:34 cps/web.py:2753 cps/web.py:2809
msgid "Add new user"
msgstr "Agregar un nuevo usuario"
#: cps/web.py:2765
#: cps/web.py:2799
#, python-format
msgid "User '%(user)s' created"
msgstr "Usuario '%(user)s' creado"
#: cps/web.py:2769
#: cps/web.py:2803
msgid "Found an existing account for this email address or nickname."
msgstr ""
"Se ha encontrado una cuenta vinculada a esta dirección de correo o nombre"
" de usuario."
#: cps/web.py:2793
#: cps/web.py:2827
msgid "Mail settings updated"
msgstr "Parámetros de correo actualizados"
#: cps/web.py:2800
#: cps/web.py:2834
#, python-format
msgid "Test E-Mail successfully send to %(kindlemail)s"
msgstr "Exito al realizar envio de prueba a %(kindlemail)s"
#: cps/web.py:2803
#: cps/web.py:2837
#, python-format
msgid "There was an error sending the Test E-Mail: %(res)s"
msgstr "Error al realizar envio de prueba a E-Mail: %(res)s"
#: cps/web.py:2807
#: cps/web.py:2841
msgid "E-Mail settings updated"
msgstr "Ajustes de correo electrónico actualizados"
#: cps/web.py:2808
#: cps/web.py:2842
msgid "Edit mail settings"
msgstr "Editar parametros de correo"
#: cps/web.py:2837
#: cps/web.py:2871
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Usuario '%(nick)s' borrado"
#: cps/web.py:2945
#: cps/web.py:2980
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Usuario '%(nick)s' actualizado"
#: cps/web.py:2948
#: cps/web.py:2983
msgid "An unknown error occured."
msgstr "Error inesperado."
#: cps/web.py:2951
#: cps/web.py:2986
#, python-format
msgid "Edit User %(nick)s"
msgstr "Editar Usuario %(nick)s"
#: cps/web.py:2967
#: cps/web.py:3002
msgid "Error opening eBook. File does not exist or file is not accessible"
msgstr ""
#: cps/web.py:2982 cps/web.py:3193 cps/web.py:3198 cps/web.py:3344
#: cps/web.py:3017 cps/web.py:3228 cps/web.py:3233 cps/web.py:3379
msgid "edit metadata"
msgstr "editar metainformación"
#: cps/web.py:2992 cps/web.py:3238
#: cps/web.py:3027 cps/web.py:3273
#, python-format
msgid "File extension \"%s\" is not allowed to be uploaded to this server"
msgstr "No se permite subir archivos con la extensión \"%s\" a este servidor"
#: cps/web.py:3003
#: cps/web.py:3038
#, python-format
msgid "Failed to store file %s."
msgstr ""
#: cps/web.py:3025 cps/web.py:3029
#: cps/web.py:3060 cps/web.py:3064
msgid "unknown"
msgstr ""
#: cps/web.py:3052
#: cps/web.py:3087
msgid "Cover is not a jpg file, can't save"
msgstr ""
#: cps/web.py:3244
#: cps/web.py:3279
msgid "File to be uploaded must have an extension"
msgstr "El archivo a subir debe tener una extensión"
#: cps/web.py:3263
#: cps/web.py:3298
#, python-format
msgid "Failed to create path %s (Permission denied)."
msgstr "Fallo al crear la ruta %s (permiso negado)"
#: cps/web.py:3268
#: cps/web.py:3303
#, python-format
msgid "Failed to store file %s (Permission denied)."
msgstr "Fallo al almacenar el archivo %s (permiso negado)"
#: cps/web.py:3273
#: cps/web.py:3308
#, python-format
msgid "Failed to delete file %s (Permission denied)."
msgstr "Fallo al borrar el archivo %s (permiso negado)"
@ -512,7 +534,7 @@ msgstr "Kindle"
msgid "DLS"
msgstr "DLS"
#: cps/templates/admin.html:12 cps/templates/layout.html:69
#: cps/templates/admin.html:12 cps/templates/layout.html:71
msgid "Admin"
msgstr "Administración"
@ -521,7 +543,7 @@ msgstr "Administración"
msgid "Download"
msgstr "Descarga"
#: cps/templates/admin.html:14 cps/templates/layout.html:62
#: cps/templates/admin.html:14 cps/templates/layout.html:64
msgid "Upload"
msgstr "Subir archivo"
@ -573,7 +595,7 @@ msgstr "Configuración"
msgid "Calibre DB dir"
msgstr "Dir DB Calibre"
#: cps/templates/admin.html:61 cps/templates/config_edit.html:91
#: cps/templates/admin.html:61 cps/templates/config_edit.html:87
msgid "Log Level"
msgstr "Nivel de registro"
@ -581,7 +603,7 @@ msgstr "Nivel de registro"
msgid "Port"
msgstr "Puerto"
#: cps/templates/admin.html:63 cps/templates/config_edit.html:68
#: cps/templates/admin.html:63 cps/templates/config_edit.html:64
msgid "Books per page"
msgstr "Libros por página"
@ -644,9 +666,9 @@ msgstr "Ok"
#: cps/templates/admin.html:105 cps/templates/admin.html:119
#: cps/templates/book_edit.html:135 cps/templates/book_edit.html:157
#: cps/templates/config_edit.html:223 cps/templates/email_edit.html:36
#: cps/templates/config_edit.html:219 cps/templates/email_edit.html:36
#: cps/templates/shelf.html:60 cps/templates/shelf_edit.html:19
#: cps/templates/shelf_order.html:12 cps/templates/user_edit.html:139
#: cps/templates/shelf_order.html:12 cps/templates/user_edit.html:147
msgid "Back"
msgstr "Regresar"
@ -692,7 +714,7 @@ msgstr "Descripcion"
msgid "Tags"
msgstr "Etiqueta"
#: cps/templates/book_edit.html:39 cps/templates/layout.html:152
#: cps/templates/book_edit.html:39 cps/templates/layout.html:154
#: cps/templates/search_form.html:54
msgid "Series"
msgstr "Series"
@ -739,9 +761,9 @@ msgstr "Ver libro tras la edicion"
msgid "Get metadata"
msgstr "Obtener metainformación"
#: cps/templates/book_edit.html:134 cps/templates/config_edit.html:221
#: cps/templates/book_edit.html:134 cps/templates/config_edit.html:217
#: cps/templates/login.html:20 cps/templates/search_form.html:96
#: cps/templates/shelf_edit.html:17 cps/templates/user_edit.html:137
#: cps/templates/shelf_edit.html:17 cps/templates/user_edit.html:145
msgid "Submit"
msgstr "Enviar"
@ -769,7 +791,7 @@ msgstr "Palabra clave"
msgid " Search keyword "
msgstr "Buscar palabras clave"
#: cps/templates/book_edit.html:175 cps/templates/layout.html:44
#: cps/templates/book_edit.html:175 cps/templates/layout.html:46
msgid "Go!"
msgstr "¡Vamos!"
@ -781,7 +803,7 @@ msgstr "Haga clic en la portada para cargar la metainformación en el formulario
msgid "Loading..."
msgstr "Cargando..."
#: cps/templates/book_edit.html:196 cps/templates/layout.html:216
#: cps/templates/book_edit.html:196 cps/templates/layout.html:218
msgid "Close"
msgstr "Cerrar"
@ -806,184 +828,180 @@ msgstr "¡Sin resultados! Por favor, pruebe otra palabra clave."
msgid "Location of Calibre database"
msgstr "Ubicación de la base de datos Calibre"
#: cps/templates/config_edit.html:13
#: cps/templates/config_edit.html:12
msgid "Use google drive?"
msgstr "¿Utiliza google drive?"
#: cps/templates/config_edit.html:17
msgid "Client id"
msgstr "Id cliente"
#: cps/templates/config_edit.html:18
msgid "Google drive config problem"
msgstr ""
#: cps/templates/config_edit.html:21
msgid "Client secret"
msgstr "Contraseña cliente"
#: cps/templates/config_edit.html:25
msgid "Calibre Base URL"
msgstr "URL Base de Calibre"
#: cps/templates/config_edit.html:29
#: cps/templates/config_edit.html:28
msgid "Google drive Calibre folder"
msgstr "Carpeta Calibre de Google drive"
#: cps/templates/config_edit.html:38
#: cps/templates/config_edit.html:36
msgid "Metadata Watch Channel ID"
msgstr "Metadata Watch Channel ID"
#: cps/templates/config_edit.html:52
#: cps/templates/config_edit.html:39
msgid "Revoke"
msgstr ""
#: cps/templates/config_edit.html:48
msgid "Server Port"
msgstr "Puerto del servidor"
#: cps/templates/config_edit.html:56
#: cps/templates/config_edit.html:52
msgid "SSL certfile location (leave it empty for non-SSL Servers)"
msgstr ""
#: cps/templates/config_edit.html:60
#: cps/templates/config_edit.html:56
msgid "SSL Keyfile location (leave it empty for non-SSL Servers)"
msgstr ""
#: cps/templates/config_edit.html:64 cps/templates/layout.html:128
#: cps/templates/layout.html:129 cps/templates/shelf_edit.html:7
#: cps/templates/config_edit.html:60 cps/templates/layout.html:130
#: cps/templates/layout.html:131 cps/templates/shelf_edit.html:7
msgid "Title"
msgstr "Titulo"
#: cps/templates/config_edit.html:72
#: cps/templates/config_edit.html:68
msgid "No. of random books to show"
msgstr "Número de libros aletorios a mostrar"
#: cps/templates/config_edit.html:76
#: cps/templates/config_edit.html:72
msgid "Regular expression for ignoring columns"
msgstr "Expresión regular para ignorar columnas"
#: cps/templates/config_edit.html:80
#: cps/templates/config_edit.html:76
msgid "Regular expression for title sorting"
msgstr "Expresión regular para ordenar títulos"
#: cps/templates/config_edit.html:84
#: cps/templates/config_edit.html:80
msgid "Tags for Mature Content"
msgstr ""
#: cps/templates/config_edit.html:100
#: cps/templates/config_edit.html:96
msgid "Location and name of logfile (calibre-web.log for no entry)"
msgstr ""
#: cps/templates/config_edit.html:106
#: cps/templates/config_edit.html:102
msgid "Enable uploading"
msgstr "Permitir subida"
#: cps/templates/config_edit.html:110
#: cps/templates/config_edit.html:106
msgid "Enable anonymous browsing"
msgstr "Permitir navegación anónima"
#: cps/templates/config_edit.html:114
#: cps/templates/config_edit.html:110
msgid "Enable public registration"
msgstr "Permitir registro público"
#: cps/templates/config_edit.html:118
#: cps/templates/config_edit.html:114
msgid "Enable remote login (\"magic link\")"
msgstr ""
#: cps/templates/config_edit.html:123
#: cps/templates/config_edit.html:119
msgid "Use"
msgstr ""
#: cps/templates/config_edit.html:124
#: cps/templates/config_edit.html:120
msgid "Obtain an API Key"
msgstr ""
#: cps/templates/config_edit.html:128
#: cps/templates/config_edit.html:124
msgid "Goodreads API Key"
msgstr ""
#: cps/templates/config_edit.html:132
#: cps/templates/config_edit.html:128
msgid "Goodreads API Secret"
msgstr ""
#: cps/templates/config_edit.html:137
#: cps/templates/config_edit.html:133
msgid "Default Settings for new users"
msgstr "Ajustes por defecto para nuevos usuarios"
#: cps/templates/config_edit.html:140 cps/templates/user_edit.html:94
#: cps/templates/config_edit.html:136 cps/templates/user_edit.html:102
msgid "Admin user"
msgstr "Usuario Administrador"
#: cps/templates/config_edit.html:144 cps/templates/user_edit.html:103
#: cps/templates/config_edit.html:140 cps/templates/user_edit.html:111
msgid "Allow Downloads"
msgstr "Permitir descargas"
#: cps/templates/config_edit.html:148 cps/templates/user_edit.html:107
#: cps/templates/config_edit.html:144 cps/templates/user_edit.html:115
msgid "Allow Uploads"
msgstr "Permitir subidas de archivos"
#: cps/templates/config_edit.html:152 cps/templates/user_edit.html:111
#: cps/templates/config_edit.html:148 cps/templates/user_edit.html:119
msgid "Allow Edit"
msgstr "Permitir editar"
#: cps/templates/config_edit.html:156 cps/templates/user_edit.html:115
#: cps/templates/config_edit.html:152 cps/templates/user_edit.html:123
msgid "Allow Delete books"
msgstr ""
#: cps/templates/config_edit.html:160 cps/templates/user_edit.html:120
#: cps/templates/config_edit.html:156 cps/templates/user_edit.html:128
msgid "Allow Changing Password"
msgstr "Permitir cambiar la clave"
#: cps/templates/config_edit.html:164 cps/templates/user_edit.html:124
#: cps/templates/config_edit.html:160 cps/templates/user_edit.html:132
msgid "Allow Editing Public Shelfs"
msgstr ""
#: cps/templates/config_edit.html:168
#: cps/templates/config_edit.html:164
msgid "Default visiblities for new users"
msgstr ""
#: cps/templates/config_edit.html:172 cps/templates/user_edit.html:46
#: cps/templates/config_edit.html:168 cps/templates/user_edit.html:54
msgid "Show random books"
msgstr "Mostrar libros al azar"
#: cps/templates/config_edit.html:176 cps/templates/user_edit.html:50
#: cps/templates/config_edit.html:172 cps/templates/user_edit.html:58
msgid "Show recent books"
msgstr ""
#: cps/templates/config_edit.html:180 cps/templates/user_edit.html:54
#: cps/templates/config_edit.html:176 cps/templates/user_edit.html:62
msgid "Show sorted books"
msgstr ""
#: cps/templates/config_edit.html:184 cps/templates/user_edit.html:58
#: cps/templates/config_edit.html:180 cps/templates/user_edit.html:66
msgid "Show hot books"
msgstr "Mostrar libros populares"
#: cps/templates/config_edit.html:188 cps/templates/user_edit.html:62
#: cps/templates/config_edit.html:184 cps/templates/user_edit.html:70
msgid "Show best rated books"
msgstr "Mostrar libros mejor valorados"
#: cps/templates/config_edit.html:192 cps/templates/user_edit.html:66
#: cps/templates/config_edit.html:188 cps/templates/user_edit.html:74
msgid "Show language selection"
msgstr "Mostrar lenguaje seleccionado"
#: cps/templates/config_edit.html:196 cps/templates/user_edit.html:70
#: cps/templates/config_edit.html:192 cps/templates/user_edit.html:78
msgid "Show series selection"
msgstr "Mostrar series seleccionadas"
#: cps/templates/config_edit.html:200 cps/templates/user_edit.html:74
#: cps/templates/config_edit.html:196 cps/templates/user_edit.html:82
msgid "Show category selection"
msgstr "Mostrar categorias elegidas"
#: cps/templates/config_edit.html:204 cps/templates/user_edit.html:78
#: cps/templates/config_edit.html:200 cps/templates/user_edit.html:86
msgid "Show author selection"
msgstr "Mostrar selección de autores"
#: cps/templates/config_edit.html:208 cps/templates/user_edit.html:82
#: cps/templates/config_edit.html:204 cps/templates/user_edit.html:90
msgid "Show read and unread"
msgstr "Mostrar leídos y no leídos"
#: cps/templates/config_edit.html:212 cps/templates/user_edit.html:86
#: cps/templates/config_edit.html:208 cps/templates/user_edit.html:94
msgid "Show random books in detail view"
msgstr "Mostrar libro aleatorios con vista detallada"
#: cps/templates/config_edit.html:216 cps/templates/user_edit.html:99
#: cps/templates/config_edit.html:212 cps/templates/user_edit.html:107
msgid "Show mature content"
msgstr ""
#: cps/templates/config_edit.html:226 cps/templates/layout.html:77
#: cps/templates/config_edit.html:222 cps/templates/layout.html:79
#: cps/templates/login.html:4
msgid "Login"
msgstr "Inicio de Sesion"
@ -1054,12 +1072,12 @@ msgstr "Guardar cambios"
msgid "Save settings and send Test E-Mail"
msgstr "Guardar cambios y enviar un correo de prueba"
#: cps/templates/feed.xml:20 cps/templates/layout.html:200
#: cps/templates/feed.xml:20 cps/templates/layout.html:202
msgid "Next"
msgstr "Siguiente"
#: cps/templates/feed.xml:29 cps/templates/index.xml:7
#: cps/templates/layout.html:41 cps/templates/layout.html:42
#: cps/templates/layout.html:43 cps/templates/layout.html:44
msgid "Search"
msgstr "Buscar"
@ -1071,7 +1089,7 @@ msgstr "Descubrir (Libros al azar)"
msgid "Start"
msgstr "Iniciar"
#: cps/templates/index.xml:14 cps/templates/layout.html:134
#: cps/templates/index.xml:14 cps/templates/layout.html:136
msgid "Hot Books"
msgstr "Libros Populares"
@ -1079,7 +1097,7 @@ msgstr "Libros Populares"
msgid "Popular publications from this catalog based on Downloads."
msgstr "Publicaciones mas populares para este catálogo basadas en las descargas."
#: cps/templates/index.xml:20 cps/templates/layout.html:137
#: cps/templates/index.xml:20 cps/templates/layout.html:139
msgid "Best rated Books"
msgstr "Libros mejor valorados"
@ -1099,7 +1117,7 @@ msgstr "Libros recientes"
msgid "Show Random Books"
msgstr "Mostrar libros al azar"
#: cps/templates/index.xml:52 cps/templates/layout.html:155
#: cps/templates/index.xml:52 cps/templates/layout.html:157
msgid "Authors"
msgstr "Autores"
@ -1115,7 +1133,7 @@ msgstr "Libros ordenados por Categorias"
msgid "Books ordered by series"
msgstr "Libros ordenados por Series"
#: cps/templates/index.xml:70 cps/templates/layout.html:161
#: cps/templates/index.xml:70 cps/templates/layout.html:163
msgid "Public Shelves"
msgstr "Estantes públicos"
@ -1123,7 +1141,7 @@ msgstr "Estantes públicos"
msgid "Books organized in public shelfs, visible to everyone"
msgstr ""
#: cps/templates/index.xml:77 cps/templates/layout.html:165
#: cps/templates/index.xml:77 cps/templates/layout.html:167
msgid "Your Shelves"
msgstr "Sus estantes"
@ -1131,88 +1149,88 @@ msgstr "Sus estantes"
msgid "User's own shelfs, only visible to the current user himself"
msgstr ""
#: cps/templates/layout.html:31
#: cps/templates/layout.html:33
msgid "Toggle navigation"
msgstr "Alternar navegación"
#: cps/templates/layout.html:52
#: cps/templates/layout.html:54
msgid "Advanced Search"
msgstr "Busqueda avanzada"
#: cps/templates/layout.html:73
#: cps/templates/layout.html:75
msgid "Logout"
msgstr "Cerrar sesión"
#: cps/templates/layout.html:78 cps/templates/register.html:18
#: cps/templates/layout.html:80 cps/templates/register.html:18
msgid "Register"
msgstr "Registro"
#: cps/templates/layout.html:103
#: cps/templates/layout.html:105
msgid "Uploading..."
msgstr ""
#: cps/templates/layout.html:104
#: cps/templates/layout.html:106
msgid "please don't refresh the page"
msgstr ""
#: cps/templates/layout.html:115
#: cps/templates/layout.html:117
msgid "Browse"
msgstr "Explorar"
#: cps/templates/layout.html:117
#: cps/templates/layout.html:119
msgid "Recently Added"
msgstr ""
#: cps/templates/layout.html:122
#: cps/templates/layout.html:124
msgid "Sorted Books"
msgstr ""
#: cps/templates/layout.html:126 cps/templates/layout.html:127
#: cps/templates/layout.html:128 cps/templates/layout.html:129
#: cps/templates/layout.html:130 cps/templates/layout.html:131
msgid "Sort By"
msgstr ""
#: cps/templates/layout.html:126
#: cps/templates/layout.html:128
msgid "Newest"
msgstr ""
#: cps/templates/layout.html:127
#: cps/templates/layout.html:129
msgid "Oldest"
msgstr ""
#: cps/templates/layout.html:128
#: cps/templates/layout.html:130
msgid "Ascending"
msgstr ""
#: cps/templates/layout.html:129
#: cps/templates/layout.html:131
msgid "Descending"
msgstr ""
#: cps/templates/layout.html:146
#: cps/templates/layout.html:148
msgid "Discover"
msgstr "Descubrir"
#: cps/templates/layout.html:149
#: cps/templates/layout.html:151
msgid "Categories"
msgstr "Categoria"
#: cps/templates/layout.html:158 cps/templates/search_form.html:75
#: cps/templates/layout.html:160 cps/templates/search_form.html:75
msgid "Languages"
msgstr "Lenguaje"
#: cps/templates/layout.html:170
#: cps/templates/layout.html:172
msgid "Create a Shelf"
msgstr "Crear un estante"
#: cps/templates/layout.html:171 cps/templates/stats.html:3
#: cps/templates/layout.html:173 cps/templates/stats.html:3
msgid "About"
msgstr "Acerca de"
#: cps/templates/layout.html:185
#: cps/templates/layout.html:187
msgid "Previous"
msgstr ""
#: cps/templates/layout.html:212
#: cps/templates/layout.html:214
msgid "Book Details"
msgstr ""
@ -1383,18 +1401,30 @@ msgid "Kindle E-Mail"
msgstr "Correo del Kindle"
#: cps/templates/user_edit.html:35
msgid "Theme"
msgstr ""
#: cps/templates/user_edit.html:37
msgid "Standard Theme"
msgstr ""
#: cps/templates/user_edit.html:38
msgid "caliBlur! Dark Theme (Beta)"
msgstr ""
#: cps/templates/user_edit.html:43
msgid "Show books with language"
msgstr "Mostrar lenguaje de los libros"
#: cps/templates/user_edit.html:37
#: cps/templates/user_edit.html:45
msgid "Show all"
msgstr "Mostrar Todo"
#: cps/templates/user_edit.html:131
#: cps/templates/user_edit.html:139
msgid "Delete this user"
msgstr "Borrar este usuario"
#: cps/templates/user_edit.html:146
#: cps/templates/user_edit.html:154
msgid "Recent Downloads"
msgstr "Descargas Recientes"

View File

@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Calibre-web\n"
"Report-Msgid-Bugs-To: https://github.com/janeczku/calibre-web\n"
"POT-Creation-Date: 2018-04-13 21:13+0200\n"
"POT-Creation-Date: 2018-06-02 10:45+0200\n"
"PO-Revision-Date: 2017-10-26 22:42+0200\n"
"Last-Translator: Nicolas Roudninski <nicoroud@gmail.com>\n"
"Language: fr\n"
@ -153,7 +153,7 @@ msgstr "Livres au hasard"
msgid "Author list"
msgstr "Liste des auteurs"
#: cps/web.py:1220 cps/web.py:1278 cps/web.py:1408 cps/web.py:1903
#: cps/web.py:1220 cps/web.py:1278 cps/web.py:1408 cps/web.py:1917
msgid "Error opening eBook. File does not exist or file is not accessible:"
msgstr ""
"Erreur d'ouverture du livre numérique. Le fichier n'existe pas ou n'est "
@ -194,308 +194,330 @@ msgstr ""
msgid "Statistics"
msgstr "Statistiques"
#: cps/web.py:1641
#: cps/web.py:1573
msgid ""
"Callback domain is not verified, please follow steps to verify domain in "
"google developer console"
msgstr ""
#: cps/web.py:1651
msgid "Server restarted, please reload page"
msgstr "Serveur redémarré, merci de rafraîchir la page"
#: cps/web.py:1643
#: cps/web.py:1653
msgid "Performing shutdown of server, please close window"
msgstr ""
#: cps/web.py:1659
#: cps/web.py:1669
msgid "Update done"
msgstr "Mise à jour effectuée"
#: cps/web.py:1716
#: cps/web.py:1726
#, python-format
msgid "Published after %s"
msgstr ""
#: cps/web.py:1721
#: cps/web.py:1731
msgid "Published before "
msgstr ""
#: cps/web.py:1767 cps/web.py:1780
#: cps/web.py:1777 cps/web.py:1790
msgid "search"
msgstr "recherche"
#: cps/web.py:1816
msgid "not found on GDrive"
msgstr ""
#: cps/templates/index.xml:39 cps/templates/index.xml:42
#: cps/templates/layout.html:143 cps/web.py:1858
#: cps/templates/layout.html:143 cps/web.py:1872
msgid "Read Books"
msgstr "Livres lus"
#: cps/templates/index.xml:46 cps/templates/index.xml:49
#: cps/templates/layout.html:145 cps/web.py:1861
#: cps/templates/layout.html:145 cps/web.py:1875
msgid "Unread Books"
msgstr "Livres non-lus"
#: cps/web.py:1936 cps/web.py:1938 cps/web.py:1940 cps/web.py:1949
#: cps/web.py:1950 cps/web.py:1952 cps/web.py:1954 cps/web.py:1963
msgid "Read a Book"
msgstr "Lire un livre"
#: cps/web.py:2001 cps/web.py:2719
#: cps/web.py:2015 cps/web.py:2751
msgid "Please fill out all fields!"
msgstr "SVP, complétez tous les champs !"
#: cps/web.py:2002 cps/web.py:2019 cps/web.py:2024 cps/web.py:2026
#: cps/web.py:2016 cps/web.py:2033 cps/web.py:2038 cps/web.py:2040
msgid "register"
msgstr "senregistrer"
#: cps/web.py:2018
#: cps/web.py:2032
msgid "An unknown error occured. Please try again later."
msgstr "Une erreur a eu lieu. Merci de réessayez plus tard."
#: cps/web.py:2023
#: cps/web.py:2037
msgid "This username or email address is already in use."
msgstr "Ce nom d'utilisateur ou cette adresse de courriel est déjà utilisée."
#: cps/web.py:2042 cps/web.py:2138
#: cps/web.py:2056 cps/web.py:2152
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "Vous êtes maintenant connecté sous : '%(nickname)s'"
#: cps/web.py:2047
#: cps/web.py:2061
msgid "Wrong Username or Password"
msgstr "Mauvais nom d'utilisateur ou mot de passe"
#: cps/web.py:2053 cps/web.py:2074
#: cps/web.py:2067 cps/web.py:2088
msgid "login"
msgstr "connexion"
#: cps/web.py:2086 cps/web.py:2117
#: cps/web.py:2100 cps/web.py:2131
msgid "Token not found"
msgstr "Jeton non trouvé"
#: cps/web.py:2094 cps/web.py:2125
#: cps/web.py:2108 cps/web.py:2139
msgid "Token has expired"
msgstr "Jeton expiré"
#: cps/web.py:2102
#: cps/web.py:2116
msgid "Success! Please return to your device"
msgstr "Réussite! Merci de vous tourner vers votre appareil"
#: cps/web.py:2152
#: cps/web.py:2166
msgid "Please configure the SMTP mail settings first..."
msgstr "Veillez configurer les paramètres smtp d'abord..."
#: cps/web.py:2156
#: cps/web.py:2170
#, python-format
msgid "Book successfully send to %(kindlemail)s"
msgstr "Livres envoyés à %(kindlemail)s avec succès"
#: cps/web.py:2160
#: cps/web.py:2174
#, python-format
msgid "There was an error sending this book: %(res)s"
msgstr "Il y a eu une erreur en envoyant ce livre : %(res)s"
#: cps/web.py:2162 cps/web.py:2807
#: cps/web.py:2176 cps/web.py:2839
msgid "Please configure your kindle email address first..."
msgstr "Veuillez configurer votre adresse kindle d'abord..."
#: cps/web.py:2206
#: cps/web.py:2220
#, python-format
msgid "Book has been added to shelf: %(sname)s"
msgstr "Le livre a bien été ajouté à l'étagère : %(sname)s"
#: cps/web.py:2244
#: cps/web.py:2258
#, python-format
msgid "Book has been removed from shelf: %(sname)s"
msgstr "Le livre a été supprimé de l'étagère %(sname)s"
#: cps/web.py:2250
#: cps/web.py:2264
#, python-format
msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s"
msgstr ""
#: cps/web.py:2270 cps/web.py:2294
#: cps/web.py:2284 cps/web.py:2308
#, python-format
msgid "A shelf with the name '%(title)s' already exists."
msgstr "Une étagère de ce nom '%(title)s' existe déjà."
#: cps/web.py:2275
#: cps/web.py:2289
#, python-format
msgid "Shelf %(title)s created"
msgstr "Étagère %(title)s créée"
#: cps/web.py:2277 cps/web.py:2305
#: cps/web.py:2291 cps/web.py:2319
msgid "There was an error"
msgstr "Il y a eu une erreur"
#: cps/web.py:2278 cps/web.py:2280
#: cps/web.py:2292 cps/web.py:2294
msgid "create a shelf"
msgstr "créer une étagère"
#: cps/web.py:2303
#: cps/web.py:2317
#, python-format
msgid "Shelf %(title)s changed"
msgstr ""
#: cps/web.py:2306 cps/web.py:2308
#: cps/web.py:2320 cps/web.py:2322
msgid "Edit a shelf"
msgstr "Modifier une étagère"
#: cps/web.py:2329
#: cps/web.py:2343
#, python-format
msgid "successfully deleted shelf %(name)s"
msgstr "létagère %(name)s a été supprimé avec succès"
#: cps/web.py:2351
#: cps/web.py:2365
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "Étagère : '%(name)s'"
#: cps/web.py:2354
#: cps/web.py:2368
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr ""
#: cps/web.py:2385
#: cps/web.py:2399
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr ""
#: cps/web.py:2455
#: cps/web.py:2469
msgid "Found an existing account for this email address."
msgstr "Un compte avec cette adresse de courriel existe déjà."
#: cps/web.py:2457 cps/web.py:2461
#: cps/web.py:2471 cps/web.py:2475
#, python-format
msgid "%(name)s's profile"
msgstr "Profil de %(name)s"
#: cps/web.py:2458
#: cps/web.py:2472
msgid "Profile updated"
msgstr "Profil mis à jour"
#: cps/web.py:2470
#: cps/web.py:2484
msgid "Unknown"
msgstr ""
#: cps/web.py:2483
#: cps/web.py:2497
msgid "Admin page"
msgstr "Page administrateur"
#: cps/web.py:2554
msgid "Keyfile location is not valid, please enter correct path"
#: cps/web.py:2520
msgid "Import of optional GDrive requirements missing"
msgstr ""
#: cps/web.py:2557 cps/web.py:2568 cps/web.py:2661 cps/web.py:2680
#: cps/web.py:2686 cps/web.py:2700
#: cps/web.py:2523
msgid "client_secret.json is missing or not readable"
msgstr ""
#: cps/web.py:2528 cps/web.py:2553
msgid "client_secret.json is not configured for web application"
msgstr ""
#: cps/web.py:2556 cps/web.py:2582 cps/web.py:2593 cps/web.py:2686
#: cps/web.py:2706 cps/web.py:2713 cps/web.py:2732
msgid "Basic Configuration"
msgstr "Configuration basique"
#: cps/web.py:2565
#: cps/web.py:2579
msgid "Keyfile location is not valid, please enter correct path"
msgstr ""
#: cps/web.py:2590
msgid "Certfile location is not valid, please enter correct path"
msgstr ""
#: cps/web.py:2658
#: cps/web.py:2683
msgid "Logfile location is not valid, please enter correct path"
msgstr ""
#: cps/web.py:2673
#: cps/web.py:2698
msgid "Calibre-web configuration updated"
msgstr "Configuration de Calibre-web mise à jour"
#: cps/web.py:2684
#: cps/web.py:2710
msgid "DB location is not valid, please enter correct path"
msgstr ""
#: cps/templates/admin.html:34 cps/web.py:2721 cps/web.py:2777
#: cps/templates/admin.html:34 cps/web.py:2753 cps/web.py:2809
msgid "Add new user"
msgstr "Ajouter un nouvel utilisateur"
#: cps/web.py:2767
#: cps/web.py:2799
#, python-format
msgid "User '%(user)s' created"
msgstr "Utilisateur '%(user)s' créé"
#: cps/web.py:2771
#: cps/web.py:2803
msgid "Found an existing account for this email address or nickname."
msgstr "Un compte avec cette adresse de courriel ou ce surnom existe déjà."
#: cps/web.py:2795
#: cps/web.py:2827
msgid "Mail settings updated"
msgstr "Paramètres de courriel mis à jour"
#: cps/web.py:2802
#: cps/web.py:2834
#, python-format
msgid "Test E-Mail successfully send to %(kindlemail)s"
msgstr ""
#: cps/web.py:2805
#: cps/web.py:2837
#, python-format
msgid "There was an error sending the Test E-Mail: %(res)s"
msgstr ""
#: cps/web.py:2809
#: cps/web.py:2841
msgid "E-Mail settings updated"
msgstr "Préférences e-mail mises à jour"
#: cps/web.py:2810
#: cps/web.py:2842
msgid "Edit mail settings"
msgstr "Éditer les paramètres de courriel"
#: cps/web.py:2839
#: cps/web.py:2871
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Utilisateur '%(nick)s' supprimé"
#: cps/web.py:2948
#: cps/web.py:2980
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Utilisateur '%(nick)s' mis à jour"
#: cps/web.py:2951
#: cps/web.py:2983
msgid "An unknown error occured."
msgstr "Oups ! Une erreur inconnue a eu lieu."
#: cps/web.py:2954
#: cps/web.py:2986
#, python-format
msgid "Edit User %(nick)s"
msgstr "Éditer l'utilisateur %(nick)s"
#: cps/web.py:2970
#: cps/web.py:3002
msgid "Error opening eBook. File does not exist or file is not accessible"
msgstr ""
"Erreur à louverture du livre. Le fichier nexiste pas ou nest pas "
"accessible"
#: cps/web.py:2985 cps/web.py:3196 cps/web.py:3201 cps/web.py:3347
#: cps/web.py:3017 cps/web.py:3228 cps/web.py:3233 cps/web.py:3379
msgid "edit metadata"
msgstr "modifier les métadonnées"
#: cps/web.py:2995 cps/web.py:3241
#: cps/web.py:3027 cps/web.py:3273
#, python-format
msgid "File extension \"%s\" is not allowed to be uploaded to this server"
msgstr ""
#: cps/web.py:3006
#: cps/web.py:3038
#, python-format
msgid "Failed to store file %s."
msgstr ""
#: cps/web.py:3028 cps/web.py:3032
#: cps/web.py:3060 cps/web.py:3064
msgid "unknown"
msgstr "inconnu"
#: cps/web.py:3055
#: cps/web.py:3087
msgid "Cover is not a jpg file, can't save"
msgstr ""
#: cps/web.py:3247
#: cps/web.py:3279
msgid "File to be uploaded must have an extension"
msgstr "Pour être téléverser le fichier doit avoir une extension"
#: cps/web.py:3266
#: cps/web.py:3298
#, python-format
msgid "Failed to create path %s (Permission denied)."
msgstr "Impossible de créer le chemin %s (permission refusée)"
#: cps/web.py:3271
#: cps/web.py:3303
#, python-format
msgid "Failed to store file %s (Permission denied)."
msgstr "Impossible d'enregistrer le fichier %s (permission refusée)"
#: cps/web.py:3276
#: cps/web.py:3308
#, python-format
msgid "Failed to delete file %s (Permission denied)."
msgstr "Impossible de supprimer le fichier %s (permission refusée)"
@ -581,7 +603,7 @@ msgstr "Configuration"
msgid "Calibre DB dir"
msgstr ""
#: cps/templates/admin.html:61 cps/templates/config_edit.html:91
#: cps/templates/admin.html:61 cps/templates/config_edit.html:87
msgid "Log Level"
msgstr ""
@ -589,7 +611,7 @@ msgstr ""
msgid "Port"
msgstr "Port"
#: cps/templates/admin.html:63 cps/templates/config_edit.html:68
#: cps/templates/admin.html:63 cps/templates/config_edit.html:64
msgid "Books per page"
msgstr "Livres par page"
@ -652,7 +674,7 @@ msgstr "Daccord"
#: cps/templates/admin.html:105 cps/templates/admin.html:119
#: cps/templates/book_edit.html:135 cps/templates/book_edit.html:157
#: cps/templates/config_edit.html:223 cps/templates/email_edit.html:36
#: cps/templates/config_edit.html:219 cps/templates/email_edit.html:36
#: cps/templates/shelf.html:60 cps/templates/shelf_edit.html:19
#: cps/templates/shelf_order.html:12 cps/templates/user_edit.html:147
msgid "Back"
@ -747,7 +769,7 @@ msgstr "voir le livre après l'édition"
msgid "Get metadata"
msgstr "Obtenir les métadonnées"
#: cps/templates/book_edit.html:134 cps/templates/config_edit.html:221
#: cps/templates/book_edit.html:134 cps/templates/config_edit.html:217
#: cps/templates/login.html:20 cps/templates/search_form.html:96
#: cps/templates/shelf_edit.html:17 cps/templates/user_edit.html:145
msgid "Submit"
@ -814,184 +836,180 @@ msgstr "Aucun résultat, Merci dessayer un autre mot-clé."
msgid "Location of Calibre database"
msgstr "Localisation de la base de donnée Calibre"
#: cps/templates/config_edit.html:13
#: cps/templates/config_edit.html:12
msgid "Use google drive?"
msgstr "Utiliser Google drive?"
#: cps/templates/config_edit.html:17
msgid "Client id"
#: cps/templates/config_edit.html:18
msgid "Google drive config problem"
msgstr ""
#: cps/templates/config_edit.html:21
msgid "Client secret"
msgstr ""
#: cps/templates/config_edit.html:25
msgid "Calibre Base URL"
msgstr ""
#: cps/templates/config_edit.html:29
#: cps/templates/config_edit.html:28
msgid "Google drive Calibre folder"
msgstr "Dossier Calibre de Google Drive"
#: cps/templates/config_edit.html:38
#: cps/templates/config_edit.html:36
msgid "Metadata Watch Channel ID"
msgstr ""
#: cps/templates/config_edit.html:52
#: cps/templates/config_edit.html:39
msgid "Revoke"
msgstr ""
#: cps/templates/config_edit.html:48
msgid "Server Port"
msgstr ""
#: cps/templates/config_edit.html:56
#: cps/templates/config_edit.html:52
msgid "SSL certfile location (leave it empty for non-SSL Servers)"
msgstr ""
#: cps/templates/config_edit.html:60
#: cps/templates/config_edit.html:56
msgid "SSL Keyfile location (leave it empty for non-SSL Servers)"
msgstr ""
#: cps/templates/config_edit.html:64 cps/templates/layout.html:130
#: cps/templates/config_edit.html:60 cps/templates/layout.html:130
#: cps/templates/layout.html:131 cps/templates/shelf_edit.html:7
msgid "Title"
msgstr "Titre"
#: cps/templates/config_edit.html:72
#: cps/templates/config_edit.html:68
msgid "No. of random books to show"
msgstr ""
#: cps/templates/config_edit.html:76
#: cps/templates/config_edit.html:72
msgid "Regular expression for ignoring columns"
msgstr ""
#: cps/templates/config_edit.html:80
#: cps/templates/config_edit.html:76
msgid "Regular expression for title sorting"
msgstr ""
#: cps/templates/config_edit.html:84
#: cps/templates/config_edit.html:80
msgid "Tags for Mature Content"
msgstr "Mots clés pour contenue pour adulte"
#: cps/templates/config_edit.html:100
#: cps/templates/config_edit.html:96
msgid "Location and name of logfile (calibre-web.log for no entry)"
msgstr ""
#: cps/templates/config_edit.html:106
#: cps/templates/config_edit.html:102
msgid "Enable uploading"
msgstr "Autoriser le téléversement"
#: cps/templates/config_edit.html:110
#: cps/templates/config_edit.html:106
msgid "Enable anonymous browsing"
msgstr "Autoriser la navigation anonyme"
#: cps/templates/config_edit.html:114
#: cps/templates/config_edit.html:110
msgid "Enable public registration"
msgstr "Autoriser linscription publique"
#: cps/templates/config_edit.html:118
#: cps/templates/config_edit.html:114
msgid "Enable remote login (\"magic link\")"
msgstr ""
#: cps/templates/config_edit.html:123
#: cps/templates/config_edit.html:119
msgid "Use"
msgstr "Utiliser"
#: cps/templates/config_edit.html:124
#: cps/templates/config_edit.html:120
msgid "Obtain an API Key"
msgstr "Obtenir la clé API"
#: cps/templates/config_edit.html:128
#: cps/templates/config_edit.html:124
msgid "Goodreads API Key"
msgstr ""
#: cps/templates/config_edit.html:132
#: cps/templates/config_edit.html:128
msgid "Goodreads API Secret"
msgstr ""
#: cps/templates/config_edit.html:137
#: cps/templates/config_edit.html:133
msgid "Default Settings for new users"
msgstr "Réglages par défaut pour les nouveaux utilisateurs"
#: cps/templates/config_edit.html:140 cps/templates/user_edit.html:102
#: cps/templates/config_edit.html:136 cps/templates/user_edit.html:102
msgid "Admin user"
msgstr "Utilisateur admin"
#: cps/templates/config_edit.html:144 cps/templates/user_edit.html:111
#: cps/templates/config_edit.html:140 cps/templates/user_edit.html:111
msgid "Allow Downloads"
msgstr "Permettre les téléchargements"
#: cps/templates/config_edit.html:148 cps/templates/user_edit.html:115
#: cps/templates/config_edit.html:144 cps/templates/user_edit.html:115
msgid "Allow Uploads"
msgstr "Permettre les téléversements"
#: cps/templates/config_edit.html:152 cps/templates/user_edit.html:119
#: cps/templates/config_edit.html:148 cps/templates/user_edit.html:119
msgid "Allow Edit"
msgstr "Permettre l'édition"
#: cps/templates/config_edit.html:156 cps/templates/user_edit.html:123
#: cps/templates/config_edit.html:152 cps/templates/user_edit.html:123
msgid "Allow Delete books"
msgstr "Autoriser la suppression des livres"
#: cps/templates/config_edit.html:160 cps/templates/user_edit.html:128
#: cps/templates/config_edit.html:156 cps/templates/user_edit.html:128
msgid "Allow Changing Password"
msgstr "Permettre le changement de mot de passe"
#: cps/templates/config_edit.html:164 cps/templates/user_edit.html:132
#: cps/templates/config_edit.html:160 cps/templates/user_edit.html:132
msgid "Allow Editing Public Shelfs"
msgstr "Autoriser la modification détagères publiques"
#: cps/templates/config_edit.html:168
#: cps/templates/config_edit.html:164
msgid "Default visiblities for new users"
msgstr ""
#: cps/templates/config_edit.html:172 cps/templates/user_edit.html:54
#: cps/templates/config_edit.html:168 cps/templates/user_edit.html:54
msgid "Show random books"
msgstr "Montrer des livres au hasard"
#: cps/templates/config_edit.html:176 cps/templates/user_edit.html:58
#: cps/templates/config_edit.html:172 cps/templates/user_edit.html:58
msgid "Show recent books"
msgstr ""
#: cps/templates/config_edit.html:180 cps/templates/user_edit.html:62
#: cps/templates/config_edit.html:176 cps/templates/user_edit.html:62
msgid "Show sorted books"
msgstr ""
#: cps/templates/config_edit.html:184 cps/templates/user_edit.html:66
#: cps/templates/config_edit.html:180 cps/templates/user_edit.html:66
msgid "Show hot books"
msgstr "Montrer les livres populaires"
#: cps/templates/config_edit.html:188 cps/templates/user_edit.html:70
#: cps/templates/config_edit.html:184 cps/templates/user_edit.html:70
msgid "Show best rated books"
msgstr "Montrer les livres les mieux notés"
#: cps/templates/config_edit.html:192 cps/templates/user_edit.html:74
#: cps/templates/config_edit.html:188 cps/templates/user_edit.html:74
msgid "Show language selection"
msgstr "Montrer la sélection par langue"
#: cps/templates/config_edit.html:196 cps/templates/user_edit.html:78
#: cps/templates/config_edit.html:192 cps/templates/user_edit.html:78
msgid "Show series selection"
msgstr "Montrer la sélection par séries"
#: cps/templates/config_edit.html:200 cps/templates/user_edit.html:82
#: cps/templates/config_edit.html:196 cps/templates/user_edit.html:82
msgid "Show category selection"
msgstr "Montrer la sélection par catégories"
#: cps/templates/config_edit.html:204 cps/templates/user_edit.html:86
#: cps/templates/config_edit.html:200 cps/templates/user_edit.html:86
msgid "Show author selection"
msgstr "Montrer la sélection par auteur"
#: cps/templates/config_edit.html:208 cps/templates/user_edit.html:90
#: cps/templates/config_edit.html:204 cps/templates/user_edit.html:90
msgid "Show read and unread"
msgstr "Montrer lu et non-lu"
#: cps/templates/config_edit.html:212 cps/templates/user_edit.html:94
#: cps/templates/config_edit.html:208 cps/templates/user_edit.html:94
msgid "Show random books in detail view"
msgstr "Montrer aléatoirement des livres dans la vue détaillée"
#: cps/templates/config_edit.html:216 cps/templates/user_edit.html:107
#: cps/templates/config_edit.html:212 cps/templates/user_edit.html:107
msgid "Show mature content"
msgstr "Montrer le contenu pour adulte"
#: cps/templates/config_edit.html:226 cps/templates/layout.html:79
#: cps/templates/config_edit.html:222 cps/templates/layout.html:79
#: cps/templates/login.html:4
msgid "Login"
msgstr "Connexion"

View File

@ -14,7 +14,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Calibre-web\n"
"Report-Msgid-Bugs-To: https://github.com/janeczku/calibre-web\n"
"POT-Creation-Date: 2018-04-01 19:27+0200\n"
"POT-Creation-Date: 2018-06-02 10:45+0200\n"
"PO-Revision-Date: 2017-04-04 15:09+0200\n"
"Last-Translator: Marco Picone <marcovendere@gmail.com>\n"
"Language: it\n"
@ -29,57 +29,57 @@ msgstr ""
msgid "not installed"
msgstr "non installato"
#: cps/helper.py:78
#: cps/helper.py:79
#, python-format
msgid "kindlegen binary %(kindlepath)s not found"
msgstr "Non trovato"
#: cps/helper.py:84
#: cps/helper.py:85
#, python-format
msgid "epub format not found for book id: %(book)d"
msgstr "formato epub non trovato"
#: cps/helper.py:94
#: cps/helper.py:95
msgid "kindlegen failed, no execution permissions"
msgstr "non ci sono permessi"
#: cps/helper.py:109
#: cps/helper.py:110
#, python-format
msgid "Kindlegen failed with Error %(error)s. Message: %(message)s"
msgstr "errore"
#: cps/helper.py:188
#: cps/helper.py:189
#, python-format
msgid "Failed to send mail: %s"
msgstr "Impossibile inviare email: %s"
#: cps/helper.py:195
#: cps/helper.py:196
msgid "Calibre-web test email"
msgstr "test email Calibre-web"
#: cps/helper.py:196 cps/helper.py:208
#: cps/helper.py:197 cps/helper.py:209
msgid "This email has been sent via calibre web."
msgstr "L'email è stata inviata tramite Calibre Web."
#: cps/helper.py:205 cps/templates/detail.html:44
#: cps/helper.py:206 cps/templates/detail.html:44
msgid "Send to Kindle"
msgstr "Invia a Kindle"
#: cps/helper.py:225 cps/helper.py:239
#: cps/helper.py:226 cps/helper.py:240
msgid "Could not find any formats suitable for sending by email"
msgstr "Impossibile trovare i formati adatti per l'invio tramite email"
#: cps/helper.py:340
#: cps/helper.py:341
#, python-format
msgid "Rename title from: \"%s\" to \"%s\" failed with error: %s"
msgstr ""
#: cps/helper.py:349
#: cps/helper.py:350
#, python-format
msgid "Rename author from: \"%s\" to \"%s\" failed with error: %s"
msgstr ""
#: cps/ub.py:684
#: cps/ub.py:694
msgid "Guest"
msgstr "ospite"
@ -147,7 +147,7 @@ msgstr "Libri casuali"
msgid "Author list"
msgstr "Elenco degli autori"
#: cps/web.py:1220 cps/web.py:1278 cps/web.py:1408 cps/web.py:1903
#: cps/web.py:1220 cps/web.py:1278 cps/web.py:1408 cps/web.py:1917
msgid "Error opening eBook. File does not exist or file is not accessible:"
msgstr ""
"Errore durante l'apertura di eBook. Il file non esiste o il file non è "
@ -188,312 +188,334 @@ msgstr "Mancano autorizzazioni di esecuzione"
msgid "Statistics"
msgstr "Statistica"
#: cps/web.py:1641
#: cps/web.py:1573
msgid ""
"Callback domain is not verified, please follow steps to verify domain in "
"google developer console"
msgstr ""
#: cps/web.py:1651
msgid "Server restarted, please reload page"
msgstr "Server riavviato, ricarica pagina"
#: cps/web.py:1643
#: cps/web.py:1653
msgid "Performing shutdown of server, please close window"
msgstr "Eseguire l'arresto del server, chiudi la finestra."
#: cps/web.py:1659
#: cps/web.py:1669
msgid "Update done"
msgstr "Aggiornamento fatto"
#: cps/web.py:1716
#: cps/web.py:1726
#, python-format
msgid "Published after %s"
msgstr ""
#: cps/web.py:1721
#: cps/web.py:1731
msgid "Published before "
msgstr ""
#: cps/web.py:1767 cps/web.py:1780
#: cps/web.py:1777 cps/web.py:1790
msgid "search"
msgstr "ricerca"
#: cps/web.py:1816
msgid "not found on GDrive"
msgstr ""
#: cps/templates/index.xml:39 cps/templates/index.xml:42
#: cps/templates/layout.html:141 cps/web.py:1858
#: cps/templates/layout.html:143 cps/web.py:1872
msgid "Read Books"
msgstr "Leggere libri"
#: cps/templates/index.xml:46 cps/templates/index.xml:49
#: cps/templates/layout.html:143 cps/web.py:1861
#: cps/templates/layout.html:145 cps/web.py:1875
msgid "Unread Books"
msgstr "Libri non letti"
#: cps/web.py:1936 cps/web.py:1938 cps/web.py:1940 cps/web.py:1949
#: cps/web.py:1950 cps/web.py:1952 cps/web.py:1954 cps/web.py:1963
msgid "Read a Book"
msgstr "Leggere un libro"
#: cps/web.py:2001 cps/web.py:2718
#: cps/web.py:2015 cps/web.py:2751
msgid "Please fill out all fields!"
msgstr "Compila tutti i campi"
#: cps/web.py:2002 cps/web.py:2019 cps/web.py:2024 cps/web.py:2026
#: cps/web.py:2016 cps/web.py:2033 cps/web.py:2038 cps/web.py:2040
msgid "register"
msgstr "Registrare"
#: cps/web.py:2018
#: cps/web.py:2032
msgid "An unknown error occured. Please try again later."
msgstr "Si è verificato un errore sconosciuto. Per favore riprova più tardi."
#: cps/web.py:2023
#: cps/web.py:2037
msgid "This username or email address is already in use."
msgstr "Questo nome utente o indirizzo email è già in uso."
#: cps/web.py:2042 cps/web.py:2138
#: cps/web.py:2056 cps/web.py:2152
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "ora sei connesso come : '%(nickname)s'"
#: cps/web.py:2047
#: cps/web.py:2061
msgid "Wrong Username or Password"
msgstr "Nome utente o password errata"
#: cps/web.py:2053 cps/web.py:2074
#: cps/web.py:2067 cps/web.py:2088
msgid "login"
msgstr "Accesso"
#: cps/web.py:2086 cps/web.py:2117
#: cps/web.py:2100 cps/web.py:2131
msgid "Token not found"
msgstr "Token non trovato"
#: cps/web.py:2094 cps/web.py:2125
#: cps/web.py:2108 cps/web.py:2139
msgid "Token has expired"
msgstr "Il token è scaduto"
#: cps/web.py:2102
#: cps/web.py:2116
msgid "Success! Please return to your device"
msgstr "Successo! Torna al tuo dispositivo"
#: cps/web.py:2152
#: cps/web.py:2166
msgid "Please configure the SMTP mail settings first..."
msgstr "Configurare prima le impostazioni della posta SMTP..."
#: cps/web.py:2156
#: cps/web.py:2170
#, python-format
msgid "Book successfully send to %(kindlemail)s"
msgstr "Libro inviare con successo %(kindlemail)s correttamente"
#: cps/web.py:2160
#: cps/web.py:2174
#, python-format
msgid "There was an error sending this book: %(res)s"
msgstr "Si è verificato un errore durante l'invio di questo libro: %(res)s"
#: cps/web.py:2162 cps/web.py:2805
#: cps/web.py:2176 cps/web.py:2839
msgid "Please configure your kindle email address first..."
msgstr "Si prega di configurare innanzitutto il tuo indirizzo email..."
#: cps/web.py:2206
#: cps/web.py:2220
#, python-format
msgid "Book has been added to shelf: %(sname)s"
msgstr "Il libro è stato aggiunto alla mensola: %(sname)s"
#: cps/web.py:2244
#: cps/web.py:2258
#, python-format
msgid "Book has been removed from shelf: %(sname)s"
msgstr "Il libro è stato rimosso dalla mensola: %(sname)s"
#: cps/web.py:2250
#: cps/web.py:2264
#, python-format
msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s"
msgstr ""
#: cps/web.py:2270 cps/web.py:2294
#: cps/web.py:2284 cps/web.py:2308
#, python-format
msgid "A shelf with the name '%(title)s' already exists."
msgstr "Uno scaffale con il nome '%(title)s' esiste già."
#: cps/web.py:2275
#: cps/web.py:2289
#, python-format
msgid "Shelf %(title)s created"
msgstr "Mensola %(title)s creato"
#: cps/web.py:2277 cps/web.py:2305
#: cps/web.py:2291 cps/web.py:2319
msgid "There was an error"
msgstr "c'era un errore"
#: cps/web.py:2278 cps/web.py:2280
#: cps/web.py:2292 cps/web.py:2294
msgid "create a shelf"
msgstr "creare uno scaffale"
#: cps/web.py:2303
#: cps/web.py:2317
#, python-format
msgid "Shelf %(title)s changed"
msgstr "Mensola %(title)s cambiato"
#: cps/web.py:2306 cps/web.py:2308
#: cps/web.py:2320 cps/web.py:2322
msgid "Edit a shelf"
msgstr "Modifica un ripiano"
#: cps/web.py:2329
#: cps/web.py:2343
#, python-format
msgid "successfully deleted shelf %(name)s"
msgstr "cancellato con successo il ripiano %(name)s"
#: cps/web.py:2351
#: cps/web.py:2365
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "Mensola: '%(name)s'"
#: cps/web.py:2354
#: cps/web.py:2368
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr ""
"Errore durante l'apertura dello scaffale. La mensola non esiste o non è "
"accessibile"
#: cps/web.py:2385
#: cps/web.py:2399
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "Modificare l'ordine della mensola: '%(name)s'"
#: cps/web.py:2454
#: cps/web.py:2469
msgid "Found an existing account for this email address."
msgstr "Trovato un account esistente per questo indirizzo email."
#: cps/web.py:2456 cps/web.py:2460
#: cps/web.py:2471 cps/web.py:2475
#, python-format
msgid "%(name)s's profile"
msgstr "Profilo di %(name)s"
#: cps/web.py:2457
#: cps/web.py:2472
msgid "Profile updated"
msgstr "Profilo aggiornato"
#: cps/web.py:2469
#: cps/web.py:2484
msgid "Unknown"
msgstr ""
#: cps/web.py:2482
#: cps/web.py:2497
msgid "Admin page"
msgstr "Pagina di amministrazione"
#: cps/web.py:2553
msgid "Keyfile location is not valid, please enter correct path"
#: cps/web.py:2520
msgid "Import of optional GDrive requirements missing"
msgstr ""
#: cps/web.py:2556 cps/web.py:2567 cps/web.py:2660 cps/web.py:2679
#: cps/web.py:2685 cps/web.py:2699
#: cps/web.py:2523
msgid "client_secret.json is missing or not readable"
msgstr ""
#: cps/web.py:2528 cps/web.py:2553
msgid "client_secret.json is not configured for web application"
msgstr ""
#: cps/web.py:2556 cps/web.py:2582 cps/web.py:2593 cps/web.py:2686
#: cps/web.py:2706 cps/web.py:2713 cps/web.py:2732
msgid "Basic Configuration"
msgstr "Configurazione di base"
#: cps/web.py:2564
#: cps/web.py:2579
msgid "Keyfile location is not valid, please enter correct path"
msgstr ""
#: cps/web.py:2590
msgid "Certfile location is not valid, please enter correct path"
msgstr ""
#: cps/web.py:2657
#: cps/web.py:2683
msgid "Logfile location is not valid, please enter correct path"
msgstr ""
#: cps/web.py:2672
#: cps/web.py:2698
msgid "Calibre-web configuration updated"
msgstr "Aggiornamento della configurazione del calibro-web"
#: cps/web.py:2683
#: cps/web.py:2710
msgid "DB location is not valid, please enter correct path"
msgstr "Posizione DB non valida. Inserisci il percorso corretto."
#: cps/templates/admin.html:34 cps/web.py:2720 cps/web.py:2775
#: cps/templates/admin.html:34 cps/web.py:2753 cps/web.py:2809
msgid "Add new user"
msgstr "Aggiungi un nuovo utente"
#: cps/web.py:2765
#: cps/web.py:2799
#, python-format
msgid "User '%(user)s' created"
msgstr "utente '%(user)s' creato"
#: cps/web.py:2769
#: cps/web.py:2803
msgid "Found an existing account for this email address or nickname."
msgstr ""
"È stato trovato un account collegato a questo indirizzo e-mail o nome "
"utente."
#: cps/web.py:2793
#: cps/web.py:2827
msgid "Mail settings updated"
msgstr "Parametri di posta aggiornati"
#: cps/web.py:2800
#: cps/web.py:2834
#, python-format
msgid "Test E-Mail successfully send to %(kindlemail)s"
msgstr "Successo quando invii il test a %(kindlemail)s"
#: cps/web.py:2803
#: cps/web.py:2837
#, python-format
msgid "There was an error sending the Test E-Mail: %(res)s"
msgstr "Impossibile inviare il test a E-Mail: %(res)s"
#: cps/web.py:2807
#: cps/web.py:2841
msgid "E-Mail settings updated"
msgstr "Impostazioni email aggiornate"
#: cps/web.py:2808
#: cps/web.py:2842
msgid "Edit mail settings"
msgstr "Modificare i parametri della posta"
#: cps/web.py:2837
#: cps/web.py:2871
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "utente '%(nick)s' cancellati"
#: cps/web.py:2945
#: cps/web.py:2980
#, python-format
msgid "User '%(nick)s' updated"
msgstr "utente '%(nick)s' aggiornato"
#: cps/web.py:2948
#: cps/web.py:2983
msgid "An unknown error occured."
msgstr "Errore imprevisto."
#: cps/web.py:2951
#: cps/web.py:2986
#, python-format
msgid "Edit User %(nick)s"
msgstr "Modifica utente %(nick)s"
#: cps/web.py:2967
#: cps/web.py:3002
msgid "Error opening eBook. File does not exist or file is not accessible"
msgstr ""
"Errore durante l'apertura di eBook. Il file non esiste o il file non è "
"accessibile"
#: cps/web.py:2982 cps/web.py:3193 cps/web.py:3198 cps/web.py:3344
#: cps/web.py:3017 cps/web.py:3228 cps/web.py:3233 cps/web.py:3379
msgid "edit metadata"
msgstr "modificare la metainformazione"
#: cps/web.py:2992 cps/web.py:3238
#: cps/web.py:3027 cps/web.py:3273
#, python-format
msgid "File extension \"%s\" is not allowed to be uploaded to this server"
msgstr "Non è consentito caricare i file con l'estensione \"%s\" a questo server"
#: cps/web.py:3003
#: cps/web.py:3038
#, python-format
msgid "Failed to store file %s."
msgstr ""
#: cps/web.py:3025 cps/web.py:3029
#: cps/web.py:3060 cps/web.py:3064
msgid "unknown"
msgstr "Sconosciuto"
#: cps/web.py:3052
#: cps/web.py:3087
msgid "Cover is not a jpg file, can't save"
msgstr ""
#: cps/web.py:3244
#: cps/web.py:3279
msgid "File to be uploaded must have an extension"
msgstr "Il file da caricare deve avere un'estensione"
#: cps/web.py:3263
#: cps/web.py:3298
#, python-format
msgid "Failed to create path %s (Permission denied)."
msgstr "Impossibile creare il percorso %s (autorizzazione negata)"
#: cps/web.py:3268
#: cps/web.py:3303
#, python-format
msgid "Failed to store file %s (Permission denied)."
msgstr "Impossibile archiviare il file %s (autorizzazione negata)"
#: cps/web.py:3273
#: cps/web.py:3308
#, python-format
msgid "Failed to delete file %s (Permission denied)."
msgstr "Impossibile eliminare il file %s (autorizzazione negata)"
@ -518,7 +540,7 @@ msgstr "Kindle"
msgid "DLS"
msgstr "DLS"
#: cps/templates/admin.html:12 cps/templates/layout.html:69
#: cps/templates/admin.html:12 cps/templates/layout.html:71
msgid "Admin"
msgstr "Admin"
@ -527,7 +549,7 @@ msgstr "Admin"
msgid "Download"
msgstr "Download"
#: cps/templates/admin.html:14 cps/templates/layout.html:62
#: cps/templates/admin.html:14 cps/templates/layout.html:64
msgid "Upload"
msgstr "Upload"
@ -579,7 +601,7 @@ msgstr "Configurazione"
msgid "Calibre DB dir"
msgstr "Calibre DB dir"
#: cps/templates/admin.html:61 cps/templates/config_edit.html:91
#: cps/templates/admin.html:61 cps/templates/config_edit.html:87
msgid "Log Level"
msgstr "Livello del registro"
@ -587,7 +609,7 @@ msgstr "Livello del registro"
msgid "Port"
msgstr "Port"
#: cps/templates/admin.html:63 cps/templates/config_edit.html:68
#: cps/templates/admin.html:63 cps/templates/config_edit.html:64
msgid "Books per page"
msgstr "Libri per pagina"
@ -650,9 +672,9 @@ msgstr "Ok"
#: cps/templates/admin.html:105 cps/templates/admin.html:119
#: cps/templates/book_edit.html:135 cps/templates/book_edit.html:157
#: cps/templates/config_edit.html:223 cps/templates/email_edit.html:36
#: cps/templates/config_edit.html:219 cps/templates/email_edit.html:36
#: cps/templates/shelf.html:60 cps/templates/shelf_edit.html:19
#: cps/templates/shelf_order.html:12 cps/templates/user_edit.html:139
#: cps/templates/shelf_order.html:12 cps/templates/user_edit.html:147
msgid "Back"
msgstr "Indietro"
@ -698,7 +720,7 @@ msgstr "Descrizione"
msgid "Tags"
msgstr "Tags"
#: cps/templates/book_edit.html:39 cps/templates/layout.html:152
#: cps/templates/book_edit.html:39 cps/templates/layout.html:154
#: cps/templates/search_form.html:54
msgid "Series"
msgstr "Serie"
@ -745,9 +767,9 @@ msgstr "visualizzare il libro dopo la modifica"
msgid "Get metadata"
msgstr "Ottieni metadati"
#: cps/templates/book_edit.html:134 cps/templates/config_edit.html:221
#: cps/templates/book_edit.html:134 cps/templates/config_edit.html:217
#: cps/templates/login.html:20 cps/templates/search_form.html:96
#: cps/templates/shelf_edit.html:17 cps/templates/user_edit.html:137
#: cps/templates/shelf_edit.html:17 cps/templates/user_edit.html:145
msgid "Submit"
msgstr "Sottoscrivi"
@ -775,7 +797,7 @@ msgstr "Parola chiave"
msgid " Search keyword "
msgstr "Cerca parola chiave"
#: cps/templates/book_edit.html:175 cps/templates/layout.html:44
#: cps/templates/book_edit.html:175 cps/templates/layout.html:46
msgid "Go!"
msgstr "Partire"
@ -787,7 +809,7 @@ msgstr "Fai clic sul coperchio per caricare i metadati nel modulo"
msgid "Loading..."
msgstr "Caricamento in corso..."
#: cps/templates/book_edit.html:196 cps/templates/layout.html:216
#: cps/templates/book_edit.html:196 cps/templates/layout.html:218
msgid "Close"
msgstr "Chiuso"
@ -812,184 +834,180 @@ msgstr "Nessun risultato! Prova un'altra parola chiave."
msgid "Location of Calibre database"
msgstr "Posizione del database Calibre"
#: cps/templates/config_edit.html:13
#: cps/templates/config_edit.html:12
msgid "Use google drive?"
msgstr "Usa Google Drive?"
#: cps/templates/config_edit.html:17
msgid "Client id"
msgstr "Client id"
#: cps/templates/config_edit.html:18
msgid "Google drive config problem"
msgstr ""
#: cps/templates/config_edit.html:21
msgid "Client secret"
msgstr "Client secret"
#: cps/templates/config_edit.html:25
msgid "Calibre Base URL"
msgstr "Calibre Base URL"
#: cps/templates/config_edit.html:29
#: cps/templates/config_edit.html:28
msgid "Google drive Calibre folder"
msgstr "La cartella Calibre di Google drive"
#: cps/templates/config_edit.html:38
#: cps/templates/config_edit.html:36
msgid "Metadata Watch Channel ID"
msgstr "ID canale Watch Metadata"
#: cps/templates/config_edit.html:52
#: cps/templates/config_edit.html:39
msgid "Revoke"
msgstr ""
#: cps/templates/config_edit.html:48
msgid "Server Port"
msgstr "Porta del server"
#: cps/templates/config_edit.html:56
#: cps/templates/config_edit.html:52
msgid "SSL certfile location (leave it empty for non-SSL Servers)"
msgstr ""
#: cps/templates/config_edit.html:60
#: cps/templates/config_edit.html:56
msgid "SSL Keyfile location (leave it empty for non-SSL Servers)"
msgstr ""
#: cps/templates/config_edit.html:64 cps/templates/layout.html:128
#: cps/templates/layout.html:129 cps/templates/shelf_edit.html:7
#: cps/templates/config_edit.html:60 cps/templates/layout.html:130
#: cps/templates/layout.html:131 cps/templates/shelf_edit.html:7
msgid "Title"
msgstr "Titolo"
#: cps/templates/config_edit.html:72
#: cps/templates/config_edit.html:68
msgid "No. of random books to show"
msgstr "Numero di libri casuali da mostrare"
#: cps/templates/config_edit.html:76
#: cps/templates/config_edit.html:72
msgid "Regular expression for ignoring columns"
msgstr "Espressione regolare per ignorare le colonne"
#: cps/templates/config_edit.html:80
#: cps/templates/config_edit.html:76
msgid "Regular expression for title sorting"
msgstr "Espressione regolare per la selezione del titolo"
#: cps/templates/config_edit.html:84
#: cps/templates/config_edit.html:80
msgid "Tags for Mature Content"
msgstr "Tags per Contenuti maturi"
#: cps/templates/config_edit.html:100
#: cps/templates/config_edit.html:96
msgid "Location and name of logfile (calibre-web.log for no entry)"
msgstr ""
#: cps/templates/config_edit.html:106
#: cps/templates/config_edit.html:102
msgid "Enable uploading"
msgstr "Abilita il caricamento"
#: cps/templates/config_edit.html:110
#: cps/templates/config_edit.html:106
msgid "Enable anonymous browsing"
msgstr "Abilita la navigazione anonima"
#: cps/templates/config_edit.html:114
#: cps/templates/config_edit.html:110
msgid "Enable public registration"
msgstr "Abilita la registrazione pubblica"
#: cps/templates/config_edit.html:118
#: cps/templates/config_edit.html:114
msgid "Enable remote login (\"magic link\")"
msgstr "Attiva login remoto (\"magic link\")"
#: cps/templates/config_edit.html:123
#: cps/templates/config_edit.html:119
msgid "Use"
msgstr "Uso"
#: cps/templates/config_edit.html:124
#: cps/templates/config_edit.html:120
msgid "Obtain an API Key"
msgstr "Ottenere una chiave API"
#: cps/templates/config_edit.html:128
#: cps/templates/config_edit.html:124
msgid "Goodreads API Key"
msgstr "API di Goodreads"
#: cps/templates/config_edit.html:132
#: cps/templates/config_edit.html:128
msgid "Goodreads API Secret"
msgstr "Goodreads API Secret"
#: cps/templates/config_edit.html:137
#: cps/templates/config_edit.html:133
msgid "Default Settings for new users"
msgstr "Impostazioni predefinite per i nuovi utenti"
#: cps/templates/config_edit.html:140 cps/templates/user_edit.html:94
#: cps/templates/config_edit.html:136 cps/templates/user_edit.html:102
msgid "Admin user"
msgstr "Utente amministratore"
#: cps/templates/config_edit.html:144 cps/templates/user_edit.html:103
#: cps/templates/config_edit.html:140 cps/templates/user_edit.html:111
msgid "Allow Downloads"
msgstr "Consenti download"
#: cps/templates/config_edit.html:148 cps/templates/user_edit.html:107
#: cps/templates/config_edit.html:144 cps/templates/user_edit.html:115
msgid "Allow Uploads"
msgstr "Consenti caricamenti"
#: cps/templates/config_edit.html:152 cps/templates/user_edit.html:111
#: cps/templates/config_edit.html:148 cps/templates/user_edit.html:119
msgid "Allow Edit"
msgstr "Consenti Modifica"
#: cps/templates/config_edit.html:156 cps/templates/user_edit.html:115
#: cps/templates/config_edit.html:152 cps/templates/user_edit.html:123
msgid "Allow Delete books"
msgstr "Consenti l'eliminazione di libri"
#: cps/templates/config_edit.html:160 cps/templates/user_edit.html:120
#: cps/templates/config_edit.html:156 cps/templates/user_edit.html:128
msgid "Allow Changing Password"
msgstr "Consenti la modifica della password"
#: cps/templates/config_edit.html:164 cps/templates/user_edit.html:124
#: cps/templates/config_edit.html:160 cps/templates/user_edit.html:132
msgid "Allow Editing Public Shelfs"
msgstr "Consenti la modifica dei ripiani pubblici"
#: cps/templates/config_edit.html:168
#: cps/templates/config_edit.html:164
msgid "Default visiblities for new users"
msgstr ""
#: cps/templates/config_edit.html:172 cps/templates/user_edit.html:46
#: cps/templates/config_edit.html:168 cps/templates/user_edit.html:54
msgid "Show random books"
msgstr "Mostra libro a caso"
#: cps/templates/config_edit.html:176 cps/templates/user_edit.html:50
#: cps/templates/config_edit.html:172 cps/templates/user_edit.html:58
msgid "Show recent books"
msgstr ""
#: cps/templates/config_edit.html:180 cps/templates/user_edit.html:54
#: cps/templates/config_edit.html:176 cps/templates/user_edit.html:62
msgid "Show sorted books"
msgstr ""
#: cps/templates/config_edit.html:184 cps/templates/user_edit.html:58
#: cps/templates/config_edit.html:180 cps/templates/user_edit.html:66
msgid "Show hot books"
msgstr "Mostra libri popolari"
#: cps/templates/config_edit.html:188 cps/templates/user_edit.html:62
#: cps/templates/config_edit.html:184 cps/templates/user_edit.html:70
msgid "Show best rated books"
msgstr "Mostra sezione più votati"
#: cps/templates/config_edit.html:192 cps/templates/user_edit.html:66
#: cps/templates/config_edit.html:188 cps/templates/user_edit.html:74
msgid "Show language selection"
msgstr "Mostra sezione lingua"
#: cps/templates/config_edit.html:196 cps/templates/user_edit.html:70
#: cps/templates/config_edit.html:192 cps/templates/user_edit.html:78
msgid "Show series selection"
msgstr "Mostra sezione serie"
#: cps/templates/config_edit.html:200 cps/templates/user_edit.html:74
#: cps/templates/config_edit.html:196 cps/templates/user_edit.html:82
msgid "Show category selection"
msgstr "Mostra sezione categorie"
#: cps/templates/config_edit.html:204 cps/templates/user_edit.html:78
#: cps/templates/config_edit.html:200 cps/templates/user_edit.html:86
msgid "Show author selection"
msgstr "Mostra sezione autore"
#: cps/templates/config_edit.html:208 cps/templates/user_edit.html:82
#: cps/templates/config_edit.html:204 cps/templates/user_edit.html:90
msgid "Show read and unread"
msgstr "Mostra letto e non letto"
#: cps/templates/config_edit.html:212 cps/templates/user_edit.html:86
#: cps/templates/config_edit.html:208 cps/templates/user_edit.html:94
msgid "Show random books in detail view"
msgstr "Un libro a caso"
#: cps/templates/config_edit.html:216 cps/templates/user_edit.html:99
#: cps/templates/config_edit.html:212 cps/templates/user_edit.html:107
msgid "Show mature content"
msgstr "Mostra sezione adulti"
#: cps/templates/config_edit.html:226 cps/templates/layout.html:77
#: cps/templates/config_edit.html:222 cps/templates/layout.html:79
#: cps/templates/login.html:4
msgid "Login"
msgstr "Accesso"
@ -1060,12 +1078,12 @@ msgstr "Salva le impostazioni"
msgid "Save settings and send Test E-Mail"
msgstr "Salvare le impostazioni e inviare Test e-mail"
#: cps/templates/feed.xml:20 cps/templates/layout.html:200
#: cps/templates/feed.xml:20 cps/templates/layout.html:202
msgid "Next"
msgstr "Prossimo"
#: cps/templates/feed.xml:29 cps/templates/index.xml:7
#: cps/templates/layout.html:41 cps/templates/layout.html:42
#: cps/templates/layout.html:43 cps/templates/layout.html:44
msgid "Search"
msgstr "Cerca"
@ -1077,7 +1095,7 @@ msgstr "Scoprire (Libri casuali)"
msgid "Start"
msgstr "Inizio"
#: cps/templates/index.xml:14 cps/templates/layout.html:134
#: cps/templates/index.xml:14 cps/templates/layout.html:136
msgid "Hot Books"
msgstr "Hot Ebook"
@ -1085,7 +1103,7 @@ msgstr "Hot Ebook"
msgid "Popular publications from this catalog based on Downloads."
msgstr "Pubblicazioni popolari di questo catalogo in base ai download."
#: cps/templates/index.xml:20 cps/templates/layout.html:137
#: cps/templates/index.xml:20 cps/templates/layout.html:139
msgid "Best rated Books"
msgstr "Libri più votati"
@ -1105,7 +1123,7 @@ msgstr "Gli ultimi Libri"
msgid "Show Random Books"
msgstr "Mostra libri casuali"
#: cps/templates/index.xml:52 cps/templates/layout.html:155
#: cps/templates/index.xml:52 cps/templates/layout.html:157
msgid "Authors"
msgstr "Autori"
@ -1121,7 +1139,7 @@ msgstr "Libri ordinati per categoria"
msgid "Books ordered by series"
msgstr "Libri ordinati per serie"
#: cps/templates/index.xml:70 cps/templates/layout.html:161
#: cps/templates/index.xml:70 cps/templates/layout.html:163
msgid "Public Shelves"
msgstr "Ripiani pubblici"
@ -1129,7 +1147,7 @@ msgstr "Ripiani pubblici"
msgid "Books organized in public shelfs, visible to everyone"
msgstr ""
#: cps/templates/index.xml:77 cps/templates/layout.html:165
#: cps/templates/index.xml:77 cps/templates/layout.html:167
msgid "Your Shelves"
msgstr "I tuoi scaffali"
@ -1137,88 +1155,88 @@ msgstr "I tuoi scaffali"
msgid "User's own shelfs, only visible to the current user himself"
msgstr ""
#: cps/templates/layout.html:31
#: cps/templates/layout.html:33
msgid "Toggle navigation"
msgstr "Toggle navigation"
#: cps/templates/layout.html:52
#: cps/templates/layout.html:54
msgid "Advanced Search"
msgstr "Ricerca avanzata"
#: cps/templates/layout.html:73
#: cps/templates/layout.html:75
msgid "Logout"
msgstr "Logout"
#: cps/templates/layout.html:78 cps/templates/register.html:18
#: cps/templates/layout.html:80 cps/templates/register.html:18
msgid "Register"
msgstr "Registrare"
#: cps/templates/layout.html:103
#: cps/templates/layout.html:105
msgid "Uploading..."
msgstr ""
#: cps/templates/layout.html:104
#: cps/templates/layout.html:106
msgid "please don't refresh the page"
msgstr ""
#: cps/templates/layout.html:115
#: cps/templates/layout.html:117
msgid "Browse"
msgstr "Navigare"
#: cps/templates/layout.html:117
#: cps/templates/layout.html:119
msgid "Recently Added"
msgstr "Aggiunto recentemente"
#: cps/templates/layout.html:122
#: cps/templates/layout.html:124
msgid "Sorted Books"
msgstr "Libri ordinati"
#: cps/templates/layout.html:126 cps/templates/layout.html:127
#: cps/templates/layout.html:128 cps/templates/layout.html:129
#: cps/templates/layout.html:130 cps/templates/layout.html:131
msgid "Sort By"
msgstr "Ordina per"
#: cps/templates/layout.html:126
#: cps/templates/layout.html:128
msgid "Newest"
msgstr "i più nuovi"
#: cps/templates/layout.html:127
#: cps/templates/layout.html:129
msgid "Oldest"
msgstr "il più vecchio"
#: cps/templates/layout.html:128
#: cps/templates/layout.html:130
msgid "Ascending"
msgstr "Ascendente"
#: cps/templates/layout.html:129
#: cps/templates/layout.html:131
msgid "Descending"
msgstr "Discendente"
#: cps/templates/layout.html:146
#: cps/templates/layout.html:148
msgid "Discover"
msgstr "Per scoprire"
#: cps/templates/layout.html:149
#: cps/templates/layout.html:151
msgid "Categories"
msgstr "Categoria"
#: cps/templates/layout.html:158 cps/templates/search_form.html:75
#: cps/templates/layout.html:160 cps/templates/search_form.html:75
msgid "Languages"
msgstr "lingua"
#: cps/templates/layout.html:170
#: cps/templates/layout.html:172
msgid "Create a Shelf"
msgstr "Crea una mensola"
#: cps/templates/layout.html:171 cps/templates/stats.html:3
#: cps/templates/layout.html:173 cps/templates/stats.html:3
msgid "About"
msgstr "Di"
#: cps/templates/layout.html:185
#: cps/templates/layout.html:187
msgid "Previous"
msgstr "Precedente"
#: cps/templates/layout.html:212
#: cps/templates/layout.html:214
msgid "Book Details"
msgstr "Dettagli ebook"
@ -1391,18 +1409,30 @@ msgid "Kindle E-Mail"
msgstr "Email Kindle"
#: cps/templates/user_edit.html:35
msgid "Theme"
msgstr ""
#: cps/templates/user_edit.html:37
msgid "Standard Theme"
msgstr ""
#: cps/templates/user_edit.html:38
msgid "caliBlur! Dark Theme (Beta)"
msgstr ""
#: cps/templates/user_edit.html:43
msgid "Show books with language"
msgstr "Mostra libri per lingua"
#: cps/templates/user_edit.html:37
#: cps/templates/user_edit.html:45
msgid "Show all"
msgstr "Mostra tutto"
#: cps/templates/user_edit.html:131
#: cps/templates/user_edit.html:139
msgid "Delete this user"
msgstr "Elimina questo utente"
#: cps/templates/user_edit.html:146
#: cps/templates/user_edit.html:154
msgid "Recent Downloads"
msgstr "Download Recenti"

View File

@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Calibre-web\n"
"Report-Msgid-Bugs-To: https://github.com/janeczku/calibre-web\n"
"POT-Creation-Date: 2018-04-01 19:27+0200\n"
"POT-Creation-Date: 2018-06-02 10:45+0200\n"
"PO-Revision-Date: 2018-02-07 02:20-0500\n"
"Last-Translator: white <space_white@yahoo.com>\n"
"Language: ja\n"
@ -24,57 +24,57 @@ msgstr ""
msgid "not installed"
msgstr "インストールされません"
#: cps/helper.py:78
#: cps/helper.py:79
#, python-format
msgid "kindlegen binary %(kindlepath)s not found"
msgstr "kindlegenのバイナリー %(kindlepath)s は見つかりません"
#: cps/helper.py:84
#: cps/helper.py:85
#, python-format
msgid "epub format not found for book id: %(book)d"
msgstr "本ID %(book)d のepub拡張子は見つからない"
#: cps/helper.py:94
#: cps/helper.py:95
msgid "kindlegen failed, no execution permissions"
msgstr "kindlegenは失敗しました、実行許可はありません"
#: cps/helper.py:109
#: cps/helper.py:110
#, python-format
msgid "Kindlegen failed with Error %(error)s. Message: %(message)s"
msgstr "Kindlegen 失敗しました、エーラ %(error)s. メッセージ: %(message)s"
#: cps/helper.py:188
#: cps/helper.py:189
#, python-format
msgid "Failed to send mail: %s"
msgstr "送信は失敗しました: %s"
#: cps/helper.py:195
#: cps/helper.py:196
msgid "Calibre-web test email"
msgstr "Calibre-webのテストメール"
#: cps/helper.py:196 cps/helper.py:208
#: cps/helper.py:197 cps/helper.py:209
msgid "This email has been sent via calibre web."
msgstr "このメールはcalibre webより送信されました"
#: cps/helper.py:205 cps/templates/detail.html:44
#: cps/helper.py:206 cps/templates/detail.html:44
msgid "Send to Kindle"
msgstr "Kindleに送信する"
#: cps/helper.py:225 cps/helper.py:239
#: cps/helper.py:226 cps/helper.py:240
msgid "Could not find any formats suitable for sending by email"
msgstr "メールを送るための適切な拡張子は見つかりません"
#: cps/helper.py:340
#: cps/helper.py:341
#, python-format
msgid "Rename title from: \"%s\" to \"%s\" failed with error: %s"
msgstr "タイトルを\"%s\"から\"%s\"の改名は失敗しました。エーラ: %s"
#: cps/helper.py:349
#: cps/helper.py:350
#, python-format
msgid "Rename author from: \"%s\" to \"%s\" failed with error: %s"
msgstr "著者を\"%s\"から\"%s\"の改名は失敗しました。エーラ:%s"
#: cps/ub.py:684
#: cps/ub.py:694
msgid "Guest"
msgstr "ゲスト"
@ -142,7 +142,7 @@ msgstr "任意の本"
msgid "Author list"
msgstr "著者リスト"
#: cps/web.py:1220 cps/web.py:1278 cps/web.py:1408 cps/web.py:1903
#: cps/web.py:1220 cps/web.py:1278 cps/web.py:1408 cps/web.py:1917
msgid "Error opening eBook. File does not exist or file is not accessible:"
msgstr "電子本を開けません。ファイルは存在しないまたはアクセスできません"
@ -181,306 +181,328 @@ msgstr "実行許可はありません"
msgid "Statistics"
msgstr "統計"
#: cps/web.py:1641
#: cps/web.py:1573
msgid ""
"Callback domain is not verified, please follow steps to verify domain in "
"google developer console"
msgstr ""
#: cps/web.py:1651
msgid "Server restarted, please reload page"
msgstr "サーバを再起動しました、ページを再読み込みしてください"
#: cps/web.py:1643
#: cps/web.py:1653
msgid "Performing shutdown of server, please close window"
msgstr "サーバをシャットダウンします、ページを閉じてください"
#: cps/web.py:1659
#: cps/web.py:1669
msgid "Update done"
msgstr "更新完了"
#: cps/web.py:1716
#: cps/web.py:1726
#, python-format
msgid "Published after %s"
msgstr ""
#: cps/web.py:1721
#: cps/web.py:1731
msgid "Published before "
msgstr ""
#: cps/web.py:1767 cps/web.py:1780
#: cps/web.py:1777 cps/web.py:1790
msgid "search"
msgstr "検索"
#: cps/web.py:1816
msgid "not found on GDrive"
msgstr ""
#: cps/templates/index.xml:39 cps/templates/index.xml:42
#: cps/templates/layout.html:141 cps/web.py:1858
#: cps/templates/layout.html:143 cps/web.py:1872
msgid "Read Books"
msgstr "既読の本"
#: cps/templates/index.xml:46 cps/templates/index.xml:49
#: cps/templates/layout.html:143 cps/web.py:1861
#: cps/templates/layout.html:145 cps/web.py:1875
msgid "Unread Books"
msgstr "未読の本"
#: cps/web.py:1936 cps/web.py:1938 cps/web.py:1940 cps/web.py:1949
#: cps/web.py:1950 cps/web.py:1952 cps/web.py:1954 cps/web.py:1963
msgid "Read a Book"
msgstr "本を読む"
#: cps/web.py:2001 cps/web.py:2718
#: cps/web.py:2015 cps/web.py:2751
msgid "Please fill out all fields!"
msgstr "全ての項目を入力してください"
#: cps/web.py:2002 cps/web.py:2019 cps/web.py:2024 cps/web.py:2026
#: cps/web.py:2016 cps/web.py:2033 cps/web.py:2038 cps/web.py:2040
msgid "register"
msgstr "登録"
#: cps/web.py:2018
#: cps/web.py:2032
msgid "An unknown error occured. Please try again later."
msgstr "未知のエーラが発生しました、再度試してください"
#: cps/web.py:2023
#: cps/web.py:2037
msgid "This username or email address is already in use."
msgstr "ユーザ名またはメールアドレスは使われました"
#: cps/web.py:2042 cps/web.py:2138
#: cps/web.py:2056 cps/web.py:2152
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "%(nickname)s としてログインします"
#: cps/web.py:2047
#: cps/web.py:2061
msgid "Wrong Username or Password"
msgstr "ユーザ名またはパスワードは間違いました"
#: cps/web.py:2053 cps/web.py:2074
#: cps/web.py:2067 cps/web.py:2088
msgid "login"
msgstr "ログイン"
#: cps/web.py:2086 cps/web.py:2117
#: cps/web.py:2100 cps/web.py:2131
msgid "Token not found"
msgstr "トークンは見つかりません"
#: cps/web.py:2094 cps/web.py:2125
#: cps/web.py:2108 cps/web.py:2139
msgid "Token has expired"
msgstr "トークンは失効されました"
#: cps/web.py:2102
#: cps/web.py:2116
msgid "Success! Please return to your device"
msgstr "成功しまた!端末に戻ってください"
#: cps/web.py:2152
#: cps/web.py:2166
msgid "Please configure the SMTP mail settings first..."
msgstr "SMTPメールをまず設定してください"
#: cps/web.py:2156
#: cps/web.py:2170
#, python-format
msgid "Book successfully send to %(kindlemail)s"
msgstr "本を %(kindlemail)s に送信しました"
#: cps/web.py:2160
#: cps/web.py:2174
#, python-format
msgid "There was an error sending this book: %(res)s"
msgstr "%(res)s を送信する際にエーラが発生しました"
#: cps/web.py:2162 cps/web.py:2805
#: cps/web.py:2176 cps/web.py:2839
msgid "Please configure your kindle email address first..."
msgstr "Kindleのメールアドレスをまず設定してください"
#: cps/web.py:2206
#: cps/web.py:2220
#, python-format
msgid "Book has been added to shelf: %(sname)s"
msgstr "本 %(sname)s を書架に追加されました"
#: cps/web.py:2244
#: cps/web.py:2258
#, python-format
msgid "Book has been removed from shelf: %(sname)s"
msgstr "本 %(sname)s を書架から除去されました"
#: cps/web.py:2250
#: cps/web.py:2264
#, python-format
msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s"
msgstr ""
#: cps/web.py:2270 cps/web.py:2294
#: cps/web.py:2284 cps/web.py:2308
#, python-format
msgid "A shelf with the name '%(title)s' already exists."
msgstr "名前を使った書架 '%(title)s' は既に存在しました"
#: cps/web.py:2275
#: cps/web.py:2289
#, python-format
msgid "Shelf %(title)s created"
msgstr "書架%(title)s は作成されました"
#: cps/web.py:2277 cps/web.py:2305
#: cps/web.py:2291 cps/web.py:2319
msgid "There was an error"
msgstr "エーラが発生しました"
#: cps/web.py:2278 cps/web.py:2280
#: cps/web.py:2292 cps/web.py:2294
msgid "create a shelf"
msgstr "書架を作成する"
#: cps/web.py:2303
#: cps/web.py:2317
#, python-format
msgid "Shelf %(title)s changed"
msgstr "書架 %(title)s 変わりました"
#: cps/web.py:2306 cps/web.py:2308
#: cps/web.py:2320 cps/web.py:2322
msgid "Edit a shelf"
msgstr "書架を編集する"
#: cps/web.py:2329
#: cps/web.py:2343
#, python-format
msgid "successfully deleted shelf %(name)s"
msgstr "%(name)s の書架を削除されました"
#: cps/web.py:2351
#: cps/web.py:2365
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "書架: '%(name)s'"
#: cps/web.py:2354
#: cps/web.py:2368
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr "書架を開けません。書架は存在しないまたはアクセスできません"
#: cps/web.py:2385
#: cps/web.py:2399
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "'%(name)s' の書架の順番を入れ替える"
#: cps/web.py:2454
#: cps/web.py:2469
msgid "Found an existing account for this email address."
msgstr "このメールアドレスを使ったアカウント名は既に存在します"
#: cps/web.py:2456 cps/web.py:2460
#: cps/web.py:2471 cps/web.py:2475
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)sのプロファイル"
#: cps/web.py:2457
#: cps/web.py:2472
msgid "Profile updated"
msgstr "プロファイルが更新されました"
#: cps/web.py:2469
#: cps/web.py:2484
msgid "Unknown"
msgstr ""
#: cps/web.py:2482
#: cps/web.py:2497
msgid "Admin page"
msgstr "管理者ページ"
#: cps/web.py:2553
msgid "Keyfile location is not valid, please enter correct path"
#: cps/web.py:2520
msgid "Import of optional GDrive requirements missing"
msgstr ""
#: cps/web.py:2556 cps/web.py:2567 cps/web.py:2660 cps/web.py:2679
#: cps/web.py:2685 cps/web.py:2699
#: cps/web.py:2523
msgid "client_secret.json is missing or not readable"
msgstr ""
#: cps/web.py:2528 cps/web.py:2553
msgid "client_secret.json is not configured for web application"
msgstr ""
#: cps/web.py:2556 cps/web.py:2582 cps/web.py:2593 cps/web.py:2686
#: cps/web.py:2706 cps/web.py:2713 cps/web.py:2732
msgid "Basic Configuration"
msgstr "基本設定"
#: cps/web.py:2564
#: cps/web.py:2579
msgid "Keyfile location is not valid, please enter correct path"
msgstr ""
#: cps/web.py:2590
msgid "Certfile location is not valid, please enter correct path"
msgstr ""
#: cps/web.py:2657
#: cps/web.py:2683
msgid "Logfile location is not valid, please enter correct path"
msgstr "ログファイルの場所は不適切です。正しい場所を入力してください"
#: cps/web.py:2672
#: cps/web.py:2698
msgid "Calibre-web configuration updated"
msgstr "Calibre-web 設定を更新されました"
#: cps/web.py:2683
#: cps/web.py:2710
msgid "DB location is not valid, please enter correct path"
msgstr "データベースの場所は不適切です。正しい場所を入力してください"
#: cps/templates/admin.html:34 cps/web.py:2720 cps/web.py:2775
#: cps/templates/admin.html:34 cps/web.py:2753 cps/web.py:2809
msgid "Add new user"
msgstr "新規ユーザ追加"
#: cps/web.py:2765
#: cps/web.py:2799
#, python-format
msgid "User '%(user)s' created"
msgstr "ユーザ '%(user)s' が作成されました"
#: cps/web.py:2769
#: cps/web.py:2803
msgid "Found an existing account for this email address or nickname."
msgstr "同じメールアドレスまたは通所は既に存在しました"
#: cps/web.py:2793
#: cps/web.py:2827
msgid "Mail settings updated"
msgstr "メール設定が更新されました"
#: cps/web.py:2800
#: cps/web.py:2834
#, python-format
msgid "Test E-Mail successfully send to %(kindlemail)s"
msgstr "テストメールから%(kindlemail)sまでの送信は完了しました"
#: cps/web.py:2803
#: cps/web.py:2837
#, python-format
msgid "There was an error sending the Test E-Mail: %(res)s"
msgstr "テストメールに送信するエラーが発生しました: %(res)s"
#: cps/web.py:2807
#: cps/web.py:2841
msgid "E-Mail settings updated"
msgstr "メール設定更新されました"
#: cps/web.py:2808
#: cps/web.py:2842
msgid "Edit mail settings"
msgstr "メール編集設定"
#: cps/web.py:2837
#: cps/web.py:2871
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "ユーザ '%(nick)s' 削除されました"
#: cps/web.py:2945
#: cps/web.py:2980
#, python-format
msgid "User '%(nick)s' updated"
msgstr "ユーザ '%(nick)s' 更新されました"
#: cps/web.py:2948
#: cps/web.py:2983
msgid "An unknown error occured."
msgstr "不明のエーラが発生しました"
#: cps/web.py:2951
#: cps/web.py:2986
#, python-format
msgid "Edit User %(nick)s"
msgstr "ユーザ編集 %(nick)s"
#: cps/web.py:2967
#: cps/web.py:3002
msgid "Error opening eBook. File does not exist or file is not accessible"
msgstr "電子本を開けません。ファイルは存在しないまたはアクセスできません"
#: cps/web.py:2982 cps/web.py:3193 cps/web.py:3198 cps/web.py:3344
#: cps/web.py:3017 cps/web.py:3228 cps/web.py:3233 cps/web.py:3379
msgid "edit metadata"
msgstr "メタデータを編集します"
#: cps/web.py:2992 cps/web.py:3238
#: cps/web.py:3027 cps/web.py:3273
#, python-format
msgid "File extension \"%s\" is not allowed to be uploaded to this server"
msgstr "ファイル拡張子 \"%s\" をこのサーバにアップロードする許可はありません"
#: cps/web.py:3003
#: cps/web.py:3038
#, python-format
msgid "Failed to store file %s."
msgstr "フアイル %s の保存を失敗しました"
#: cps/web.py:3025 cps/web.py:3029
#: cps/web.py:3060 cps/web.py:3064
msgid "unknown"
msgstr "不明"
#: cps/web.py:3052
#: cps/web.py:3087
msgid "Cover is not a jpg file, can't save"
msgstr ""
#: cps/web.py:3244
#: cps/web.py:3279
msgid "File to be uploaded must have an extension"
msgstr "ファイルをアップロードするために拡張子が必要です"
#: cps/web.py:3263
#: cps/web.py:3298
#, python-format
msgid "Failed to create path %s (Permission denied)."
msgstr "場所 %s の作成を失敗しました (許可拒否)"
#: cps/web.py:3268
#: cps/web.py:3303
#, python-format
msgid "Failed to store file %s (Permission denied)."
msgstr "ファイル %s の保存を失敗しました (許可拒否)"
#: cps/web.py:3273
#: cps/web.py:3308
#, python-format
msgid "Failed to delete file %s (Permission denied)."
msgstr "ファイル %s の削除を失敗しました (許可拒否)"
@ -505,7 +527,7 @@ msgstr "Kindle"
msgid "DLS"
msgstr "DLS"
#: cps/templates/admin.html:12 cps/templates/layout.html:69
#: cps/templates/admin.html:12 cps/templates/layout.html:71
msgid "Admin"
msgstr "管理者"
@ -514,7 +536,7 @@ msgstr "管理者"
msgid "Download"
msgstr "ダウンロード"
#: cps/templates/admin.html:14 cps/templates/layout.html:62
#: cps/templates/admin.html:14 cps/templates/layout.html:64
msgid "Upload"
msgstr "アップロード"
@ -566,7 +588,7 @@ msgstr "設定"
msgid "Calibre DB dir"
msgstr "Calibre データベースの場所"
#: cps/templates/admin.html:61 cps/templates/config_edit.html:91
#: cps/templates/admin.html:61 cps/templates/config_edit.html:87
msgid "Log Level"
msgstr "ログレベル"
@ -574,7 +596,7 @@ msgstr "ログレベル"
msgid "Port"
msgstr "ポート"
#: cps/templates/admin.html:63 cps/templates/config_edit.html:68
#: cps/templates/admin.html:63 cps/templates/config_edit.html:64
msgid "Books per page"
msgstr "本数毎ページ"
@ -637,9 +659,9 @@ msgstr "はい"
#: cps/templates/admin.html:105 cps/templates/admin.html:119
#: cps/templates/book_edit.html:135 cps/templates/book_edit.html:157
#: cps/templates/config_edit.html:223 cps/templates/email_edit.html:36
#: cps/templates/config_edit.html:219 cps/templates/email_edit.html:36
#: cps/templates/shelf.html:60 cps/templates/shelf_edit.html:19
#: cps/templates/shelf_order.html:12 cps/templates/user_edit.html:139
#: cps/templates/shelf_order.html:12 cps/templates/user_edit.html:147
msgid "Back"
msgstr "戻る"
@ -685,7 +707,7 @@ msgstr "詳細"
msgid "Tags"
msgstr "タグ"
#: cps/templates/book_edit.html:39 cps/templates/layout.html:152
#: cps/templates/book_edit.html:39 cps/templates/layout.html:154
#: cps/templates/search_form.html:54
msgid "Series"
msgstr "叢書"
@ -732,9 +754,9 @@ msgstr "編集してから本を表示します"
msgid "Get metadata"
msgstr "メタデータを取得します"
#: cps/templates/book_edit.html:134 cps/templates/config_edit.html:221
#: cps/templates/book_edit.html:134 cps/templates/config_edit.html:217
#: cps/templates/login.html:20 cps/templates/search_form.html:96
#: cps/templates/shelf_edit.html:17 cps/templates/user_edit.html:137
#: cps/templates/shelf_edit.html:17 cps/templates/user_edit.html:145
msgid "Submit"
msgstr "提出"
@ -762,7 +784,7 @@ msgstr "キーワード"
msgid " Search keyword "
msgstr "キーワードを検索します"
#: cps/templates/book_edit.html:175 cps/templates/layout.html:44
#: cps/templates/book_edit.html:175 cps/templates/layout.html:46
msgid "Go!"
msgstr "行く"
@ -774,7 +796,7 @@ msgstr "メタデータをフォームに読み込むためにカバーをクリ
msgid "Loading..."
msgstr "読み込み中..."
#: cps/templates/book_edit.html:196 cps/templates/layout.html:216
#: cps/templates/book_edit.html:196 cps/templates/layout.html:218
msgid "Close"
msgstr "閉じる"
@ -799,184 +821,180 @@ msgstr "結果なし! 他のキーワードで検索してください。"
msgid "Location of Calibre database"
msgstr "Calibreデータベースの場所"
#: cps/templates/config_edit.html:13
#: cps/templates/config_edit.html:12
msgid "Use google drive?"
msgstr "Googleドライブを利用します?"
#: cps/templates/config_edit.html:17
msgid "Client id"
msgstr "クライアント番号"
#: cps/templates/config_edit.html:18
msgid "Google drive config problem"
msgstr ""
#: cps/templates/config_edit.html:21
msgid "Client secret"
msgstr "クライアント秘密"
#: cps/templates/config_edit.html:25
msgid "Calibre Base URL"
msgstr "CalibreベースURL"
#: cps/templates/config_edit.html:29
#: cps/templates/config_edit.html:28
msgid "Google drive Calibre folder"
msgstr "GoogleドライブCalibreフォルダ"
#: cps/templates/config_edit.html:38
#: cps/templates/config_edit.html:36
msgid "Metadata Watch Channel ID"
msgstr ""
#: cps/templates/config_edit.html:52
#: cps/templates/config_edit.html:39
msgid "Revoke"
msgstr ""
#: cps/templates/config_edit.html:48
msgid "Server Port"
msgstr "サーバポート"
#: cps/templates/config_edit.html:56
#: cps/templates/config_edit.html:52
msgid "SSL certfile location (leave it empty for non-SSL Servers)"
msgstr ""
#: cps/templates/config_edit.html:60
#: cps/templates/config_edit.html:56
msgid "SSL Keyfile location (leave it empty for non-SSL Servers)"
msgstr ""
#: cps/templates/config_edit.html:64 cps/templates/layout.html:128
#: cps/templates/layout.html:129 cps/templates/shelf_edit.html:7
#: cps/templates/config_edit.html:60 cps/templates/layout.html:130
#: cps/templates/layout.html:131 cps/templates/shelf_edit.html:7
msgid "Title"
msgstr "タイトル"
#: cps/templates/config_edit.html:72
#: cps/templates/config_edit.html:68
msgid "No. of random books to show"
msgstr "任意本を表示するの数"
#: cps/templates/config_edit.html:76
#: cps/templates/config_edit.html:72
msgid "Regular expression for ignoring columns"
msgstr "列を無視するの正規表現"
#: cps/templates/config_edit.html:80
#: cps/templates/config_edit.html:76
msgid "Regular expression for title sorting"
msgstr "タイトルを並び替えの正規表現"
#: cps/templates/config_edit.html:84
#: cps/templates/config_edit.html:80
msgid "Tags for Mature Content"
msgstr "成人向けのタグ"
#: cps/templates/config_edit.html:100
#: cps/templates/config_edit.html:96
msgid "Location and name of logfile (calibre-web.log for no entry)"
msgstr "ログファイルの場所と名前 (エントリーなしでcalibre-web.log)"
#: cps/templates/config_edit.html:106
#: cps/templates/config_edit.html:102
msgid "Enable uploading"
msgstr "アップロードを 有効する"
#: cps/templates/config_edit.html:110
#: cps/templates/config_edit.html:106
msgid "Enable anonymous browsing"
msgstr "匿名ブラウジングを有効する"
#: cps/templates/config_edit.html:114
#: cps/templates/config_edit.html:110
msgid "Enable public registration"
msgstr "公的登録を有効する"
#: cps/templates/config_edit.html:118
#: cps/templates/config_edit.html:114
msgid "Enable remote login (\"magic link\")"
msgstr "遠距離ログインを有効する (\"マジックリンク\")"
#: cps/templates/config_edit.html:123
#: cps/templates/config_edit.html:119
msgid "Use"
msgstr "使う"
#: cps/templates/config_edit.html:124
#: cps/templates/config_edit.html:120
msgid "Obtain an API Key"
msgstr "APIキーを取得する"
#: cps/templates/config_edit.html:128
#: cps/templates/config_edit.html:124
msgid "Goodreads API Key"
msgstr "GoodreadsのAPIキー"
#: cps/templates/config_edit.html:132
#: cps/templates/config_edit.html:128
msgid "Goodreads API Secret"
msgstr "GoodreadsのAPI秘密"
#: cps/templates/config_edit.html:137
#: cps/templates/config_edit.html:133
msgid "Default Settings for new users"
msgstr "新規ユーザにデフォルト設定を設定する"
#: cps/templates/config_edit.html:140 cps/templates/user_edit.html:94
#: cps/templates/config_edit.html:136 cps/templates/user_edit.html:102
msgid "Admin user"
msgstr "管理ユーザ"
#: cps/templates/config_edit.html:144 cps/templates/user_edit.html:103
#: cps/templates/config_edit.html:140 cps/templates/user_edit.html:111
msgid "Allow Downloads"
msgstr "ダウンロードを有効する"
#: cps/templates/config_edit.html:148 cps/templates/user_edit.html:107
#: cps/templates/config_edit.html:144 cps/templates/user_edit.html:115
msgid "Allow Uploads"
msgstr "アップロードを有効する"
#: cps/templates/config_edit.html:152 cps/templates/user_edit.html:111
#: cps/templates/config_edit.html:148 cps/templates/user_edit.html:119
msgid "Allow Edit"
msgstr "編集を有効する"
#: cps/templates/config_edit.html:156 cps/templates/user_edit.html:115
#: cps/templates/config_edit.html:152 cps/templates/user_edit.html:123
msgid "Allow Delete books"
msgstr "本削除を有効する"
#: cps/templates/config_edit.html:160 cps/templates/user_edit.html:120
#: cps/templates/config_edit.html:156 cps/templates/user_edit.html:128
msgid "Allow Changing Password"
msgstr "パスワード変更を有効する"
#: cps/templates/config_edit.html:164 cps/templates/user_edit.html:124
#: cps/templates/config_edit.html:160 cps/templates/user_edit.html:132
msgid "Allow Editing Public Shelfs"
msgstr "公的叢書の編集を有効する"
#: cps/templates/config_edit.html:168
#: cps/templates/config_edit.html:164
msgid "Default visiblities for new users"
msgstr "新規ユーザにデフォルト可視性を設定する"
#: cps/templates/config_edit.html:172 cps/templates/user_edit.html:46
#: cps/templates/config_edit.html:168 cps/templates/user_edit.html:54
msgid "Show random books"
msgstr "任意本を表示する"
#: cps/templates/config_edit.html:176 cps/templates/user_edit.html:50
#: cps/templates/config_edit.html:172 cps/templates/user_edit.html:58
msgid "Show recent books"
msgstr "最近の本を表示する"
#: cps/templates/config_edit.html:180 cps/templates/user_edit.html:54
#: cps/templates/config_edit.html:176 cps/templates/user_edit.html:62
msgid "Show sorted books"
msgstr "整列された本を表示する"
#: cps/templates/config_edit.html:184 cps/templates/user_edit.html:58
#: cps/templates/config_edit.html:180 cps/templates/user_edit.html:66
msgid "Show hot books"
msgstr "有名な本を表示する"
#: cps/templates/config_edit.html:188 cps/templates/user_edit.html:62
#: cps/templates/config_edit.html:184 cps/templates/user_edit.html:70
msgid "Show best rated books"
msgstr "最高評価の本を表示する"
#: cps/templates/config_edit.html:192 cps/templates/user_edit.html:66
#: cps/templates/config_edit.html:188 cps/templates/user_edit.html:74
msgid "Show language selection"
msgstr "言語選択を表示する"
#: cps/templates/config_edit.html:196 cps/templates/user_edit.html:70
#: cps/templates/config_edit.html:192 cps/templates/user_edit.html:78
msgid "Show series selection"
msgstr "奏者選択を表示する"
#: cps/templates/config_edit.html:200 cps/templates/user_edit.html:74
#: cps/templates/config_edit.html:196 cps/templates/user_edit.html:82
msgid "Show category selection"
msgstr "カテゴリー選択を表示する"
#: cps/templates/config_edit.html:204 cps/templates/user_edit.html:78
#: cps/templates/config_edit.html:200 cps/templates/user_edit.html:86
msgid "Show author selection"
msgstr "著者選択を表示する"
#: cps/templates/config_edit.html:208 cps/templates/user_edit.html:82
#: cps/templates/config_edit.html:204 cps/templates/user_edit.html:90
msgid "Show read and unread"
msgstr "既読と未読の本を表示する"
#: cps/templates/config_edit.html:212 cps/templates/user_edit.html:86
#: cps/templates/config_edit.html:208 cps/templates/user_edit.html:94
msgid "Show random books in detail view"
msgstr "任意の本を詳細閲覧で表示する"
#: cps/templates/config_edit.html:216 cps/templates/user_edit.html:99
#: cps/templates/config_edit.html:212 cps/templates/user_edit.html:107
msgid "Show mature content"
msgstr "成人向けコンテンツを表示"
#: cps/templates/config_edit.html:226 cps/templates/layout.html:77
#: cps/templates/config_edit.html:222 cps/templates/layout.html:79
#: cps/templates/login.html:4
msgid "Login"
msgstr "ログイン"
@ -1045,12 +1063,12 @@ msgstr "設定を保存する"
msgid "Save settings and send Test E-Mail"
msgstr "設定を保存するとテストメールを送信する"
#: cps/templates/feed.xml:20 cps/templates/layout.html:200
#: cps/templates/feed.xml:20 cps/templates/layout.html:202
msgid "Next"
msgstr "次"
#: cps/templates/feed.xml:29 cps/templates/index.xml:7
#: cps/templates/layout.html:41 cps/templates/layout.html:42
#: cps/templates/layout.html:43 cps/templates/layout.html:44
msgid "Search"
msgstr "検索"
@ -1062,7 +1080,7 @@ msgstr "発見 (任意の本)"
msgid "Start"
msgstr "開始"
#: cps/templates/index.xml:14 cps/templates/layout.html:134
#: cps/templates/index.xml:14 cps/templates/layout.html:136
msgid "Hot Books"
msgstr "最新の本"
@ -1070,7 +1088,7 @@ msgstr "最新の本"
msgid "Popular publications from this catalog based on Downloads."
msgstr "ダウンロードによりカタログの有名な出版"
#: cps/templates/index.xml:20 cps/templates/layout.html:137
#: cps/templates/index.xml:20 cps/templates/layout.html:139
msgid "Best rated Books"
msgstr "最高評価の本"
@ -1090,7 +1108,7 @@ msgstr "最近の本"
msgid "Show Random Books"
msgstr "任意の本を表示する"
#: cps/templates/index.xml:52 cps/templates/layout.html:155
#: cps/templates/index.xml:52 cps/templates/layout.html:157
msgid "Authors"
msgstr "著者"
@ -1106,7 +1124,7 @@ msgstr "カテゴリーで並び替える"
msgid "Books ordered by series"
msgstr "叢書で並び替える"
#: cps/templates/index.xml:70 cps/templates/layout.html:161
#: cps/templates/index.xml:70 cps/templates/layout.html:163
msgid "Public Shelves"
msgstr "公的の叢書"
@ -1114,7 +1132,7 @@ msgstr "公的の叢書"
msgid "Books organized in public shelfs, visible to everyone"
msgstr "公的の叢書に選び分ける、みんなに見える"
#: cps/templates/index.xml:77 cps/templates/layout.html:165
#: cps/templates/index.xml:77 cps/templates/layout.html:167
msgid "Your Shelves"
msgstr "あなたの叢書"
@ -1122,88 +1140,88 @@ msgstr "あなたの叢書"
msgid "User's own shelfs, only visible to the current user himself"
msgstr "ユーザ自身の叢書、自分しか見えない"
#: cps/templates/layout.html:31
#: cps/templates/layout.html:33
msgid "Toggle navigation"
msgstr "ナビゲーション"
#: cps/templates/layout.html:52
#: cps/templates/layout.html:54
msgid "Advanced Search"
msgstr "詳細検索"
#: cps/templates/layout.html:73
#: cps/templates/layout.html:75
msgid "Logout"
msgstr "ロクアウト"
#: cps/templates/layout.html:78 cps/templates/register.html:18
#: cps/templates/layout.html:80 cps/templates/register.html:18
msgid "Register"
msgstr "登録"
#: cps/templates/layout.html:103
#: cps/templates/layout.html:105
msgid "Uploading..."
msgstr ""
#: cps/templates/layout.html:104
#: cps/templates/layout.html:106
msgid "please don't refresh the page"
msgstr ""
#: cps/templates/layout.html:115
#: cps/templates/layout.html:117
msgid "Browse"
msgstr "ブラウズ"
#: cps/templates/layout.html:117
#: cps/templates/layout.html:119
msgid "Recently Added"
msgstr "最近追加"
#: cps/templates/layout.html:122
#: cps/templates/layout.html:124
msgid "Sorted Books"
msgstr "整列した本"
#: cps/templates/layout.html:126 cps/templates/layout.html:127
#: cps/templates/layout.html:128 cps/templates/layout.html:129
#: cps/templates/layout.html:130 cps/templates/layout.html:131
msgid "Sort By"
msgstr "整列"
#: cps/templates/layout.html:126
#: cps/templates/layout.html:128
msgid "Newest"
msgstr "最新"
#: cps/templates/layout.html:127
#: cps/templates/layout.html:129
msgid "Oldest"
msgstr "最古"
#: cps/templates/layout.html:128
#: cps/templates/layout.html:130
msgid "Ascending"
msgstr "昇順"
#: cps/templates/layout.html:129
#: cps/templates/layout.html:131
msgid "Descending"
msgstr "降順"
#: cps/templates/layout.html:146
#: cps/templates/layout.html:148
msgid "Discover"
msgstr "発見"
#: cps/templates/layout.html:149
#: cps/templates/layout.html:151
msgid "Categories"
msgstr "カテゴリー"
#: cps/templates/layout.html:158 cps/templates/search_form.html:75
#: cps/templates/layout.html:160 cps/templates/search_form.html:75
msgid "Languages"
msgstr "言語"
#: cps/templates/layout.html:170
#: cps/templates/layout.html:172
msgid "Create a Shelf"
msgstr "叢書を作成する"
#: cps/templates/layout.html:171 cps/templates/stats.html:3
#: cps/templates/layout.html:173 cps/templates/stats.html:3
msgid "About"
msgstr "このサイトについて"
#: cps/templates/layout.html:185
#: cps/templates/layout.html:187
msgid "Previous"
msgstr "前"
#: cps/templates/layout.html:212
#: cps/templates/layout.html:214
msgid "Book Details"
msgstr "本の詳細"
@ -1374,18 +1392,30 @@ msgid "Kindle E-Mail"
msgstr "Kindleメール"
#: cps/templates/user_edit.html:35
msgid "Theme"
msgstr ""
#: cps/templates/user_edit.html:37
msgid "Standard Theme"
msgstr ""
#: cps/templates/user_edit.html:38
msgid "caliBlur! Dark Theme (Beta)"
msgstr ""
#: cps/templates/user_edit.html:43
msgid "Show books with language"
msgstr "言語で本を表示する"
#: cps/templates/user_edit.html:37
#: cps/templates/user_edit.html:45
msgid "Show all"
msgstr "全て表示"
#: cps/templates/user_edit.html:131
#: cps/templates/user_edit.html:139
msgid "Delete this user"
msgstr "このユーザを削除する"
#: cps/templates/user_edit.html:146
#: cps/templates/user_edit.html:154
msgid "Recent Downloads"
msgstr "最近ダウンロード"

View File

@ -22,7 +22,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Calibre-web dutch translation by Ed Driesen (GPL V3)\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2018-04-01 19:27+0200\n"
"POT-Creation-Date: 2018-06-02 10:45+0200\n"
"PO-Revision-Date: 2017-06-21 20:15+0200\n"
"Last-Translator: \n"
"Language: nl\n"
@ -37,57 +37,57 @@ msgstr ""
msgid "not installed"
msgstr "niet geïnstalleerd"
#: cps/helper.py:78
#: cps/helper.py:79
#, python-format
msgid "kindlegen binary %(kindlepath)s not found"
msgstr "kindlegen binary %(kindlepath)s niet gevonden"
#: cps/helper.py:84
#: cps/helper.py:85
#, python-format
msgid "epub format not found for book id: %(book)d"
msgstr "epub type niet gevonden voor boek met id: %(book)d"
#: cps/helper.py:94
#: cps/helper.py:95
msgid "kindlegen failed, no execution permissions"
msgstr "kindlegen gefaald, geen rechten om uit te voeren"
#: cps/helper.py:109
#: cps/helper.py:110
#, python-format
msgid "Kindlegen failed with Error %(error)s. Message: %(message)s"
msgstr "Kindlegen gefaald met Error %(error)s. Bericht: %(message)s"
#: cps/helper.py:188
#: cps/helper.py:189
#, python-format
msgid "Failed to send mail: %s"
msgstr "Mail sturen gefaald: %s"
#: cps/helper.py:195
#: cps/helper.py:196
msgid "Calibre-web test email"
msgstr "Calibre-web test email"
#: cps/helper.py:196 cps/helper.py:208
#: cps/helper.py:197 cps/helper.py:209
msgid "This email has been sent via calibre web."
msgstr "Deze mail werd verstuurd met calibre web."
#: cps/helper.py:205 cps/templates/detail.html:44
#: cps/helper.py:206 cps/templates/detail.html:44
msgid "Send to Kindle"
msgstr "Stuur naar Kindle:"
#: cps/helper.py:225 cps/helper.py:239
#: cps/helper.py:226 cps/helper.py:240
msgid "Could not find any formats suitable for sending by email"
msgstr "Kon geen geschikte formaten vinden om te verzenden per email"
#: cps/helper.py:340
#: cps/helper.py:341
#, python-format
msgid "Rename title from: \"%s\" to \"%s\" failed with error: %s"
msgstr ""
#: cps/helper.py:349
#: cps/helper.py:350
#, python-format
msgid "Rename author from: \"%s\" to \"%s\" failed with error: %s"
msgstr ""
#: cps/ub.py:684
#: cps/ub.py:694
msgid "Guest"
msgstr "Gast"
@ -155,7 +155,7 @@ msgstr "Willekeurige boeken"
msgid "Author list"
msgstr "Auteur lijst"
#: cps/web.py:1220 cps/web.py:1278 cps/web.py:1408 cps/web.py:1903
#: cps/web.py:1220 cps/web.py:1278 cps/web.py:1408 cps/web.py:1917
msgid "Error opening eBook. File does not exist or file is not accessible:"
msgstr ""
"Fout bij openen van het boek. Bestand bestaat niet of is niet "
@ -196,308 +196,330 @@ msgstr "Rechten om uit te voeren ontbreken"
msgid "Statistics"
msgstr "Statistieken"
#: cps/web.py:1641
#: cps/web.py:1573
msgid ""
"Callback domain is not verified, please follow steps to verify domain in "
"google developer console"
msgstr ""
#: cps/web.py:1651
msgid "Server restarted, please reload page"
msgstr "Server herstart, gelieve de pagina herladen"
#: cps/web.py:1643
#: cps/web.py:1653
msgid "Performing shutdown of server, please close window"
msgstr "Bezig met het stoppen van de server, gelieve venster te sluiten"
#: cps/web.py:1659
#: cps/web.py:1669
msgid "Update done"
msgstr "Update voltooid"
#: cps/web.py:1716
#: cps/web.py:1726
#, python-format
msgid "Published after %s"
msgstr ""
#: cps/web.py:1721
#: cps/web.py:1731
msgid "Published before "
msgstr ""
#: cps/web.py:1767 cps/web.py:1780
#: cps/web.py:1777 cps/web.py:1790
msgid "search"
msgstr "zoek"
#: cps/web.py:1816
msgid "not found on GDrive"
msgstr ""
#: cps/templates/index.xml:39 cps/templates/index.xml:42
#: cps/templates/layout.html:141 cps/web.py:1858
#: cps/templates/layout.html:143 cps/web.py:1872
msgid "Read Books"
msgstr "Gelezen Boeken"
#: cps/templates/index.xml:46 cps/templates/index.xml:49
#: cps/templates/layout.html:143 cps/web.py:1861
#: cps/templates/layout.html:145 cps/web.py:1875
msgid "Unread Books"
msgstr "Ongelezen Boeken"
#: cps/web.py:1936 cps/web.py:1938 cps/web.py:1940 cps/web.py:1949
#: cps/web.py:1950 cps/web.py:1952 cps/web.py:1954 cps/web.py:1963
msgid "Read a Book"
msgstr "Lees een boek"
#: cps/web.py:2001 cps/web.py:2718
#: cps/web.py:2015 cps/web.py:2751
msgid "Please fill out all fields!"
msgstr "Gelieve alle velden in te vullen!"
#: cps/web.py:2002 cps/web.py:2019 cps/web.py:2024 cps/web.py:2026
#: cps/web.py:2016 cps/web.py:2033 cps/web.py:2038 cps/web.py:2040
msgid "register"
msgstr "registreer"
#: cps/web.py:2018
#: cps/web.py:2032
msgid "An unknown error occured. Please try again later."
msgstr "Een onbekende fout deed zich voor. Gelieve later nog eens te proberen."
#: cps/web.py:2023
#: cps/web.py:2037
msgid "This username or email address is already in use."
msgstr "Deze gebruikersnaam of dit emailadres is reeds in gebruik."
#: cps/web.py:2042 cps/web.py:2138
#: cps/web.py:2056 cps/web.py:2152
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "je bent nu ingelogd als: '%(nickname)s'"
#: cps/web.py:2047
#: cps/web.py:2061
msgid "Wrong Username or Password"
msgstr "Verkeerde gebruikersnaam of Wachtwoord"
#: cps/web.py:2053 cps/web.py:2074
#: cps/web.py:2067 cps/web.py:2088
msgid "login"
msgstr "login"
#: cps/web.py:2086 cps/web.py:2117
#: cps/web.py:2100 cps/web.py:2131
msgid "Token not found"
msgstr "Token niet gevonden"
#: cps/web.py:2094 cps/web.py:2125
#: cps/web.py:2108 cps/web.py:2139
msgid "Token has expired"
msgstr "Token is verlopen"
#: cps/web.py:2102
#: cps/web.py:2116
msgid "Success! Please return to your device"
msgstr "Gelukt! Ga terug naar je apparaat"
#: cps/web.py:2152
#: cps/web.py:2166
msgid "Please configure the SMTP mail settings first..."
msgstr "Gelieve de SMTP mail instellingen eerst te configureren..."
#: cps/web.py:2156
#: cps/web.py:2170
#, python-format
msgid "Book successfully send to %(kindlemail)s"
msgstr "Boek met succes verstuurd naar %(kindlemail)s"
#: cps/web.py:2160
#: cps/web.py:2174
#, python-format
msgid "There was an error sending this book: %(res)s"
msgstr "Er trad een fout op bij het versturen van dit boek: %(res)s"
#: cps/web.py:2162 cps/web.py:2805
#: cps/web.py:2176 cps/web.py:2839
msgid "Please configure your kindle email address first..."
msgstr "Gelieve eerst je kindle email adres te configureren..."
#: cps/web.py:2206
#: cps/web.py:2220
#, python-format
msgid "Book has been added to shelf: %(sname)s"
msgstr "Boek werd toegevoegd aan boekenplank: %(sname)s"
#: cps/web.py:2244
#: cps/web.py:2258
#, python-format
msgid "Book has been removed from shelf: %(sname)s"
msgstr "Boek werd verwijderd van boekenplank: %(sname)s"
#: cps/web.py:2250
#: cps/web.py:2264
#, python-format
msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s"
msgstr ""
#: cps/web.py:2270 cps/web.py:2294
#: cps/web.py:2284 cps/web.py:2308
#, python-format
msgid "A shelf with the name '%(title)s' already exists."
msgstr "Een boekenplank met de naam '%(title)s' bestaat reeds."
#: cps/web.py:2275
#: cps/web.py:2289
#, python-format
msgid "Shelf %(title)s created"
msgstr "Boekenplank %(title)s aangemaakt"
#: cps/web.py:2277 cps/web.py:2305
#: cps/web.py:2291 cps/web.py:2319
msgid "There was an error"
msgstr "Er deed zich een fout voor"
#: cps/web.py:2278 cps/web.py:2280
#: cps/web.py:2292 cps/web.py:2294
msgid "create a shelf"
msgstr "maak een boekenplank"
#: cps/web.py:2303
#: cps/web.py:2317
#, python-format
msgid "Shelf %(title)s changed"
msgstr "Boekenplank %(title)s gewijzigd"
#: cps/web.py:2306 cps/web.py:2308
#: cps/web.py:2320 cps/web.py:2322
msgid "Edit a shelf"
msgstr "Bewerk een boekenplank"
#: cps/web.py:2329
#: cps/web.py:2343
#, python-format
msgid "successfully deleted shelf %(name)s"
msgstr "Boekenplank %(name)s succesvol gewist"
#: cps/web.py:2351
#: cps/web.py:2365
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "Boekenplank: '%(name)s'"
#: cps/web.py:2354
#: cps/web.py:2368
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr ""
"Fout bij openen boekenplank. Boekenplank bestaat niet of is niet "
"toegankelijk"
#: cps/web.py:2385
#: cps/web.py:2399
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "Verander volgorde van Boekenplank: '%(name)s'"
#: cps/web.py:2454
#: cps/web.py:2469
msgid "Found an existing account for this email address."
msgstr "Een bestaand gebruiker gevonden voor dit email adres."
#: cps/web.py:2456 cps/web.py:2460
#: cps/web.py:2471 cps/web.py:2475
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)s's profiel"
#: cps/web.py:2457
#: cps/web.py:2472
msgid "Profile updated"
msgstr "Profiel aangepast"
#: cps/web.py:2469
#: cps/web.py:2484
msgid "Unknown"
msgstr ""
#: cps/web.py:2482
#: cps/web.py:2497
msgid "Admin page"
msgstr "Administratie pagina"
#: cps/web.py:2553
msgid "Keyfile location is not valid, please enter correct path"
#: cps/web.py:2520
msgid "Import of optional GDrive requirements missing"
msgstr ""
#: cps/web.py:2556 cps/web.py:2567 cps/web.py:2660 cps/web.py:2679
#: cps/web.py:2685 cps/web.py:2699
#: cps/web.py:2523
msgid "client_secret.json is missing or not readable"
msgstr ""
#: cps/web.py:2528 cps/web.py:2553
msgid "client_secret.json is not configured for web application"
msgstr ""
#: cps/web.py:2556 cps/web.py:2582 cps/web.py:2593 cps/web.py:2686
#: cps/web.py:2706 cps/web.py:2713 cps/web.py:2732
msgid "Basic Configuration"
msgstr "Basis configuratie"
#: cps/web.py:2564
#: cps/web.py:2579
msgid "Keyfile location is not valid, please enter correct path"
msgstr ""
#: cps/web.py:2590
msgid "Certfile location is not valid, please enter correct path"
msgstr ""
#: cps/web.py:2657
#: cps/web.py:2683
msgid "Logfile location is not valid, please enter correct path"
msgstr ""
#: cps/web.py:2672
#: cps/web.py:2698
msgid "Calibre-web configuration updated"
msgstr "Calibre-web configuratie aangepast"
#: cps/web.py:2683
#: cps/web.py:2710
msgid "DB location is not valid, please enter correct path"
msgstr "DB locatie is niet geldig, gelieve het correcte pad in te geven"
#: cps/templates/admin.html:34 cps/web.py:2720 cps/web.py:2775
#: cps/templates/admin.html:34 cps/web.py:2753 cps/web.py:2809
msgid "Add new user"
msgstr "Voeg nieuwe gebruiker toe"
#: cps/web.py:2765
#: cps/web.py:2799
#, python-format
msgid "User '%(user)s' created"
msgstr "Gebruiker '%(user)s' aangemaakt"
#: cps/web.py:2769
#: cps/web.py:2803
msgid "Found an existing account for this email address or nickname."
msgstr "Een bestaande gebruiker gevonden voor dit emailadres of gebruikersnaam."
#: cps/web.py:2793
#: cps/web.py:2827
msgid "Mail settings updated"
msgstr "Mail instellingen aangepast"
#: cps/web.py:2800
#: cps/web.py:2834
#, python-format
msgid "Test E-Mail successfully send to %(kindlemail)s"
msgstr "Test email met succes verstuurd naar %(kindlemail)s"
#: cps/web.py:2803
#: cps/web.py:2837
#, python-format
msgid "There was an error sending the Test E-Mail: %(res)s"
msgstr "Er trad een fout op met het versturen van de test email: %(res)s"
#: cps/web.py:2807
#: cps/web.py:2841
msgid "E-Mail settings updated"
msgstr "Email instellingen aangepast"
#: cps/web.py:2808
#: cps/web.py:2842
msgid "Edit mail settings"
msgstr "Bewerk mail instellingen"
#: cps/web.py:2837
#: cps/web.py:2871
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Gebruiker '%(nick)s' verwijderd"
#: cps/web.py:2945
#: cps/web.py:2980
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Gebruiker '%(nick)s' aangepast"
#: cps/web.py:2948
#: cps/web.py:2983
msgid "An unknown error occured."
msgstr "Een onbekende fout deed zich voor."
#: cps/web.py:2951
#: cps/web.py:2986
#, python-format
msgid "Edit User %(nick)s"
msgstr "Bewerk gebruiker '%(nick)s'"
#: cps/web.py:2967
#: cps/web.py:3002
msgid "Error opening eBook. File does not exist or file is not accessible"
msgstr "Fout bij openen eBook. Het bestand bestaat niet of is niet toegankelijk"
#: cps/web.py:2982 cps/web.py:3193 cps/web.py:3198 cps/web.py:3344
#: cps/web.py:3017 cps/web.py:3228 cps/web.py:3233 cps/web.py:3379
msgid "edit metadata"
msgstr "Bewerk metadata"
#: cps/web.py:2992 cps/web.py:3238
#: cps/web.py:3027 cps/web.py:3273
#, python-format
msgid "File extension \"%s\" is not allowed to be uploaded to this server"
msgstr "Het uploaden van bestandsextensie \"%s\" is niet toegestaan op deze server"
#: cps/web.py:3003
#: cps/web.py:3038
#, python-format
msgid "Failed to store file %s."
msgstr "Bestand opslaan niet gelukt voor %s."
#: cps/web.py:3025 cps/web.py:3029
#: cps/web.py:3060 cps/web.py:3064
msgid "unknown"
msgstr "onbekend"
#: cps/web.py:3052
#: cps/web.py:3087
msgid "Cover is not a jpg file, can't save"
msgstr ""
#: cps/web.py:3244
#: cps/web.py:3279
msgid "File to be uploaded must have an extension"
msgstr "Up te loaden bestanden dienen een extensie te hebben"
#: cps/web.py:3263
#: cps/web.py:3298
#, python-format
msgid "Failed to create path %s (Permission denied)."
msgstr "Het pad %s aanmaken mislukt (Geen toestemming)."
#: cps/web.py:3268
#: cps/web.py:3303
#, python-format
msgid "Failed to store file %s (Permission denied)."
msgstr "Bestand %s opslaan mislukt (Geen toestemming)."
#: cps/web.py:3273
#: cps/web.py:3308
#, python-format
msgid "Failed to delete file %s (Permission denied)."
msgstr "Bestand %s wissen mislukt (Geen toestemming)."
@ -522,7 +544,7 @@ msgstr "Kindlle"
msgid "DLS"
msgstr "DLS"
#: cps/templates/admin.html:12 cps/templates/layout.html:69
#: cps/templates/admin.html:12 cps/templates/layout.html:71
msgid "Admin"
msgstr "Administratie"
@ -531,7 +553,7 @@ msgstr "Administratie"
msgid "Download"
msgstr "Download"
#: cps/templates/admin.html:14 cps/templates/layout.html:62
#: cps/templates/admin.html:14 cps/templates/layout.html:64
msgid "Upload"
msgstr "Upload"
@ -583,7 +605,7 @@ msgstr "Configuratie"
msgid "Calibre DB dir"
msgstr "Calibre DB map"
#: cps/templates/admin.html:61 cps/templates/config_edit.html:91
#: cps/templates/admin.html:61 cps/templates/config_edit.html:87
msgid "Log Level"
msgstr "Log niveau"
@ -591,7 +613,7 @@ msgstr "Log niveau"
msgid "Port"
msgstr "Poort"
#: cps/templates/admin.html:63 cps/templates/config_edit.html:68
#: cps/templates/admin.html:63 cps/templates/config_edit.html:64
msgid "Books per page"
msgstr "Boeken per pagina"
@ -654,9 +676,9 @@ msgstr "Ok"
#: cps/templates/admin.html:105 cps/templates/admin.html:119
#: cps/templates/book_edit.html:135 cps/templates/book_edit.html:157
#: cps/templates/config_edit.html:223 cps/templates/email_edit.html:36
#: cps/templates/config_edit.html:219 cps/templates/email_edit.html:36
#: cps/templates/shelf.html:60 cps/templates/shelf_edit.html:19
#: cps/templates/shelf_order.html:12 cps/templates/user_edit.html:139
#: cps/templates/shelf_order.html:12 cps/templates/user_edit.html:147
msgid "Back"
msgstr "Terug"
@ -702,7 +724,7 @@ msgstr "Omschrijving"
msgid "Tags"
msgstr "Tags"
#: cps/templates/book_edit.html:39 cps/templates/layout.html:152
#: cps/templates/book_edit.html:39 cps/templates/layout.html:154
#: cps/templates/search_form.html:54
msgid "Series"
msgstr "Series"
@ -749,9 +771,9 @@ msgstr "bekijk boek na bewerking"
msgid "Get metadata"
msgstr "Verkrijg metadata"
#: cps/templates/book_edit.html:134 cps/templates/config_edit.html:221
#: cps/templates/book_edit.html:134 cps/templates/config_edit.html:217
#: cps/templates/login.html:20 cps/templates/search_form.html:96
#: cps/templates/shelf_edit.html:17 cps/templates/user_edit.html:137
#: cps/templates/shelf_edit.html:17 cps/templates/user_edit.html:145
msgid "Submit"
msgstr "Indienen"
@ -779,7 +801,7 @@ msgstr "Zoekwoord"
msgid " Search keyword "
msgstr "Zoek voor zoekwoord"
#: cps/templates/book_edit.html:175 cps/templates/layout.html:44
#: cps/templates/book_edit.html:175 cps/templates/layout.html:46
msgid "Go!"
msgstr "Start!"
@ -791,7 +813,7 @@ msgstr "Klik op de omslag om de metatadata in het formulier te laden"
msgid "Loading..."
msgstr "Aan het laden..."
#: cps/templates/book_edit.html:196 cps/templates/layout.html:216
#: cps/templates/book_edit.html:196 cps/templates/layout.html:218
msgid "Close"
msgstr "Sluit"
@ -816,184 +838,180 @@ msgstr "Geen resultaat! Gelieve een ander zoekwoord proberen"
msgid "Location of Calibre database"
msgstr "Locatie van de Calibre database"
#: cps/templates/config_edit.html:13
#: cps/templates/config_edit.html:12
msgid "Use google drive?"
msgstr "Google drive gebruiken?"
#: cps/templates/config_edit.html:17
msgid "Client id"
msgstr "Client id"
#: cps/templates/config_edit.html:18
msgid "Google drive config problem"
msgstr ""
#: cps/templates/config_edit.html:21
msgid "Client secret"
msgstr "Client geheim"
#: cps/templates/config_edit.html:25
msgid "Calibre Base URL"
msgstr "Calibre basis URL"
#: cps/templates/config_edit.html:29
#: cps/templates/config_edit.html:28
msgid "Google drive Calibre folder"
msgstr "Google drive calibre folder"
#: cps/templates/config_edit.html:38
#: cps/templates/config_edit.html:36
msgid "Metadata Watch Channel ID"
msgstr "Metadata Watch Channel ID"
#: cps/templates/config_edit.html:52
#: cps/templates/config_edit.html:39
msgid "Revoke"
msgstr ""
#: cps/templates/config_edit.html:48
msgid "Server Port"
msgstr "Server poort"
#: cps/templates/config_edit.html:56
#: cps/templates/config_edit.html:52
msgid "SSL certfile location (leave it empty for non-SSL Servers)"
msgstr ""
#: cps/templates/config_edit.html:60
#: cps/templates/config_edit.html:56
msgid "SSL Keyfile location (leave it empty for non-SSL Servers)"
msgstr ""
#: cps/templates/config_edit.html:64 cps/templates/layout.html:128
#: cps/templates/layout.html:129 cps/templates/shelf_edit.html:7
#: cps/templates/config_edit.html:60 cps/templates/layout.html:130
#: cps/templates/layout.html:131 cps/templates/shelf_edit.html:7
msgid "Title"
msgstr "Titel"
#: cps/templates/config_edit.html:72
#: cps/templates/config_edit.html:68
msgid "No. of random books to show"
msgstr "Aantal boeken te tonen"
#: cps/templates/config_edit.html:76
#: cps/templates/config_edit.html:72
msgid "Regular expression for ignoring columns"
msgstr "Reguliere expressie om kolommen te negeren"
#: cps/templates/config_edit.html:80
#: cps/templates/config_edit.html:76
msgid "Regular expression for title sorting"
msgstr "Rguliere expressie op titels te sorteren"
#: cps/templates/config_edit.html:84
#: cps/templates/config_edit.html:80
msgid "Tags for Mature Content"
msgstr "Tags voor Volwassen Inhoud"
#: cps/templates/config_edit.html:100
#: cps/templates/config_edit.html:96
msgid "Location and name of logfile (calibre-web.log for no entry)"
msgstr ""
#: cps/templates/config_edit.html:106
#: cps/templates/config_edit.html:102
msgid "Enable uploading"
msgstr "Uploaden aanzetten"
#: cps/templates/config_edit.html:110
#: cps/templates/config_edit.html:106
msgid "Enable anonymous browsing"
msgstr "Anoniem verkennen aanzetten"
#: cps/templates/config_edit.html:114
#: cps/templates/config_edit.html:110
msgid "Enable public registration"
msgstr "Publieke registratie aanzetten"
#: cps/templates/config_edit.html:118
#: cps/templates/config_edit.html:114
msgid "Enable remote login (\"magic link\")"
msgstr "Maak op afstand ionloggen mogelijk (\"magic link\")"
#: cps/templates/config_edit.html:123
#: cps/templates/config_edit.html:119
msgid "Use"
msgstr "Gebruik"
#: cps/templates/config_edit.html:124
#: cps/templates/config_edit.html:120
msgid "Obtain an API Key"
msgstr "Verkrijg een API sleutel"
#: cps/templates/config_edit.html:128
#: cps/templates/config_edit.html:124
msgid "Goodreads API Key"
msgstr "Goodreads API sleutel"
#: cps/templates/config_edit.html:132
#: cps/templates/config_edit.html:128
msgid "Goodreads API Secret"
msgstr "Goodreads API geheim"
#: cps/templates/config_edit.html:137
#: cps/templates/config_edit.html:133
msgid "Default Settings for new users"
msgstr "Standaard instellingen voor nieuwe gebruikers"
#: cps/templates/config_edit.html:140 cps/templates/user_edit.html:94
#: cps/templates/config_edit.html:136 cps/templates/user_edit.html:102
msgid "Admin user"
msgstr "Administratie gebruiker"
#: cps/templates/config_edit.html:144 cps/templates/user_edit.html:103
#: cps/templates/config_edit.html:140 cps/templates/user_edit.html:111
msgid "Allow Downloads"
msgstr "Downloads toestaan"
#: cps/templates/config_edit.html:148 cps/templates/user_edit.html:107
#: cps/templates/config_edit.html:144 cps/templates/user_edit.html:115
msgid "Allow Uploads"
msgstr "Uploads toestaan"
#: cps/templates/config_edit.html:152 cps/templates/user_edit.html:111
#: cps/templates/config_edit.html:148 cps/templates/user_edit.html:119
msgid "Allow Edit"
msgstr "Bewerken toestaan"
#: cps/templates/config_edit.html:156 cps/templates/user_edit.html:115
#: cps/templates/config_edit.html:152 cps/templates/user_edit.html:123
msgid "Allow Delete books"
msgstr "Het wissen van boeken toestaan"
#: cps/templates/config_edit.html:160 cps/templates/user_edit.html:120
#: cps/templates/config_edit.html:156 cps/templates/user_edit.html:128
msgid "Allow Changing Password"
msgstr "Wachtwoord wijzigen toestaan"
#: cps/templates/config_edit.html:164 cps/templates/user_edit.html:124
#: cps/templates/config_edit.html:160 cps/templates/user_edit.html:132
msgid "Allow Editing Public Shelfs"
msgstr "Publieke boekenplanken bewerken toestaan"
#: cps/templates/config_edit.html:168
#: cps/templates/config_edit.html:164
msgid "Default visiblities for new users"
msgstr ""
#: cps/templates/config_edit.html:172 cps/templates/user_edit.html:46
#: cps/templates/config_edit.html:168 cps/templates/user_edit.html:54
msgid "Show random books"
msgstr "Toon willekeurige boeken"
#: cps/templates/config_edit.html:176 cps/templates/user_edit.html:50
#: cps/templates/config_edit.html:172 cps/templates/user_edit.html:58
msgid "Show recent books"
msgstr ""
#: cps/templates/config_edit.html:180 cps/templates/user_edit.html:54
#: cps/templates/config_edit.html:176 cps/templates/user_edit.html:62
msgid "Show sorted books"
msgstr ""
#: cps/templates/config_edit.html:184 cps/templates/user_edit.html:58
#: cps/templates/config_edit.html:180 cps/templates/user_edit.html:66
msgid "Show hot books"
msgstr "Toon populaire boeken"
#: cps/templates/config_edit.html:188 cps/templates/user_edit.html:62
#: cps/templates/config_edit.html:184 cps/templates/user_edit.html:70
msgid "Show best rated books"
msgstr "Toon best beoordeelde boeken"
#: cps/templates/config_edit.html:192 cps/templates/user_edit.html:66
#: cps/templates/config_edit.html:188 cps/templates/user_edit.html:74
msgid "Show language selection"
msgstr "Toon taal selectie"
#: cps/templates/config_edit.html:196 cps/templates/user_edit.html:70
#: cps/templates/config_edit.html:192 cps/templates/user_edit.html:78
msgid "Show series selection"
msgstr "Toon serie selectie"
#: cps/templates/config_edit.html:200 cps/templates/user_edit.html:74
#: cps/templates/config_edit.html:196 cps/templates/user_edit.html:82
msgid "Show category selection"
msgstr "Toon categorie selectie"
#: cps/templates/config_edit.html:204 cps/templates/user_edit.html:78
#: cps/templates/config_edit.html:200 cps/templates/user_edit.html:86
msgid "Show author selection"
msgstr "Toon auteur selectie"
#: cps/templates/config_edit.html:208 cps/templates/user_edit.html:82
#: cps/templates/config_edit.html:204 cps/templates/user_edit.html:90
msgid "Show read and unread"
msgstr "Toon gelezen en ongelezen"
#: cps/templates/config_edit.html:212 cps/templates/user_edit.html:86
#: cps/templates/config_edit.html:208 cps/templates/user_edit.html:94
msgid "Show random books in detail view"
msgstr "Toon willekeurige boeken in gedetailleerd zicht"
#: cps/templates/config_edit.html:216 cps/templates/user_edit.html:99
#: cps/templates/config_edit.html:212 cps/templates/user_edit.html:107
msgid "Show mature content"
msgstr "Toon Volwassen Inhoud"
#: cps/templates/config_edit.html:226 cps/templates/layout.html:77
#: cps/templates/config_edit.html:222 cps/templates/layout.html:79
#: cps/templates/login.html:4
msgid "Login"
msgstr "Login"
@ -1064,12 +1082,12 @@ msgstr "Bewaar instelling"
msgid "Save settings and send Test E-Mail"
msgstr "Bewaar instellingen en stuur test email"
#: cps/templates/feed.xml:20 cps/templates/layout.html:200
#: cps/templates/feed.xml:20 cps/templates/layout.html:202
msgid "Next"
msgstr "Volgende"
#: cps/templates/feed.xml:29 cps/templates/index.xml:7
#: cps/templates/layout.html:41 cps/templates/layout.html:42
#: cps/templates/layout.html:43 cps/templates/layout.html:44
msgid "Search"
msgstr "Zoek"
@ -1081,7 +1099,7 @@ msgstr "Ontdek (Willekeurige Boeken)"
msgid "Start"
msgstr "Start"
#: cps/templates/index.xml:14 cps/templates/layout.html:134
#: cps/templates/index.xml:14 cps/templates/layout.html:136
msgid "Hot Books"
msgstr "Populaire Boeken"
@ -1089,7 +1107,7 @@ msgstr "Populaire Boeken"
msgid "Popular publications from this catalog based on Downloads."
msgstr "Populaire publicaties van deze cataloog gebaseerd op Downloads."
#: cps/templates/index.xml:20 cps/templates/layout.html:137
#: cps/templates/index.xml:20 cps/templates/layout.html:139
msgid "Best rated Books"
msgstr "Best beoordeeld"
@ -1109,7 +1127,7 @@ msgstr "Recentste boeken"
msgid "Show Random Books"
msgstr "Toon Willekeurige Boeken"
#: cps/templates/index.xml:52 cps/templates/layout.html:155
#: cps/templates/index.xml:52 cps/templates/layout.html:157
msgid "Authors"
msgstr "Auteurs"
@ -1125,7 +1143,7 @@ msgstr "Boeken gesorteerd op Categorie"
msgid "Books ordered by series"
msgstr "Boeken gesorteerd op Serie"
#: cps/templates/index.xml:70 cps/templates/layout.html:161
#: cps/templates/index.xml:70 cps/templates/layout.html:163
msgid "Public Shelves"
msgstr "Publieke Boekenplanken"
@ -1133,7 +1151,7 @@ msgstr "Publieke Boekenplanken"
msgid "Books organized in public shelfs, visible to everyone"
msgstr ""
#: cps/templates/index.xml:77 cps/templates/layout.html:165
#: cps/templates/index.xml:77 cps/templates/layout.html:167
msgid "Your Shelves"
msgstr "Jou Boekenplanken"
@ -1141,88 +1159,88 @@ msgstr "Jou Boekenplanken"
msgid "User's own shelfs, only visible to the current user himself"
msgstr ""
#: cps/templates/layout.html:31
#: cps/templates/layout.html:33
msgid "Toggle navigation"
msgstr "Kies navigatie"
#: cps/templates/layout.html:52
#: cps/templates/layout.html:54
msgid "Advanced Search"
msgstr "Geavanceerd zoeken"
#: cps/templates/layout.html:73
#: cps/templates/layout.html:75
msgid "Logout"
msgstr "Log uit"
#: cps/templates/layout.html:78 cps/templates/register.html:18
#: cps/templates/layout.html:80 cps/templates/register.html:18
msgid "Register"
msgstr "Registreer"
#: cps/templates/layout.html:103
#: cps/templates/layout.html:105
msgid "Uploading..."
msgstr ""
#: cps/templates/layout.html:104
#: cps/templates/layout.html:106
msgid "please don't refresh the page"
msgstr ""
#: cps/templates/layout.html:115
#: cps/templates/layout.html:117
msgid "Browse"
msgstr "Verkennen"
#: cps/templates/layout.html:117
#: cps/templates/layout.html:119
msgid "Recently Added"
msgstr "Recent Toegevoegd"
#: cps/templates/layout.html:122
#: cps/templates/layout.html:124
msgid "Sorted Books"
msgstr "Gesorteerde Boeken"
#: cps/templates/layout.html:126 cps/templates/layout.html:127
#: cps/templates/layout.html:128 cps/templates/layout.html:129
#: cps/templates/layout.html:130 cps/templates/layout.html:131
msgid "Sort By"
msgstr "Sorteren op"
#: cps/templates/layout.html:126
#: cps/templates/layout.html:128
msgid "Newest"
msgstr "Nieuwste"
#: cps/templates/layout.html:127
#: cps/templates/layout.html:129
msgid "Oldest"
msgstr "Oudste"
#: cps/templates/layout.html:128
#: cps/templates/layout.html:130
msgid "Ascending"
msgstr "Oplopend"
#: cps/templates/layout.html:129
#: cps/templates/layout.html:131
msgid "Descending"
msgstr "Aflopend"
#: cps/templates/layout.html:146
#: cps/templates/layout.html:148
msgid "Discover"
msgstr "Ontdek"
#: cps/templates/layout.html:149
#: cps/templates/layout.html:151
msgid "Categories"
msgstr "Categorieën"
#: cps/templates/layout.html:158 cps/templates/search_form.html:75
#: cps/templates/layout.html:160 cps/templates/search_form.html:75
msgid "Languages"
msgstr "Talen"
#: cps/templates/layout.html:170
#: cps/templates/layout.html:172
msgid "Create a Shelf"
msgstr "Maak een boekenplank"
#: cps/templates/layout.html:171 cps/templates/stats.html:3
#: cps/templates/layout.html:173 cps/templates/stats.html:3
msgid "About"
msgstr "Over"
#: cps/templates/layout.html:185
#: cps/templates/layout.html:187
msgid "Previous"
msgstr "Vorige"
#: cps/templates/layout.html:212
#: cps/templates/layout.html:214
msgid "Book Details"
msgstr "Boek Details"
@ -1393,18 +1411,30 @@ msgid "Kindle E-Mail"
msgstr "Kindle email"
#: cps/templates/user_edit.html:35
msgid "Theme"
msgstr ""
#: cps/templates/user_edit.html:37
msgid "Standard Theme"
msgstr ""
#: cps/templates/user_edit.html:38
msgid "caliBlur! Dark Theme (Beta)"
msgstr ""
#: cps/templates/user_edit.html:43
msgid "Show books with language"
msgstr "Toon boeken met taal"
#: cps/templates/user_edit.html:37
#: cps/templates/user_edit.html:45
msgid "Show all"
msgstr "Toon alles"
#: cps/templates/user_edit.html:131
#: cps/templates/user_edit.html:139
msgid "Delete this user"
msgstr "Wis deze gebruiker"
#: cps/templates/user_edit.html:146
#: cps/templates/user_edit.html:154
msgid "Recent Downloads"
msgstr "Recente Downloads"

View File

@ -12,7 +12,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Calibre Web - polski (POT: 2017-04-11 22:51)\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2018-04-01 19:27+0200\n"
"POT-Creation-Date: 2018-06-02 10:45+0200\n"
"PO-Revision-Date: 2017-04-11 22:51+0200\n"
"Last-Translator: Radosław Kierznowski <radek.kierznowski@outlook.com>\n"
"Language: pl\n"
@ -28,59 +28,59 @@ msgstr ""
msgid "not installed"
msgstr "nie zainstalowane"
#: cps/helper.py:78
#: cps/helper.py:79
#, python-format
msgid "kindlegen binary %(kindlepath)s not found"
msgstr ""
#: cps/helper.py:84
#: cps/helper.py:85
#, python-format
msgid "epub format not found for book id: %(book)d"
msgstr ""
#: cps/helper.py:94
#: cps/helper.py:95
msgid "kindlegen failed, no execution permissions"
msgstr ""
#: cps/helper.py:109
#: cps/helper.py:110
#, python-format
msgid "Kindlegen failed with Error %(error)s. Message: %(message)s"
msgstr ""
#: cps/helper.py:188
#: cps/helper.py:189
#, python-format
msgid "Failed to send mail: %s"
msgstr "Nie można wysłać poczty: %s"
#: cps/helper.py:195
#: cps/helper.py:196
msgid "Calibre-web test email"
msgstr "Calibre-web testowy email"
#: cps/helper.py:196 cps/helper.py:208
#: cps/helper.py:197 cps/helper.py:209
msgid "This email has been sent via calibre web."
msgstr "Ten e-mail został wysłany przez Calibre Web."
#: cps/helper.py:205 cps/templates/detail.html:44
#: cps/helper.py:206 cps/templates/detail.html:44
msgid "Send to Kindle"
msgstr "Wyślij do Kindle"
#: cps/helper.py:225 cps/helper.py:239
#: cps/helper.py:226 cps/helper.py:240
msgid "Could not find any formats suitable for sending by email"
msgstr ""
"Nie można znaleźć żadnych formatów przystosowane do wysyłania pocztą "
"e-mail"
#: cps/helper.py:340
#: cps/helper.py:341
#, python-format
msgid "Rename title from: \"%s\" to \"%s\" failed with error: %s"
msgstr ""
#: cps/helper.py:349
#: cps/helper.py:350
#, python-format
msgid "Rename author from: \"%s\" to \"%s\" failed with error: %s"
msgstr ""
#: cps/ub.py:684
#: cps/ub.py:694
msgid "Guest"
msgstr "Gość"
@ -148,7 +148,7 @@ msgstr "Losowe książki"
msgid "Author list"
msgstr "Lista autorów"
#: cps/web.py:1220 cps/web.py:1278 cps/web.py:1408 cps/web.py:1903
#: cps/web.py:1220 cps/web.py:1278 cps/web.py:1408 cps/web.py:1917
msgid "Error opening eBook. File does not exist or file is not accessible:"
msgstr "Błąd otwierania e-booka. Plik nie istnieje lub plik nie jest dostępny:"
@ -187,306 +187,328 @@ msgstr ""
msgid "Statistics"
msgstr "Statystyki"
#: cps/web.py:1641
#: cps/web.py:1573
msgid ""
"Callback domain is not verified, please follow steps to verify domain in "
"google developer console"
msgstr ""
#: cps/web.py:1651
msgid "Server restarted, please reload page"
msgstr "Serwer uruchomiony ponownie, proszę odświeżyć stronę"
#: cps/web.py:1643
#: cps/web.py:1653
msgid "Performing shutdown of server, please close window"
msgstr "Wykonano wyłączenie serwera, proszę zamknąć okno"
#: cps/web.py:1659
#: cps/web.py:1669
msgid "Update done"
msgstr "Aktualizacja zakończona"
#: cps/web.py:1716
#: cps/web.py:1726
#, python-format
msgid "Published after %s"
msgstr ""
#: cps/web.py:1721
#: cps/web.py:1731
msgid "Published before "
msgstr ""
#: cps/web.py:1767 cps/web.py:1780
#: cps/web.py:1777 cps/web.py:1790
msgid "search"
msgstr "szukaj"
#: cps/web.py:1816
msgid "not found on GDrive"
msgstr ""
#: cps/templates/index.xml:39 cps/templates/index.xml:42
#: cps/templates/layout.html:141 cps/web.py:1858
#: cps/templates/layout.html:143 cps/web.py:1872
msgid "Read Books"
msgstr "Przeczytane książki"
#: cps/templates/index.xml:46 cps/templates/index.xml:49
#: cps/templates/layout.html:143 cps/web.py:1861
#: cps/templates/layout.html:145 cps/web.py:1875
msgid "Unread Books"
msgstr "Nieprzeczytane książki"
#: cps/web.py:1936 cps/web.py:1938 cps/web.py:1940 cps/web.py:1949
#: cps/web.py:1950 cps/web.py:1952 cps/web.py:1954 cps/web.py:1963
msgid "Read a Book"
msgstr "Czytaj książkę"
#: cps/web.py:2001 cps/web.py:2718
#: cps/web.py:2015 cps/web.py:2751
msgid "Please fill out all fields!"
msgstr "Proszę wypełnić wszystkie pola!"
#: cps/web.py:2002 cps/web.py:2019 cps/web.py:2024 cps/web.py:2026
#: cps/web.py:2016 cps/web.py:2033 cps/web.py:2038 cps/web.py:2040
msgid "register"
msgstr "rejestracja"
#: cps/web.py:2018
#: cps/web.py:2032
msgid "An unknown error occured. Please try again later."
msgstr "Wystąpił nieznany błąd. Spróbuj ponownie później."
#: cps/web.py:2023
#: cps/web.py:2037
msgid "This username or email address is already in use."
msgstr "Nazwa użytkownika lub adres e-mail jest już w użyciu."
#: cps/web.py:2042 cps/web.py:2138
#: cps/web.py:2056 cps/web.py:2152
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "Zalogowałeś się jako: '%(nickname)s'"
#: cps/web.py:2047
#: cps/web.py:2061
msgid "Wrong Username or Password"
msgstr "Błędna nazwa użytkownika lub hasło"
#: cps/web.py:2053 cps/web.py:2074
#: cps/web.py:2067 cps/web.py:2088
msgid "login"
msgstr "logowanie"
#: cps/web.py:2086 cps/web.py:2117
#: cps/web.py:2100 cps/web.py:2131
msgid "Token not found"
msgstr ""
#: cps/web.py:2094 cps/web.py:2125
#: cps/web.py:2108 cps/web.py:2139
msgid "Token has expired"
msgstr ""
#: cps/web.py:2102
#: cps/web.py:2116
msgid "Success! Please return to your device"
msgstr ""
#: cps/web.py:2152
#: cps/web.py:2166
msgid "Please configure the SMTP mail settings first..."
msgstr "Proszę najpierw skonfigurować ustawienia SMTP poczty e-mail..."
#: cps/web.py:2156
#: cps/web.py:2170
#, python-format
msgid "Book successfully send to %(kindlemail)s"
msgstr "Książka została pomyślnie wysłana do %(kindlemail)s"
#: cps/web.py:2160
#: cps/web.py:2174
#, python-format
msgid "There was an error sending this book: %(res)s"
msgstr "Wystąpił błąd podczas wysyłania tej książki: %(res)s"
#: cps/web.py:2162 cps/web.py:2805
#: cps/web.py:2176 cps/web.py:2839
msgid "Please configure your kindle email address first..."
msgstr "Proszę najpierw skonfigurować adres e-mail swojego kindla..."
#: cps/web.py:2206
#: cps/web.py:2220
#, python-format
msgid "Book has been added to shelf: %(sname)s"
msgstr "Książka została dodana do półki: %(sname)s"
#: cps/web.py:2244
#: cps/web.py:2258
#, python-format
msgid "Book has been removed from shelf: %(sname)s"
msgstr "Książka została usunięta z półki: %(sname)s"
#: cps/web.py:2250
#: cps/web.py:2264
#, python-format
msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s"
msgstr ""
#: cps/web.py:2270 cps/web.py:2294
#: cps/web.py:2284 cps/web.py:2308
#, python-format
msgid "A shelf with the name '%(title)s' already exists."
msgstr "Półka o nazwie '%(title)s' już istnieje."
#: cps/web.py:2275
#: cps/web.py:2289
#, python-format
msgid "Shelf %(title)s created"
msgstr "Półka %(title)s została utworzona"
#: cps/web.py:2277 cps/web.py:2305
#: cps/web.py:2291 cps/web.py:2319
msgid "There was an error"
msgstr "Wystąpił błąd"
#: cps/web.py:2278 cps/web.py:2280
#: cps/web.py:2292 cps/web.py:2294
msgid "create a shelf"
msgstr "utwórz półkę"
#: cps/web.py:2303
#: cps/web.py:2317
#, python-format
msgid "Shelf %(title)s changed"
msgstr "Półka %(title)s została zmieniona"
#: cps/web.py:2306 cps/web.py:2308
#: cps/web.py:2320 cps/web.py:2322
msgid "Edit a shelf"
msgstr "Edytuj półkę"
#: cps/web.py:2329
#: cps/web.py:2343
#, python-format
msgid "successfully deleted shelf %(name)s"
msgstr "pomyślnie usunięto półkę %(name)s"
#: cps/web.py:2351
#: cps/web.py:2365
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "Półka: '%(name)s'"
#: cps/web.py:2354
#: cps/web.py:2368
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr ""
#: cps/web.py:2385
#: cps/web.py:2399
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "Zmieniono kolejność półki: '%(name)s'"
#: cps/web.py:2454
#: cps/web.py:2469
msgid "Found an existing account for this email address."
msgstr "Znaleziono istniejące konto dla tego adresu e-mail."
#: cps/web.py:2456 cps/web.py:2460
#: cps/web.py:2471 cps/web.py:2475
#, python-format
msgid "%(name)s's profile"
msgstr "Profil użytkownika %(name)s"
#: cps/web.py:2457
#: cps/web.py:2472
msgid "Profile updated"
msgstr "Zaktualizowano profil"
#: cps/web.py:2469
#: cps/web.py:2484
msgid "Unknown"
msgstr ""
#: cps/web.py:2482
#: cps/web.py:2497
msgid "Admin page"
msgstr "Portal administracyjny"
#: cps/web.py:2553
msgid "Keyfile location is not valid, please enter correct path"
#: cps/web.py:2520
msgid "Import of optional GDrive requirements missing"
msgstr ""
#: cps/web.py:2556 cps/web.py:2567 cps/web.py:2660 cps/web.py:2679
#: cps/web.py:2685 cps/web.py:2699
#: cps/web.py:2523
msgid "client_secret.json is missing or not readable"
msgstr ""
#: cps/web.py:2528 cps/web.py:2553
msgid "client_secret.json is not configured for web application"
msgstr ""
#: cps/web.py:2556 cps/web.py:2582 cps/web.py:2593 cps/web.py:2686
#: cps/web.py:2706 cps/web.py:2713 cps/web.py:2732
msgid "Basic Configuration"
msgstr "Podstawowa konfiguracja"
#: cps/web.py:2564
#: cps/web.py:2579
msgid "Keyfile location is not valid, please enter correct path"
msgstr ""
#: cps/web.py:2590
msgid "Certfile location is not valid, please enter correct path"
msgstr ""
#: cps/web.py:2657
#: cps/web.py:2683
msgid "Logfile location is not valid, please enter correct path"
msgstr ""
#: cps/web.py:2672
#: cps/web.py:2698
msgid "Calibre-web configuration updated"
msgstr "Konfiguracja Calibre-web została zaktualizowana"
#: cps/web.py:2683
#: cps/web.py:2710
msgid "DB location is not valid, please enter correct path"
msgstr "Lokalizacja bazy danych jest nieprawidłowa, wpisz poprawną ścieżkę"
#: cps/templates/admin.html:34 cps/web.py:2720 cps/web.py:2775
#: cps/templates/admin.html:34 cps/web.py:2753 cps/web.py:2809
msgid "Add new user"
msgstr "Dodaj nowego użytkownika"
#: cps/web.py:2765
#: cps/web.py:2799
#, python-format
msgid "User '%(user)s' created"
msgstr "Użytkownik '%(user)s' został utworzony"
#: cps/web.py:2769
#: cps/web.py:2803
msgid "Found an existing account for this email address or nickname."
msgstr "Znaleziono istniejące konto dla tego adresu e-mail lub nazwy użytkownika."
#: cps/web.py:2793
#: cps/web.py:2827
msgid "Mail settings updated"
msgstr "Zaktualizowano ustawienia poczty e-mail"
#: cps/web.py:2800
#: cps/web.py:2834
#, python-format
msgid "Test E-Mail successfully send to %(kindlemail)s"
msgstr "Testowy e-mail został pomyślnie wysłany do %(kindlemail)s"
#: cps/web.py:2803
#: cps/web.py:2837
#, python-format
msgid "There was an error sending the Test E-Mail: %(res)s"
msgstr "Wystąpił błąd podczas wysyłania testowej wiadomości e-mail: %(res)s"
#: cps/web.py:2807
#: cps/web.py:2841
msgid "E-Mail settings updated"
msgstr "Zaktualizowano ustawienia e-mail"
#: cps/web.py:2808
#: cps/web.py:2842
msgid "Edit mail settings"
msgstr "Edytuj ustawienia poczty e-mail"
#: cps/web.py:2837
#: cps/web.py:2871
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Użytkownik '%(nick)s' został usunięty"
#: cps/web.py:2945
#: cps/web.py:2980
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Użytkownik '%(nick)s' został zaktualizowany"
#: cps/web.py:2948
#: cps/web.py:2983
msgid "An unknown error occured."
msgstr "Wystąpił nieznany błąd."
#: cps/web.py:2951
#: cps/web.py:2986
#, python-format
msgid "Edit User %(nick)s"
msgstr "Edytuj użytkownika %(nick)s"
#: cps/web.py:2967
#: cps/web.py:3002
msgid "Error opening eBook. File does not exist or file is not accessible"
msgstr ""
#: cps/web.py:2982 cps/web.py:3193 cps/web.py:3198 cps/web.py:3344
#: cps/web.py:3017 cps/web.py:3228 cps/web.py:3233 cps/web.py:3379
msgid "edit metadata"
msgstr "edytuj metadane"
#: cps/web.py:2992 cps/web.py:3238
#: cps/web.py:3027 cps/web.py:3273
#, python-format
msgid "File extension \"%s\" is not allowed to be uploaded to this server"
msgstr "Rozszerzenie pliku \"%s\" nie jest dozwolone do przesłania na ten serwer"
#: cps/web.py:3003
#: cps/web.py:3038
#, python-format
msgid "Failed to store file %s."
msgstr ""
#: cps/web.py:3025 cps/web.py:3029
#: cps/web.py:3060 cps/web.py:3064
msgid "unknown"
msgstr ""
#: cps/web.py:3052
#: cps/web.py:3087
msgid "Cover is not a jpg file, can't save"
msgstr ""
#: cps/web.py:3244
#: cps/web.py:3279
msgid "File to be uploaded must have an extension"
msgstr "Plik do przesłania musi mieć rozszerzenie"
#: cps/web.py:3263
#: cps/web.py:3298
#, python-format
msgid "Failed to create path %s (Permission denied)."
msgstr "Nie udało się utworzyć łącza %s (Odmowa dostępu)."
#: cps/web.py:3268
#: cps/web.py:3303
#, python-format
msgid "Failed to store file %s (Permission denied)."
msgstr "Nie można przechowywać pliku %s (Odmowa dostępu)."
#: cps/web.py:3273
#: cps/web.py:3308
#, python-format
msgid "Failed to delete file %s (Permission denied)."
msgstr "Nie udało się usunąć pliku %s (Odmowa dostępu)."
@ -511,7 +533,7 @@ msgstr "Kindle"
msgid "DLS"
msgstr "DLS"
#: cps/templates/admin.html:12 cps/templates/layout.html:69
#: cps/templates/admin.html:12 cps/templates/layout.html:71
msgid "Admin"
msgstr "Portal administracyjny"
@ -520,7 +542,7 @@ msgstr "Portal administracyjny"
msgid "Download"
msgstr "Pobierz"
#: cps/templates/admin.html:14 cps/templates/layout.html:62
#: cps/templates/admin.html:14 cps/templates/layout.html:64
msgid "Upload"
msgstr "Wyślij"
@ -572,7 +594,7 @@ msgstr "Konfiguracja"
msgid "Calibre DB dir"
msgstr "Folder bazy danych Calibre"
#: cps/templates/admin.html:61 cps/templates/config_edit.html:91
#: cps/templates/admin.html:61 cps/templates/config_edit.html:87
msgid "Log Level"
msgstr "Poziom logów"
@ -580,7 +602,7 @@ msgstr "Poziom logów"
msgid "Port"
msgstr "Port"
#: cps/templates/admin.html:63 cps/templates/config_edit.html:68
#: cps/templates/admin.html:63 cps/templates/config_edit.html:64
msgid "Books per page"
msgstr "Ilość książek na stronie"
@ -643,9 +665,9 @@ msgstr "OK"
#: cps/templates/admin.html:105 cps/templates/admin.html:119
#: cps/templates/book_edit.html:135 cps/templates/book_edit.html:157
#: cps/templates/config_edit.html:223 cps/templates/email_edit.html:36
#: cps/templates/config_edit.html:219 cps/templates/email_edit.html:36
#: cps/templates/shelf.html:60 cps/templates/shelf_edit.html:19
#: cps/templates/shelf_order.html:12 cps/templates/user_edit.html:139
#: cps/templates/shelf_order.html:12 cps/templates/user_edit.html:147
msgid "Back"
msgstr "Wróć"
@ -691,7 +713,7 @@ msgstr "Opis"
msgid "Tags"
msgstr "Tagi"
#: cps/templates/book_edit.html:39 cps/templates/layout.html:152
#: cps/templates/book_edit.html:39 cps/templates/layout.html:154
#: cps/templates/search_form.html:54
msgid "Series"
msgstr "Seria"
@ -738,9 +760,9 @@ msgstr "wyświetl książkę po edycji"
msgid "Get metadata"
msgstr "Uzyskaj metadane"
#: cps/templates/book_edit.html:134 cps/templates/config_edit.html:221
#: cps/templates/book_edit.html:134 cps/templates/config_edit.html:217
#: cps/templates/login.html:20 cps/templates/search_form.html:96
#: cps/templates/shelf_edit.html:17 cps/templates/user_edit.html:137
#: cps/templates/shelf_edit.html:17 cps/templates/user_edit.html:145
msgid "Submit"
msgstr "Wyślij"
@ -768,7 +790,7 @@ msgstr "Słowo kluczowe"
msgid " Search keyword "
msgstr " Szukaj słowa kluczowego "
#: cps/templates/book_edit.html:175 cps/templates/layout.html:44
#: cps/templates/book_edit.html:175 cps/templates/layout.html:46
msgid "Go!"
msgstr "Idź!"
@ -780,7 +802,7 @@ msgstr "Kliknij okładkę, aby załadować metadane do formularza"
msgid "Loading..."
msgstr "Ładowanie..."
#: cps/templates/book_edit.html:196 cps/templates/layout.html:216
#: cps/templates/book_edit.html:196 cps/templates/layout.html:218
msgid "Close"
msgstr "Zamknij"
@ -805,185 +827,181 @@ msgstr "Brak wyników! Spróbuj innego słowa kluczowego."
msgid "Location of Calibre database"
msgstr "Lokalizacja bazy danych Calibre"
#: cps/templates/config_edit.html:13
#: cps/templates/config_edit.html:12
msgid "Use google drive?"
msgstr "Użyć dysku Google?"
#: cps/templates/config_edit.html:17
msgid "Client id"
msgstr "Client id"
#: cps/templates/config_edit.html:18
msgid "Google drive config problem"
msgstr ""
#: cps/templates/config_edit.html:21
msgid "Client secret"
msgstr "Client secret"
#: cps/templates/config_edit.html:25
msgid "Calibre Base URL"
msgstr "Adres URL bazy Calibre"
#: cps/templates/config_edit.html:29
#: cps/templates/config_edit.html:28
msgid "Google drive Calibre folder"
msgstr "Folder biblioteki Calibre na Dysku Google"
#: cps/templates/config_edit.html:38
#: cps/templates/config_edit.html:36
#, fuzzy
msgid "Metadata Watch Channel ID"
msgstr "Metadane Watch Channel ID"
#: cps/templates/config_edit.html:52
#: cps/templates/config_edit.html:39
msgid "Revoke"
msgstr ""
#: cps/templates/config_edit.html:48
msgid "Server Port"
msgstr "Port serwera"
#: cps/templates/config_edit.html:56
#: cps/templates/config_edit.html:52
msgid "SSL certfile location (leave it empty for non-SSL Servers)"
msgstr ""
#: cps/templates/config_edit.html:60
#: cps/templates/config_edit.html:56
msgid "SSL Keyfile location (leave it empty for non-SSL Servers)"
msgstr ""
#: cps/templates/config_edit.html:64 cps/templates/layout.html:128
#: cps/templates/layout.html:129 cps/templates/shelf_edit.html:7
#: cps/templates/config_edit.html:60 cps/templates/layout.html:130
#: cps/templates/layout.html:131 cps/templates/shelf_edit.html:7
msgid "Title"
msgstr "Tytuł"
#: cps/templates/config_edit.html:72
#: cps/templates/config_edit.html:68
msgid "No. of random books to show"
msgstr "Liczba losowych książek do pokazania"
#: cps/templates/config_edit.html:76
#: cps/templates/config_edit.html:72
msgid "Regular expression for ignoring columns"
msgstr "Wyrażenie regularne dla ignorowanych kolumn"
#: cps/templates/config_edit.html:80
#: cps/templates/config_edit.html:76
msgid "Regular expression for title sorting"
msgstr "Wyrażenie regularne dla tytułu sortującego"
#: cps/templates/config_edit.html:84
#: cps/templates/config_edit.html:80
msgid "Tags for Mature Content"
msgstr ""
#: cps/templates/config_edit.html:100
#: cps/templates/config_edit.html:96
msgid "Location and name of logfile (calibre-web.log for no entry)"
msgstr ""
#: cps/templates/config_edit.html:106
#: cps/templates/config_edit.html:102
msgid "Enable uploading"
msgstr "Włącz wysyłanie"
#: cps/templates/config_edit.html:110
#: cps/templates/config_edit.html:106
msgid "Enable anonymous browsing"
msgstr "Włącz anonimowe przeglądanie"
#: cps/templates/config_edit.html:114
#: cps/templates/config_edit.html:110
msgid "Enable public registration"
msgstr "Włącz publiczną rejestrację"
#: cps/templates/config_edit.html:118
#: cps/templates/config_edit.html:114
msgid "Enable remote login (\"magic link\")"
msgstr ""
#: cps/templates/config_edit.html:123
#: cps/templates/config_edit.html:119
msgid "Use"
msgstr ""
#: cps/templates/config_edit.html:124
#: cps/templates/config_edit.html:120
msgid "Obtain an API Key"
msgstr ""
#: cps/templates/config_edit.html:128
#: cps/templates/config_edit.html:124
msgid "Goodreads API Key"
msgstr ""
#: cps/templates/config_edit.html:132
#: cps/templates/config_edit.html:128
msgid "Goodreads API Secret"
msgstr ""
#: cps/templates/config_edit.html:137
#: cps/templates/config_edit.html:133
msgid "Default Settings for new users"
msgstr "Domyślne ustawienia dla nowych użytkowników"
#: cps/templates/config_edit.html:140 cps/templates/user_edit.html:94
#: cps/templates/config_edit.html:136 cps/templates/user_edit.html:102
msgid "Admin user"
msgstr "Użytkownik z uprawnieniami administratora"
#: cps/templates/config_edit.html:144 cps/templates/user_edit.html:103
#: cps/templates/config_edit.html:140 cps/templates/user_edit.html:111
msgid "Allow Downloads"
msgstr "Zezwalaj na pobieranie"
#: cps/templates/config_edit.html:148 cps/templates/user_edit.html:107
#: cps/templates/config_edit.html:144 cps/templates/user_edit.html:115
msgid "Allow Uploads"
msgstr "Zezwalaj na wysyłanie"
#: cps/templates/config_edit.html:152 cps/templates/user_edit.html:111
#: cps/templates/config_edit.html:148 cps/templates/user_edit.html:119
msgid "Allow Edit"
msgstr "Zezwalaj na edycję"
#: cps/templates/config_edit.html:156 cps/templates/user_edit.html:115
#: cps/templates/config_edit.html:152 cps/templates/user_edit.html:123
msgid "Allow Delete books"
msgstr ""
#: cps/templates/config_edit.html:160 cps/templates/user_edit.html:120
#: cps/templates/config_edit.html:156 cps/templates/user_edit.html:128
msgid "Allow Changing Password"
msgstr "Zezwalaj na zmianę hasła"
#: cps/templates/config_edit.html:164 cps/templates/user_edit.html:124
#: cps/templates/config_edit.html:160 cps/templates/user_edit.html:132
msgid "Allow Editing Public Shelfs"
msgstr ""
#: cps/templates/config_edit.html:168
#: cps/templates/config_edit.html:164
msgid "Default visiblities for new users"
msgstr ""
#: cps/templates/config_edit.html:172 cps/templates/user_edit.html:46
#: cps/templates/config_edit.html:168 cps/templates/user_edit.html:54
msgid "Show random books"
msgstr "Pokaż losowe książki"
#: cps/templates/config_edit.html:176 cps/templates/user_edit.html:50
#: cps/templates/config_edit.html:172 cps/templates/user_edit.html:58
msgid "Show recent books"
msgstr ""
#: cps/templates/config_edit.html:180 cps/templates/user_edit.html:54
#: cps/templates/config_edit.html:176 cps/templates/user_edit.html:62
msgid "Show sorted books"
msgstr ""
#: cps/templates/config_edit.html:184 cps/templates/user_edit.html:58
#: cps/templates/config_edit.html:180 cps/templates/user_edit.html:66
msgid "Show hot books"
msgstr "Pokaż najpopularniejsze książki"
#: cps/templates/config_edit.html:188 cps/templates/user_edit.html:62
#: cps/templates/config_edit.html:184 cps/templates/user_edit.html:70
msgid "Show best rated books"
msgstr "Pokaż najlepiej ocenione książki"
#: cps/templates/config_edit.html:192 cps/templates/user_edit.html:66
#: cps/templates/config_edit.html:188 cps/templates/user_edit.html:74
msgid "Show language selection"
msgstr "Pokaż wybór języka"
#: cps/templates/config_edit.html:196 cps/templates/user_edit.html:70
#: cps/templates/config_edit.html:192 cps/templates/user_edit.html:78
msgid "Show series selection"
msgstr "Pokaż wybór serii"
#: cps/templates/config_edit.html:200 cps/templates/user_edit.html:74
#: cps/templates/config_edit.html:196 cps/templates/user_edit.html:82
msgid "Show category selection"
msgstr "Pokaż wybór kategorii"
#: cps/templates/config_edit.html:204 cps/templates/user_edit.html:78
#: cps/templates/config_edit.html:200 cps/templates/user_edit.html:86
msgid "Show author selection"
msgstr "Pokaż wybór autora"
#: cps/templates/config_edit.html:208 cps/templates/user_edit.html:82
#: cps/templates/config_edit.html:204 cps/templates/user_edit.html:90
msgid "Show read and unread"
msgstr "Pokaż przeczytane i nieprzeczytane"
#: cps/templates/config_edit.html:212 cps/templates/user_edit.html:86
#: cps/templates/config_edit.html:208 cps/templates/user_edit.html:94
msgid "Show random books in detail view"
msgstr "Pokaz losowe książki w widoku szczegółowym"
#: cps/templates/config_edit.html:216 cps/templates/user_edit.html:99
#: cps/templates/config_edit.html:212 cps/templates/user_edit.html:107
msgid "Show mature content"
msgstr ""
#: cps/templates/config_edit.html:226 cps/templates/layout.html:77
#: cps/templates/config_edit.html:222 cps/templates/layout.html:79
#: cps/templates/login.html:4
msgid "Login"
msgstr "Zaloguj się"
@ -1054,12 +1072,12 @@ msgstr "Zapisz ustawienia"
msgid "Save settings and send Test E-Mail"
msgstr "Zapisz ustawienia i wyślij testową wiadomość e-mail"
#: cps/templates/feed.xml:20 cps/templates/layout.html:200
#: cps/templates/feed.xml:20 cps/templates/layout.html:202
msgid "Next"
msgstr "Następne"
#: cps/templates/feed.xml:29 cps/templates/index.xml:7
#: cps/templates/layout.html:41 cps/templates/layout.html:42
#: cps/templates/layout.html:43 cps/templates/layout.html:44
msgid "Search"
msgstr "Szukaj"
@ -1071,7 +1089,7 @@ msgstr "Odkrywaj (losowe książki)"
msgid "Start"
msgstr "Rozpocznij"
#: cps/templates/index.xml:14 cps/templates/layout.html:134
#: cps/templates/index.xml:14 cps/templates/layout.html:136
msgid "Hot Books"
msgstr "Najpopularniejsze książki"
@ -1079,7 +1097,7 @@ msgstr "Najpopularniejsze książki"
msgid "Popular publications from this catalog based on Downloads."
msgstr "Popularne publikacje z tego katalogu bazujące na pobranych."
#: cps/templates/index.xml:20 cps/templates/layout.html:137
#: cps/templates/index.xml:20 cps/templates/layout.html:139
msgid "Best rated Books"
msgstr "Najlepiej ocenione książki"
@ -1099,7 +1117,7 @@ msgstr "Ostatnie książki"
msgid "Show Random Books"
msgstr "Pokazuj losowe książki"
#: cps/templates/index.xml:52 cps/templates/layout.html:155
#: cps/templates/index.xml:52 cps/templates/layout.html:157
msgid "Authors"
msgstr "Autorzy"
@ -1115,7 +1133,7 @@ msgstr "Książki sortowane według kategorii"
msgid "Books ordered by series"
msgstr "Książki sortowane według serii"
#: cps/templates/index.xml:70 cps/templates/layout.html:161
#: cps/templates/index.xml:70 cps/templates/layout.html:163
msgid "Public Shelves"
msgstr "Publiczne półki"
@ -1123,7 +1141,7 @@ msgstr "Publiczne półki"
msgid "Books organized in public shelfs, visible to everyone"
msgstr ""
#: cps/templates/index.xml:77 cps/templates/layout.html:165
#: cps/templates/index.xml:77 cps/templates/layout.html:167
msgid "Your Shelves"
msgstr "Twoje półki"
@ -1131,88 +1149,88 @@ msgstr "Twoje półki"
msgid "User's own shelfs, only visible to the current user himself"
msgstr ""
#: cps/templates/layout.html:31
#: cps/templates/layout.html:33
msgid "Toggle navigation"
msgstr "Przełącz nawigację"
#: cps/templates/layout.html:52
#: cps/templates/layout.html:54
msgid "Advanced Search"
msgstr "Zaawansowane wyszukiwanie"
#: cps/templates/layout.html:73
#: cps/templates/layout.html:75
msgid "Logout"
msgstr "Wyloguj się"
#: cps/templates/layout.html:78 cps/templates/register.html:18
#: cps/templates/layout.html:80 cps/templates/register.html:18
msgid "Register"
msgstr "Zarejestruj się"
#: cps/templates/layout.html:103
#: cps/templates/layout.html:105
msgid "Uploading..."
msgstr ""
#: cps/templates/layout.html:104
#: cps/templates/layout.html:106
msgid "please don't refresh the page"
msgstr ""
#: cps/templates/layout.html:115
#: cps/templates/layout.html:117
msgid "Browse"
msgstr "Przeglądaj"
#: cps/templates/layout.html:117
#: cps/templates/layout.html:119
msgid "Recently Added"
msgstr ""
#: cps/templates/layout.html:122
#: cps/templates/layout.html:124
msgid "Sorted Books"
msgstr ""
#: cps/templates/layout.html:126 cps/templates/layout.html:127
#: cps/templates/layout.html:128 cps/templates/layout.html:129
#: cps/templates/layout.html:130 cps/templates/layout.html:131
msgid "Sort By"
msgstr ""
#: cps/templates/layout.html:126
#: cps/templates/layout.html:128
msgid "Newest"
msgstr ""
#: cps/templates/layout.html:127
#: cps/templates/layout.html:129
msgid "Oldest"
msgstr ""
#: cps/templates/layout.html:128
#: cps/templates/layout.html:130
msgid "Ascending"
msgstr ""
#: cps/templates/layout.html:129
#: cps/templates/layout.html:131
msgid "Descending"
msgstr ""
#: cps/templates/layout.html:146
#: cps/templates/layout.html:148
msgid "Discover"
msgstr "Odkrywaj"
#: cps/templates/layout.html:149
#: cps/templates/layout.html:151
msgid "Categories"
msgstr "Kategorie"
#: cps/templates/layout.html:158 cps/templates/search_form.html:75
#: cps/templates/layout.html:160 cps/templates/search_form.html:75
msgid "Languages"
msgstr "Języki"
#: cps/templates/layout.html:170
#: cps/templates/layout.html:172
msgid "Create a Shelf"
msgstr "Utwórz półkę"
#: cps/templates/layout.html:171 cps/templates/stats.html:3
#: cps/templates/layout.html:173 cps/templates/stats.html:3
msgid "About"
msgstr "O programie"
#: cps/templates/layout.html:185
#: cps/templates/layout.html:187
msgid "Previous"
msgstr ""
#: cps/templates/layout.html:212
#: cps/templates/layout.html:214
msgid "Book Details"
msgstr ""
@ -1384,18 +1402,30 @@ msgid "Kindle E-Mail"
msgstr "Adres e-mail Kindle"
#: cps/templates/user_edit.html:35
msgid "Theme"
msgstr ""
#: cps/templates/user_edit.html:37
msgid "Standard Theme"
msgstr ""
#: cps/templates/user_edit.html:38
msgid "caliBlur! Dark Theme (Beta)"
msgstr ""
#: cps/templates/user_edit.html:43
msgid "Show books with language"
msgstr "Pokaż książki w języku"
#: cps/templates/user_edit.html:37
#: cps/templates/user_edit.html:45
msgid "Show all"
msgstr "Pokaż wszystko"
#: cps/templates/user_edit.html:131
#: cps/templates/user_edit.html:139
msgid "Delete this user"
msgstr "Usuń tego użytkownika"
#: cps/templates/user_edit.html:146
#: cps/templates/user_edit.html:154
msgid "Recent Downloads"
msgstr "Ostatnio pobierane"

View File

@ -14,7 +14,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Calibre-web\n"
"Report-Msgid-Bugs-To: https://github.com/janeczku/calibre-web\n"
"POT-Creation-Date: 2018-04-01 19:27+0200\n"
"POT-Creation-Date: 2018-06-02 10:45+0200\n"
"PO-Revision-Date: 2017-04-30 00:47+0300\n"
"Last-Translator: Pavel Korovin <p@tristero.se>\n"
"Language: ru\n"
@ -30,57 +30,57 @@ msgstr ""
msgid "not installed"
msgstr "Отсутствует"
#: cps/helper.py:78
#: cps/helper.py:79
#, python-format
msgid "kindlegen binary %(kindlepath)s not found"
msgstr ""
#: cps/helper.py:84
#: cps/helper.py:85
#, python-format
msgid "epub format not found for book id: %(book)d"
msgstr ""
#: cps/helper.py:94
#: cps/helper.py:95
msgid "kindlegen failed, no execution permissions"
msgstr ""
#: cps/helper.py:109
#: cps/helper.py:110
#, python-format
msgid "Kindlegen failed with Error %(error)s. Message: %(message)s"
msgstr ""
#: cps/helper.py:188
#: cps/helper.py:189
#, python-format
msgid "Failed to send mail: %s"
msgstr "Ошибка отправки письма: %s"
#: cps/helper.py:195
#: cps/helper.py:196
msgid "Calibre-web test email"
msgstr "Тестовое письмо от Calibre-web"
#: cps/helper.py:196 cps/helper.py:208
#: cps/helper.py:197 cps/helper.py:209
msgid "This email has been sent via calibre web."
msgstr "Письмо было отправлено через calibre web"
#: cps/helper.py:205 cps/templates/detail.html:44
#: cps/helper.py:206 cps/templates/detail.html:44
msgid "Send to Kindle"
msgstr "Отправить на Kindle"
#: cps/helper.py:225 cps/helper.py:239
#: cps/helper.py:226 cps/helper.py:240
msgid "Could not find any formats suitable for sending by email"
msgstr "Невозоможно найти формат, подходящий для отправки по email"
#: cps/helper.py:340
#: cps/helper.py:341
#, python-format
msgid "Rename title from: \"%s\" to \"%s\" failed with error: %s"
msgstr ""
#: cps/helper.py:349
#: cps/helper.py:350
#, python-format
msgid "Rename author from: \"%s\" to \"%s\" failed with error: %s"
msgstr ""
#: cps/ub.py:684
#: cps/ub.py:694
msgid "Guest"
msgstr "Гость"
@ -148,7 +148,7 @@ msgstr "Случайный выбор"
msgid "Author list"
msgstr "Авторы"
#: cps/web.py:1220 cps/web.py:1278 cps/web.py:1408 cps/web.py:1903
#: cps/web.py:1220 cps/web.py:1278 cps/web.py:1408 cps/web.py:1917
msgid "Error opening eBook. File does not exist or file is not accessible:"
msgstr "Невозможно открыть книгу. Файл не существует или недоступен."
@ -187,306 +187,328 @@ msgstr ""
msgid "Statistics"
msgstr "Статистика"
#: cps/web.py:1641
#: cps/web.py:1573
msgid ""
"Callback domain is not verified, please follow steps to verify domain in "
"google developer console"
msgstr ""
#: cps/web.py:1651
msgid "Server restarted, please reload page"
msgstr "Сервер перезагружен, пожалуйста, перезагрузите страницу"
#: cps/web.py:1643
#: cps/web.py:1653
msgid "Performing shutdown of server, please close window"
msgstr "Производится остановка сервера, пожалуйста, закройте окно"
#: cps/web.py:1659
#: cps/web.py:1669
msgid "Update done"
msgstr "Обновление закончено"
#: cps/web.py:1716
#: cps/web.py:1726
#, python-format
msgid "Published after %s"
msgstr ""
#: cps/web.py:1721
#: cps/web.py:1731
msgid "Published before "
msgstr ""
#: cps/web.py:1767 cps/web.py:1780
#: cps/web.py:1777 cps/web.py:1790
msgid "search"
msgstr "поиск"
#: cps/web.py:1816
msgid "not found on GDrive"
msgstr ""
#: cps/templates/index.xml:39 cps/templates/index.xml:42
#: cps/templates/layout.html:141 cps/web.py:1858
#: cps/templates/layout.html:143 cps/web.py:1872
msgid "Read Books"
msgstr "Прочитанные"
#: cps/templates/index.xml:46 cps/templates/index.xml:49
#: cps/templates/layout.html:143 cps/web.py:1861
#: cps/templates/layout.html:145 cps/web.py:1875
msgid "Unread Books"
msgstr "Непрочитанные"
#: cps/web.py:1936 cps/web.py:1938 cps/web.py:1940 cps/web.py:1949
#: cps/web.py:1950 cps/web.py:1952 cps/web.py:1954 cps/web.py:1963
msgid "Read a Book"
msgstr "Читать книгу"
#: cps/web.py:2001 cps/web.py:2718
#: cps/web.py:2015 cps/web.py:2751
msgid "Please fill out all fields!"
msgstr "Пожалуйста, заполните все поля!"
#: cps/web.py:2002 cps/web.py:2019 cps/web.py:2024 cps/web.py:2026
#: cps/web.py:2016 cps/web.py:2033 cps/web.py:2038 cps/web.py:2040
msgid "register"
msgstr "зарегистрироваться"
#: cps/web.py:2018
#: cps/web.py:2032
msgid "An unknown error occured. Please try again later."
msgstr "Неизвестная ошибка. Пожалуйста, попробуйте позже."
#: cps/web.py:2023
#: cps/web.py:2037
msgid "This username or email address is already in use."
msgstr "Имя пользователя или адрес эл. почты уже используется"
#: cps/web.py:2042 cps/web.py:2138
#: cps/web.py:2056 cps/web.py:2152
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "Вы вошли как пользователь '%(nickname)s'"
#: cps/web.py:2047
#: cps/web.py:2061
msgid "Wrong Username or Password"
msgstr "Ошибка в имени пользователя или пароле"
#: cps/web.py:2053 cps/web.py:2074
#: cps/web.py:2067 cps/web.py:2088
msgid "login"
msgstr "войти"
#: cps/web.py:2086 cps/web.py:2117
#: cps/web.py:2100 cps/web.py:2131
msgid "Token not found"
msgstr ""
#: cps/web.py:2094 cps/web.py:2125
#: cps/web.py:2108 cps/web.py:2139
msgid "Token has expired"
msgstr ""
#: cps/web.py:2102
#: cps/web.py:2116
msgid "Success! Please return to your device"
msgstr ""
#: cps/web.py:2152
#: cps/web.py:2166
msgid "Please configure the SMTP mail settings first..."
msgstr "Пожалуйста, сначала сконфигурируйте параметры SMTP"
#: cps/web.py:2156
#: cps/web.py:2170
#, python-format
msgid "Book successfully send to %(kindlemail)s"
msgstr "Книга успешно отправлена на %(kindlemail)s"
#: cps/web.py:2160
#: cps/web.py:2174
#, python-format
msgid "There was an error sending this book: %(res)s"
msgstr "Ошибка при отправке книги: %(res)s"
#: cps/web.py:2162 cps/web.py:2805
#: cps/web.py:2176 cps/web.py:2839
msgid "Please configure your kindle email address first..."
msgstr "Пожалуйста, сначала укажите ваш kindle email..."
#: cps/web.py:2206
#: cps/web.py:2220
#, python-format
msgid "Book has been added to shelf: %(sname)s"
msgstr "Книга добавлена на книжную полку: %(sname)s"
#: cps/web.py:2244
#: cps/web.py:2258
#, python-format
msgid "Book has been removed from shelf: %(sname)s"
msgstr "Книга удалена с книжной полки: %(sname)s"
#: cps/web.py:2250
#: cps/web.py:2264
#, python-format
msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s"
msgstr ""
#: cps/web.py:2270 cps/web.py:2294
#: cps/web.py:2284 cps/web.py:2308
#, python-format
msgid "A shelf with the name '%(title)s' already exists."
msgstr "Книжкная полка с названием '%(title)s' уже существует."
#: cps/web.py:2275
#: cps/web.py:2289
#, python-format
msgid "Shelf %(title)s created"
msgstr "Создана книжная полка %(title)s"
#: cps/web.py:2277 cps/web.py:2305
#: cps/web.py:2291 cps/web.py:2319
msgid "There was an error"
msgstr "Произошла ошибка"
#: cps/web.py:2278 cps/web.py:2280
#: cps/web.py:2292 cps/web.py:2294
msgid "create a shelf"
msgstr "создать книжную полку"
#: cps/web.py:2303
#: cps/web.py:2317
#, python-format
msgid "Shelf %(title)s changed"
msgstr "Книжная полка %(title)s изменена"
#: cps/web.py:2306 cps/web.py:2308
#: cps/web.py:2320 cps/web.py:2322
msgid "Edit a shelf"
msgstr "Изменить книжную полку"
#: cps/web.py:2329
#: cps/web.py:2343
#, python-format
msgid "successfully deleted shelf %(name)s"
msgstr "Книжная полка %(name)s удалена"
#: cps/web.py:2351
#: cps/web.py:2365
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "Книжная полка: '%(name)s'"
#: cps/web.py:2354
#: cps/web.py:2368
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr ""
#: cps/web.py:2385
#: cps/web.py:2399
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "Изменить расположение книжной полки '%(name)s'"
#: cps/web.py:2454
#: cps/web.py:2469
msgid "Found an existing account for this email address."
msgstr "Найдена учётная запись для для данного адреса email."
#: cps/web.py:2456 cps/web.py:2460
#: cps/web.py:2471 cps/web.py:2475
#, python-format
msgid "%(name)s's profile"
msgstr "Профиль %(name)s"
#: cps/web.py:2457
#: cps/web.py:2472
msgid "Profile updated"
msgstr "Профиль обновлён"
#: cps/web.py:2469
#: cps/web.py:2484
msgid "Unknown"
msgstr ""
#: cps/web.py:2482
#: cps/web.py:2497
msgid "Admin page"
msgstr "Администрирование"
#: cps/web.py:2553
msgid "Keyfile location is not valid, please enter correct path"
#: cps/web.py:2520
msgid "Import of optional GDrive requirements missing"
msgstr ""
#: cps/web.py:2556 cps/web.py:2567 cps/web.py:2660 cps/web.py:2679
#: cps/web.py:2685 cps/web.py:2699
#: cps/web.py:2523
msgid "client_secret.json is missing or not readable"
msgstr ""
#: cps/web.py:2528 cps/web.py:2553
msgid "client_secret.json is not configured for web application"
msgstr ""
#: cps/web.py:2556 cps/web.py:2582 cps/web.py:2593 cps/web.py:2686
#: cps/web.py:2706 cps/web.py:2713 cps/web.py:2732
msgid "Basic Configuration"
msgstr "Настройки сервера"
#: cps/web.py:2564
#: cps/web.py:2579
msgid "Keyfile location is not valid, please enter correct path"
msgstr ""
#: cps/web.py:2590
msgid "Certfile location is not valid, please enter correct path"
msgstr ""
#: cps/web.py:2657
#: cps/web.py:2683
msgid "Logfile location is not valid, please enter correct path"
msgstr ""
#: cps/web.py:2672
#: cps/web.py:2698
msgid "Calibre-web configuration updated"
msgstr "Конфигурация Calibre-web обновлена"
#: cps/web.py:2683
#: cps/web.py:2710
msgid "DB location is not valid, please enter correct path"
msgstr "Неверный путь к фалу БД, пожалуйста, укажите правильное расположение БД"
#: cps/templates/admin.html:34 cps/web.py:2720 cps/web.py:2775
#: cps/templates/admin.html:34 cps/web.py:2753 cps/web.py:2809
msgid "Add new user"
msgstr "Добавить пользователя"
#: cps/web.py:2765
#: cps/web.py:2799
#, python-format
msgid "User '%(user)s' created"
msgstr "Пользователь '%(user)s' добавлен"
#: cps/web.py:2769
#: cps/web.py:2803
msgid "Found an existing account for this email address or nickname."
msgstr "Для указанного адреса или имени найдена существующая учётная запись."
#: cps/web.py:2793
#: cps/web.py:2827
msgid "Mail settings updated"
msgstr "Настройки почты изменены"
#: cps/web.py:2800
#: cps/web.py:2834
#, python-format
msgid "Test E-Mail successfully send to %(kindlemail)s"
msgstr "Тестовое сообщение успешно отправлено на адрес %(kindlemail)s"
#: cps/web.py:2803
#: cps/web.py:2837
#, python-format
msgid "There was an error sending the Test E-Mail: %(res)s"
msgstr "Ошибка отправки тестового сообщения: %(res)s"
#: cps/web.py:2807
#: cps/web.py:2841
msgid "E-Mail settings updated"
msgstr "Обновлены настройки e-mail"
#: cps/web.py:2808
#: cps/web.py:2842
msgid "Edit mail settings"
msgstr "Изменить почтовые настройки"
#: cps/web.py:2837
#: cps/web.py:2871
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Пользователь '%(nick)s' удалён"
#: cps/web.py:2945
#: cps/web.py:2980
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Пользователь '%(nick)s' обновлён"
#: cps/web.py:2948
#: cps/web.py:2983
msgid "An unknown error occured."
msgstr "Произошла неизвестная ошибка."
#: cps/web.py:2951
#: cps/web.py:2986
#, python-format
msgid "Edit User %(nick)s"
msgstr "Изменить пользователя %(nick)s"
#: cps/web.py:2967
#: cps/web.py:3002
msgid "Error opening eBook. File does not exist or file is not accessible"
msgstr ""
#: cps/web.py:2982 cps/web.py:3193 cps/web.py:3198 cps/web.py:3344
#: cps/web.py:3017 cps/web.py:3228 cps/web.py:3233 cps/web.py:3379
msgid "edit metadata"
msgstr "изменить метаданные"
#: cps/web.py:2992 cps/web.py:3238
#: cps/web.py:3027 cps/web.py:3273
#, python-format
msgid "File extension \"%s\" is not allowed to be uploaded to this server"
msgstr "Запрещена загрузка файлов с расширением \"%s\""
#: cps/web.py:3003
#: cps/web.py:3038
#, python-format
msgid "Failed to store file %s."
msgstr ""
#: cps/web.py:3025 cps/web.py:3029
#: cps/web.py:3060 cps/web.py:3064
msgid "unknown"
msgstr "неизвестно"
#: cps/web.py:3052
#: cps/web.py:3087
msgid "Cover is not a jpg file, can't save"
msgstr ""
#: cps/web.py:3244
#: cps/web.py:3279
msgid "File to be uploaded must have an extension"
msgstr "Загружаемый файл должен иметь расширение"
#: cps/web.py:3263
#: cps/web.py:3298
#, python-format
msgid "Failed to create path %s (Permission denied)."
msgstr "Ошибка при создании пути %s (доступ запрещён)"
#: cps/web.py:3268
#: cps/web.py:3303
#, python-format
msgid "Failed to store file %s (Permission denied)."
msgstr "Ошибка записи файоа %s (доступ запрещён)"
#: cps/web.py:3273
#: cps/web.py:3308
#, python-format
msgid "Failed to delete file %s (Permission denied)."
msgstr "Ошибка удаления файла %s (доступ запрещён)"
@ -511,7 +533,7 @@ msgstr "Kindle"
msgid "DLS"
msgstr "DLS"
#: cps/templates/admin.html:12 cps/templates/layout.html:69
#: cps/templates/admin.html:12 cps/templates/layout.html:71
msgid "Admin"
msgstr "Управление"
@ -520,7 +542,7 @@ msgstr "Управление"
msgid "Download"
msgstr "Скачать"
#: cps/templates/admin.html:14 cps/templates/layout.html:62
#: cps/templates/admin.html:14 cps/templates/layout.html:64
msgid "Upload"
msgstr "Загрузить"
@ -572,7 +594,7 @@ msgstr "Настройки сервера"
msgid "Calibre DB dir"
msgstr "Папка Calibre DB"
#: cps/templates/admin.html:61 cps/templates/config_edit.html:91
#: cps/templates/admin.html:61 cps/templates/config_edit.html:87
msgid "Log Level"
msgstr "Уровень логирования"
@ -580,7 +602,7 @@ msgstr "Уровень логирования"
msgid "Port"
msgstr "Порт"
#: cps/templates/admin.html:63 cps/templates/config_edit.html:68
#: cps/templates/admin.html:63 cps/templates/config_edit.html:64
msgid "Books per page"
msgstr "Количество книг на странице"
@ -643,9 +665,9 @@ msgstr "Ok"
#: cps/templates/admin.html:105 cps/templates/admin.html:119
#: cps/templates/book_edit.html:135 cps/templates/book_edit.html:157
#: cps/templates/config_edit.html:223 cps/templates/email_edit.html:36
#: cps/templates/config_edit.html:219 cps/templates/email_edit.html:36
#: cps/templates/shelf.html:60 cps/templates/shelf_edit.html:19
#: cps/templates/shelf_order.html:12 cps/templates/user_edit.html:139
#: cps/templates/shelf_order.html:12 cps/templates/user_edit.html:147
msgid "Back"
msgstr "Назад"
@ -691,7 +713,7 @@ msgstr "Описание"
msgid "Tags"
msgstr "Теги"
#: cps/templates/book_edit.html:39 cps/templates/layout.html:152
#: cps/templates/book_edit.html:39 cps/templates/layout.html:154
#: cps/templates/search_form.html:54
msgid "Series"
msgstr "Серии"
@ -738,9 +760,9 @@ msgstr "смотреть книгу после редактирования"
msgid "Get metadata"
msgstr "Получить метаданные"
#: cps/templates/book_edit.html:134 cps/templates/config_edit.html:221
#: cps/templates/book_edit.html:134 cps/templates/config_edit.html:217
#: cps/templates/login.html:20 cps/templates/search_form.html:96
#: cps/templates/shelf_edit.html:17 cps/templates/user_edit.html:137
#: cps/templates/shelf_edit.html:17 cps/templates/user_edit.html:145
msgid "Submit"
msgstr "Отправить"
@ -768,7 +790,7 @@ msgstr "Ключевое слово"
msgid " Search keyword "
msgstr " Поиск по ключевому слову"
#: cps/templates/book_edit.html:175 cps/templates/layout.html:44
#: cps/templates/book_edit.html:175 cps/templates/layout.html:46
msgid "Go!"
msgstr "Искать"
@ -780,7 +802,7 @@ msgstr "Нажмите на обложку, чтобы получить мета
msgid "Loading..."
msgstr "Загрузка..."
#: cps/templates/book_edit.html:196 cps/templates/layout.html:216
#: cps/templates/book_edit.html:196 cps/templates/layout.html:218
msgid "Close"
msgstr "Закрыть"
@ -805,184 +827,180 @@ msgstr "Нет результатов. Пожалуйста, попробуйт
msgid "Location of Calibre database"
msgstr "Расположение БД Calibre"
#: cps/templates/config_edit.html:13
#: cps/templates/config_edit.html:12
msgid "Use google drive?"
msgstr "Использовать Google Drive?"
#: cps/templates/config_edit.html:17
msgid "Client id"
#: cps/templates/config_edit.html:18
msgid "Google drive config problem"
msgstr ""
#: cps/templates/config_edit.html:21
msgid "Client secret"
msgstr ""
#: cps/templates/config_edit.html:25
msgid "Calibre Base URL"
msgstr "URL БД Calibre"
#: cps/templates/config_edit.html:29
#: cps/templates/config_edit.html:28
msgid "Google drive Calibre folder"
msgstr "Папка Calibre на Google drive"
#: cps/templates/config_edit.html:38
#: cps/templates/config_edit.html:36
msgid "Metadata Watch Channel ID"
msgstr "Metadata Watch Channel ID"
#: cps/templates/config_edit.html:52
#: cps/templates/config_edit.html:39
msgid "Revoke"
msgstr ""
#: cps/templates/config_edit.html:48
msgid "Server Port"
msgstr "Порт сервера"
#: cps/templates/config_edit.html:56
#: cps/templates/config_edit.html:52
msgid "SSL certfile location (leave it empty for non-SSL Servers)"
msgstr ""
#: cps/templates/config_edit.html:60
#: cps/templates/config_edit.html:56
msgid "SSL Keyfile location (leave it empty for non-SSL Servers)"
msgstr ""
#: cps/templates/config_edit.html:64 cps/templates/layout.html:128
#: cps/templates/layout.html:129 cps/templates/shelf_edit.html:7
#: cps/templates/config_edit.html:60 cps/templates/layout.html:130
#: cps/templates/layout.html:131 cps/templates/shelf_edit.html:7
msgid "Title"
msgstr "Заголовок"
#: cps/templates/config_edit.html:72
#: cps/templates/config_edit.html:68
msgid "No. of random books to show"
msgstr "Количество отображаемых случайных книг"
#: cps/templates/config_edit.html:76
#: cps/templates/config_edit.html:72
msgid "Regular expression for ignoring columns"
msgstr "Regexp для игнорирования столбцов"
#: cps/templates/config_edit.html:80
#: cps/templates/config_edit.html:76
msgid "Regular expression for title sorting"
msgstr "Regexp для сортировки по названию"
#: cps/templates/config_edit.html:84
#: cps/templates/config_edit.html:80
msgid "Tags for Mature Content"
msgstr ""
#: cps/templates/config_edit.html:100
#: cps/templates/config_edit.html:96
msgid "Location and name of logfile (calibre-web.log for no entry)"
msgstr ""
#: cps/templates/config_edit.html:106
#: cps/templates/config_edit.html:102
msgid "Enable uploading"
msgstr "Разрешить загрузку на сервер"
#: cps/templates/config_edit.html:110
#: cps/templates/config_edit.html:106
msgid "Enable anonymous browsing"
msgstr "Разрешить анонимный просмотр"
#: cps/templates/config_edit.html:114
#: cps/templates/config_edit.html:110
msgid "Enable public registration"
msgstr "Разрешить публичную регистрацию"
#: cps/templates/config_edit.html:118
#: cps/templates/config_edit.html:114
msgid "Enable remote login (\"magic link\")"
msgstr ""
#: cps/templates/config_edit.html:123
#: cps/templates/config_edit.html:119
msgid "Use"
msgstr ""
#: cps/templates/config_edit.html:124
#: cps/templates/config_edit.html:120
msgid "Obtain an API Key"
msgstr ""
#: cps/templates/config_edit.html:128
#: cps/templates/config_edit.html:124
msgid "Goodreads API Key"
msgstr ""
#: cps/templates/config_edit.html:132
#: cps/templates/config_edit.html:128
msgid "Goodreads API Secret"
msgstr ""
#: cps/templates/config_edit.html:137
#: cps/templates/config_edit.html:133
msgid "Default Settings for new users"
msgstr "Настройки по умолчанию для новых пользователей"
#: cps/templates/config_edit.html:140 cps/templates/user_edit.html:94
#: cps/templates/config_edit.html:136 cps/templates/user_edit.html:102
msgid "Admin user"
msgstr "Управление сервером"
#: cps/templates/config_edit.html:144 cps/templates/user_edit.html:103
#: cps/templates/config_edit.html:140 cps/templates/user_edit.html:111
msgid "Allow Downloads"
msgstr "Разрешить скачивание с сервера"
#: cps/templates/config_edit.html:148 cps/templates/user_edit.html:107
#: cps/templates/config_edit.html:144 cps/templates/user_edit.html:115
msgid "Allow Uploads"
msgstr "Разрешить загрузку на сервер"
#: cps/templates/config_edit.html:152 cps/templates/user_edit.html:111
#: cps/templates/config_edit.html:148 cps/templates/user_edit.html:119
msgid "Allow Edit"
msgstr "Разрешить редактирование книг"
#: cps/templates/config_edit.html:156 cps/templates/user_edit.html:115
#: cps/templates/config_edit.html:152 cps/templates/user_edit.html:123
msgid "Allow Delete books"
msgstr "Разрешить удаление книг"
#: cps/templates/config_edit.html:160 cps/templates/user_edit.html:120
#: cps/templates/config_edit.html:156 cps/templates/user_edit.html:128
msgid "Allow Changing Password"
msgstr "Разрешить смену пароля"
#: cps/templates/config_edit.html:164 cps/templates/user_edit.html:124
#: cps/templates/config_edit.html:160 cps/templates/user_edit.html:132
msgid "Allow Editing Public Shelfs"
msgstr "Разрешить редактирование публичных книжных полок"
#: cps/templates/config_edit.html:168
#: cps/templates/config_edit.html:164
msgid "Default visiblities for new users"
msgstr ""
#: cps/templates/config_edit.html:172 cps/templates/user_edit.html:46
#: cps/templates/config_edit.html:168 cps/templates/user_edit.html:54
msgid "Show random books"
msgstr "Показывать случайные книги"
#: cps/templates/config_edit.html:176 cps/templates/user_edit.html:50
#: cps/templates/config_edit.html:172 cps/templates/user_edit.html:58
msgid "Show recent books"
msgstr ""
#: cps/templates/config_edit.html:180 cps/templates/user_edit.html:54
#: cps/templates/config_edit.html:176 cps/templates/user_edit.html:62
msgid "Show sorted books"
msgstr ""
#: cps/templates/config_edit.html:184 cps/templates/user_edit.html:58
#: cps/templates/config_edit.html:180 cps/templates/user_edit.html:66
msgid "Show hot books"
msgstr "Показывать популярные книги"
#: cps/templates/config_edit.html:188 cps/templates/user_edit.html:62
#: cps/templates/config_edit.html:184 cps/templates/user_edit.html:70
msgid "Show best rated books"
msgstr "Показывать книги с наивысшим рейтингом"
#: cps/templates/config_edit.html:192 cps/templates/user_edit.html:66
#: cps/templates/config_edit.html:188 cps/templates/user_edit.html:74
msgid "Show language selection"
msgstr "Показывать выбор языка"
#: cps/templates/config_edit.html:196 cps/templates/user_edit.html:70
#: cps/templates/config_edit.html:192 cps/templates/user_edit.html:78
msgid "Show series selection"
msgstr "Показывать выбор серии"
#: cps/templates/config_edit.html:200 cps/templates/user_edit.html:74
#: cps/templates/config_edit.html:196 cps/templates/user_edit.html:82
msgid "Show category selection"
msgstr "Показывать выбор категории"
#: cps/templates/config_edit.html:204 cps/templates/user_edit.html:78
#: cps/templates/config_edit.html:200 cps/templates/user_edit.html:86
msgid "Show author selection"
msgstr "Показывать выбор автора"
#: cps/templates/config_edit.html:208 cps/templates/user_edit.html:82
#: cps/templates/config_edit.html:204 cps/templates/user_edit.html:90
msgid "Show read and unread"
msgstr "Показывать прочитанные и непрочитанные"
#: cps/templates/config_edit.html:212 cps/templates/user_edit.html:86
#: cps/templates/config_edit.html:208 cps/templates/user_edit.html:94
msgid "Show random books in detail view"
msgstr "Показывать случайные книги при просмотре деталей"
#: cps/templates/config_edit.html:216 cps/templates/user_edit.html:99
#: cps/templates/config_edit.html:212 cps/templates/user_edit.html:107
msgid "Show mature content"
msgstr ""
#: cps/templates/config_edit.html:226 cps/templates/layout.html:77
#: cps/templates/config_edit.html:222 cps/templates/layout.html:79
#: cps/templates/login.html:4
msgid "Login"
msgstr "Имя пользователя"
@ -1051,12 +1069,12 @@ msgstr "Сохранить настройки"
msgid "Save settings and send Test E-Mail"
msgstr "Сохранить настройки и отправить тестовое письмо"
#: cps/templates/feed.xml:20 cps/templates/layout.html:200
#: cps/templates/feed.xml:20 cps/templates/layout.html:202
msgid "Next"
msgstr "Дальше"
#: cps/templates/feed.xml:29 cps/templates/index.xml:7
#: cps/templates/layout.html:41 cps/templates/layout.html:42
#: cps/templates/layout.html:43 cps/templates/layout.html:44
msgid "Search"
msgstr "Поиск"
@ -1068,7 +1086,7 @@ msgstr "Обзор (случайные книги)"
msgid "Start"
msgstr "Старт"
#: cps/templates/index.xml:14 cps/templates/layout.html:134
#: cps/templates/index.xml:14 cps/templates/layout.html:136
msgid "Hot Books"
msgstr "Популярные книги"
@ -1076,7 +1094,7 @@ msgstr "Популярные книги"
msgid "Popular publications from this catalog based on Downloads."
msgstr "Популярные книги в этом каталоге, на основе количества скачиваний"
#: cps/templates/index.xml:20 cps/templates/layout.html:137
#: cps/templates/index.xml:20 cps/templates/layout.html:139
msgid "Best rated Books"
msgstr "Книги с наилучшим рейтингом"
@ -1096,7 +1114,7 @@ msgstr "Последние поступления"
msgid "Show Random Books"
msgstr "Показывать случайные книги"
#: cps/templates/index.xml:52 cps/templates/layout.html:155
#: cps/templates/index.xml:52 cps/templates/layout.html:157
msgid "Authors"
msgstr "Авторы"
@ -1112,7 +1130,7 @@ msgstr "Книги, отсортированные по категории"
msgid "Books ordered by series"
msgstr "Книги, отсортированные по серии"
#: cps/templates/index.xml:70 cps/templates/layout.html:161
#: cps/templates/index.xml:70 cps/templates/layout.html:163
msgid "Public Shelves"
msgstr "Общие книжные полки"
@ -1120,7 +1138,7 @@ msgstr "Общие книжные полки"
msgid "Books organized in public shelfs, visible to everyone"
msgstr ""
#: cps/templates/index.xml:77 cps/templates/layout.html:165
#: cps/templates/index.xml:77 cps/templates/layout.html:167
msgid "Your Shelves"
msgstr "Ваши книжные полки"
@ -1128,88 +1146,88 @@ msgstr "Ваши книжные полки"
msgid "User's own shelfs, only visible to the current user himself"
msgstr ""
#: cps/templates/layout.html:31
#: cps/templates/layout.html:33
msgid "Toggle navigation"
msgstr "Включить навигацию"
#: cps/templates/layout.html:52
#: cps/templates/layout.html:54
msgid "Advanced Search"
msgstr "Расширенный поиск"
#: cps/templates/layout.html:73
#: cps/templates/layout.html:75
msgid "Logout"
msgstr "Выход"
#: cps/templates/layout.html:78 cps/templates/register.html:18
#: cps/templates/layout.html:80 cps/templates/register.html:18
msgid "Register"
msgstr "Зарегистрироваться"
#: cps/templates/layout.html:103
#: cps/templates/layout.html:105
msgid "Uploading..."
msgstr ""
#: cps/templates/layout.html:104
#: cps/templates/layout.html:106
msgid "please don't refresh the page"
msgstr ""
#: cps/templates/layout.html:115
#: cps/templates/layout.html:117
msgid "Browse"
msgstr "Просмотр"
#: cps/templates/layout.html:117
#: cps/templates/layout.html:119
msgid "Recently Added"
msgstr ""
#: cps/templates/layout.html:122
#: cps/templates/layout.html:124
msgid "Sorted Books"
msgstr ""
#: cps/templates/layout.html:126 cps/templates/layout.html:127
#: cps/templates/layout.html:128 cps/templates/layout.html:129
#: cps/templates/layout.html:130 cps/templates/layout.html:131
msgid "Sort By"
msgstr ""
#: cps/templates/layout.html:126
#: cps/templates/layout.html:128
msgid "Newest"
msgstr ""
#: cps/templates/layout.html:127
#: cps/templates/layout.html:129
msgid "Oldest"
msgstr ""
#: cps/templates/layout.html:128
#: cps/templates/layout.html:130
msgid "Ascending"
msgstr ""
#: cps/templates/layout.html:129
#: cps/templates/layout.html:131
msgid "Descending"
msgstr ""
#: cps/templates/layout.html:146
#: cps/templates/layout.html:148
msgid "Discover"
msgstr "Обзор"
#: cps/templates/layout.html:149
#: cps/templates/layout.html:151
msgid "Categories"
msgstr "Категории"
#: cps/templates/layout.html:158 cps/templates/search_form.html:75
#: cps/templates/layout.html:160 cps/templates/search_form.html:75
msgid "Languages"
msgstr "Языки"
#: cps/templates/layout.html:170
#: cps/templates/layout.html:172
msgid "Create a Shelf"
msgstr "Создать книжную полку"
#: cps/templates/layout.html:171 cps/templates/stats.html:3
#: cps/templates/layout.html:173 cps/templates/stats.html:3
msgid "About"
msgstr "О программе"
#: cps/templates/layout.html:185
#: cps/templates/layout.html:187
msgid "Previous"
msgstr ""
#: cps/templates/layout.html:212
#: cps/templates/layout.html:214
msgid "Book Details"
msgstr ""
@ -1380,18 +1398,30 @@ msgid "Kindle E-Mail"
msgstr "Адрес почты Kindle"
#: cps/templates/user_edit.html:35
msgid "Theme"
msgstr ""
#: cps/templates/user_edit.html:37
msgid "Standard Theme"
msgstr ""
#: cps/templates/user_edit.html:38
msgid "caliBlur! Dark Theme (Beta)"
msgstr ""
#: cps/templates/user_edit.html:43
msgid "Show books with language"
msgstr "Показать книги на языках"
#: cps/templates/user_edit.html:37
#: cps/templates/user_edit.html:45
msgid "Show all"
msgstr "Всех"
#: cps/templates/user_edit.html:131
#: cps/templates/user_edit.html:139
msgid "Delete this user"
msgstr "Удалить этого пользователя"
#: cps/templates/user_edit.html:146
#: cps/templates/user_edit.html:154
msgid "Recent Downloads"
msgstr "Недавние скачивания"

View File

@ -15,7 +15,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Calibre-web\n"
"Report-Msgid-Bugs-To: https://github.com/janeczku/calibre-web\n"
"POT-Creation-Date: 2018-04-01 19:27+0200\n"
"POT-Creation-Date: 2018-06-02 10:45+0200\n"
"PO-Revision-Date: 2017-01-06 17:00+0000\n"
"Last-Translator: dalin <dalin.lin@gmail.com>\n"
"Language: zh_Hans_CN\n"
@ -30,57 +30,57 @@ msgstr ""
msgid "not installed"
msgstr "未安装"
#: cps/helper.py:78
#: cps/helper.py:79
#, python-format
msgid "kindlegen binary %(kindlepath)s not found"
msgstr "找不到kindlegen二进制 %(kindlepath)s"
#: cps/helper.py:84
#: cps/helper.py:85
#, python-format
msgid "epub format not found for book id: %(book)d"
msgstr "没有找到书籍ID %(book)d 的epub格式"
#: cps/helper.py:94
#: cps/helper.py:95
msgid "kindlegen failed, no execution permissions"
msgstr "kindlegen失败没有可执行权限"
#: cps/helper.py:109
#: cps/helper.py:110
#, python-format
msgid "Kindlegen failed with Error %(error)s. Message: %(message)s"
msgstr "Kindlegen 因为错误 %(error)s 失败。消息: %(message)s"
#: cps/helper.py:188
#: cps/helper.py:189
#, python-format
msgid "Failed to send mail: %s"
msgstr "发送邮件失败: %s"
#: cps/helper.py:195
#: cps/helper.py:196
msgid "Calibre-web test email"
msgstr "Calibre-web 测试邮件"
#: cps/helper.py:196 cps/helper.py:208
#: cps/helper.py:197 cps/helper.py:209
msgid "This email has been sent via calibre web."
msgstr "此邮件由calibre web发送"
#: cps/helper.py:205 cps/templates/detail.html:44
#: cps/helper.py:206 cps/templates/detail.html:44
msgid "Send to Kindle"
msgstr "发送到Kindle"
#: cps/helper.py:225 cps/helper.py:239
#: cps/helper.py:226 cps/helper.py:240
msgid "Could not find any formats suitable for sending by email"
msgstr "无法找到适合邮件发送的格式"
#: cps/helper.py:340
#: cps/helper.py:341
#, python-format
msgid "Rename title from: \"%s\" to \"%s\" failed with error: %s"
msgstr ""
#: cps/helper.py:349
#: cps/helper.py:350
#, python-format
msgid "Rename author from: \"%s\" to \"%s\" failed with error: %s"
msgstr ""
#: cps/ub.py:684
#: cps/ub.py:694
msgid "Guest"
msgstr "游客"
@ -148,7 +148,7 @@ msgstr "随机书籍"
msgid "Author list"
msgstr "作者列表"
#: cps/web.py:1220 cps/web.py:1278 cps/web.py:1408 cps/web.py:1903
#: cps/web.py:1220 cps/web.py:1278 cps/web.py:1408 cps/web.py:1917
msgid "Error opening eBook. File does not exist or file is not accessible:"
msgstr "无法打开电子书。 文件不存在或者文件不可访问:"
@ -187,306 +187,328 @@ msgstr "可执行权限缺失"
msgid "Statistics"
msgstr "统计"
#: cps/web.py:1641
#: cps/web.py:1573
msgid ""
"Callback domain is not verified, please follow steps to verify domain in "
"google developer console"
msgstr ""
#: cps/web.py:1651
msgid "Server restarted, please reload page"
msgstr "服务器已重启,请刷新页面"
#: cps/web.py:1643
#: cps/web.py:1653
msgid "Performing shutdown of server, please close window"
msgstr "正在关闭服务器,请关闭窗口"
#: cps/web.py:1659
#: cps/web.py:1669
msgid "Update done"
msgstr "更新完成"
#: cps/web.py:1716
#: cps/web.py:1726
#, python-format
msgid "Published after %s"
msgstr ""
#: cps/web.py:1721
#: cps/web.py:1731
msgid "Published before "
msgstr ""
#: cps/web.py:1767 cps/web.py:1780
#: cps/web.py:1777 cps/web.py:1790
msgid "search"
msgstr "搜索"
#: cps/web.py:1816
msgid "not found on GDrive"
msgstr ""
#: cps/templates/index.xml:39 cps/templates/index.xml:42
#: cps/templates/layout.html:141 cps/web.py:1858
#: cps/templates/layout.html:143 cps/web.py:1872
msgid "Read Books"
msgstr "已读书籍"
#: cps/templates/index.xml:46 cps/templates/index.xml:49
#: cps/templates/layout.html:143 cps/web.py:1861
#: cps/templates/layout.html:145 cps/web.py:1875
msgid "Unread Books"
msgstr "未读书籍"
#: cps/web.py:1936 cps/web.py:1938 cps/web.py:1940 cps/web.py:1949
#: cps/web.py:1950 cps/web.py:1952 cps/web.py:1954 cps/web.py:1963
msgid "Read a Book"
msgstr "阅读一本书"
#: cps/web.py:2001 cps/web.py:2718
#: cps/web.py:2015 cps/web.py:2751
msgid "Please fill out all fields!"
msgstr "请填写所有字段"
#: cps/web.py:2002 cps/web.py:2019 cps/web.py:2024 cps/web.py:2026
#: cps/web.py:2016 cps/web.py:2033 cps/web.py:2038 cps/web.py:2040
msgid "register"
msgstr "注册"
#: cps/web.py:2018
#: cps/web.py:2032
msgid "An unknown error occured. Please try again later."
msgstr "发生一个未知错误。请稍后再试。"
#: cps/web.py:2023
#: cps/web.py:2037
msgid "This username or email address is already in use."
msgstr "此用户名或邮箱已被使用。"
#: cps/web.py:2042 cps/web.py:2138
#: cps/web.py:2056 cps/web.py:2152
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "您现在已以'%(nickname)s'身份登录"
#: cps/web.py:2047
#: cps/web.py:2061
msgid "Wrong Username or Password"
msgstr "用户名或密码错误"
#: cps/web.py:2053 cps/web.py:2074
#: cps/web.py:2067 cps/web.py:2088
msgid "login"
msgstr "登录"
#: cps/web.py:2086 cps/web.py:2117
#: cps/web.py:2100 cps/web.py:2131
msgid "Token not found"
msgstr "找不到Token"
#: cps/web.py:2094 cps/web.py:2125
#: cps/web.py:2108 cps/web.py:2139
msgid "Token has expired"
msgstr "Token已过期"
#: cps/web.py:2102
#: cps/web.py:2116
msgid "Success! Please return to your device"
msgstr "成功!请返回您的设备"
#: cps/web.py:2152
#: cps/web.py:2166
msgid "Please configure the SMTP mail settings first..."
msgstr "请先配置SMTP邮箱..."
#: cps/web.py:2156
#: cps/web.py:2170
#, python-format
msgid "Book successfully send to %(kindlemail)s"
msgstr "此书已被成功发给 %(kindlemail)s"
#: cps/web.py:2160
#: cps/web.py:2174
#, python-format
msgid "There was an error sending this book: %(res)s"
msgstr "发送这本书的时候出现错误: %(res)s"
#: cps/web.py:2162 cps/web.py:2805
#: cps/web.py:2176 cps/web.py:2839
msgid "Please configure your kindle email address first..."
msgstr "请先配置您的kindle电子邮箱地址..."
#: cps/web.py:2206
#: cps/web.py:2220
#, python-format
msgid "Book has been added to shelf: %(sname)s"
msgstr "此书已被添加到书架: %(sname)s"
#: cps/web.py:2244
#: cps/web.py:2258
#, python-format
msgid "Book has been removed from shelf: %(sname)s"
msgstr "此书已从书架 %(sname)s 中删除"
#: cps/web.py:2250
#: cps/web.py:2264
#, python-format
msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s"
msgstr ""
#: cps/web.py:2270 cps/web.py:2294
#: cps/web.py:2284 cps/web.py:2308
#, python-format
msgid "A shelf with the name '%(title)s' already exists."
msgstr "已存在书架 '%(title)s'。"
#: cps/web.py:2275
#: cps/web.py:2289
#, python-format
msgid "Shelf %(title)s created"
msgstr "书架 %(title)s 已被创建"
#: cps/web.py:2277 cps/web.py:2305
#: cps/web.py:2291 cps/web.py:2319
msgid "There was an error"
msgstr "发生错误"
#: cps/web.py:2278 cps/web.py:2280
#: cps/web.py:2292 cps/web.py:2294
msgid "create a shelf"
msgstr "创建书架"
#: cps/web.py:2303
#: cps/web.py:2317
#, python-format
msgid "Shelf %(title)s changed"
msgstr "书架 %(title)s 已被修改"
#: cps/web.py:2306 cps/web.py:2308
#: cps/web.py:2320 cps/web.py:2322
msgid "Edit a shelf"
msgstr "编辑书架"
#: cps/web.py:2329
#: cps/web.py:2343
#, python-format
msgid "successfully deleted shelf %(name)s"
msgstr "成功删除书架 %(name)s"
#: cps/web.py:2351
#: cps/web.py:2365
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "书架: '%(name)s'"
#: cps/web.py:2354
#: cps/web.py:2368
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr "打开书架出错。书架不存在或不可访问"
#: cps/web.py:2385
#: cps/web.py:2399
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "修改书架 '%(name)s' 顺序"
#: cps/web.py:2454
#: cps/web.py:2469
msgid "Found an existing account for this email address."
msgstr "找到已使用此邮箱的账号。"
#: cps/web.py:2456 cps/web.py:2460
#: cps/web.py:2471 cps/web.py:2475
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)s 的资料"
#: cps/web.py:2457
#: cps/web.py:2472
msgid "Profile updated"
msgstr "资料已更新"
#: cps/web.py:2469
#: cps/web.py:2484
msgid "Unknown"
msgstr ""
#: cps/web.py:2482
#: cps/web.py:2497
msgid "Admin page"
msgstr "管理页"
#: cps/web.py:2553
msgid "Keyfile location is not valid, please enter correct path"
#: cps/web.py:2520
msgid "Import of optional GDrive requirements missing"
msgstr ""
#: cps/web.py:2556 cps/web.py:2567 cps/web.py:2660 cps/web.py:2679
#: cps/web.py:2685 cps/web.py:2699
#: cps/web.py:2523
msgid "client_secret.json is missing or not readable"
msgstr ""
#: cps/web.py:2528 cps/web.py:2553
msgid "client_secret.json is not configured for web application"
msgstr ""
#: cps/web.py:2556 cps/web.py:2582 cps/web.py:2593 cps/web.py:2686
#: cps/web.py:2706 cps/web.py:2713 cps/web.py:2732
msgid "Basic Configuration"
msgstr "基本配置"
#: cps/web.py:2564
#: cps/web.py:2579
msgid "Keyfile location is not valid, please enter correct path"
msgstr ""
#: cps/web.py:2590
msgid "Certfile location is not valid, please enter correct path"
msgstr ""
#: cps/web.py:2657
#: cps/web.py:2683
msgid "Logfile location is not valid, please enter correct path"
msgstr ""
#: cps/web.py:2672
#: cps/web.py:2698
msgid "Calibre-web configuration updated"
msgstr "Calibre-web配置已更新"
#: cps/web.py:2683
#: cps/web.py:2710
msgid "DB location is not valid, please enter correct path"
msgstr "DB位置无效请输入正确路径"
#: cps/templates/admin.html:34 cps/web.py:2720 cps/web.py:2775
#: cps/templates/admin.html:34 cps/web.py:2753 cps/web.py:2809
msgid "Add new user"
msgstr "添加新用户"
#: cps/web.py:2765
#: cps/web.py:2799
#, python-format
msgid "User '%(user)s' created"
msgstr "用户 '%(user)s' 已被创建"
#: cps/web.py:2769
#: cps/web.py:2803
msgid "Found an existing account for this email address or nickname."
msgstr "已存在使用此邮箱或昵称的账号。"
#: cps/web.py:2793
#: cps/web.py:2827
msgid "Mail settings updated"
msgstr "邮箱设置已更新"
#: cps/web.py:2800
#: cps/web.py:2834
#, python-format
msgid "Test E-Mail successfully send to %(kindlemail)s"
msgstr "测试邮件已成功发送到 %(kindlemail)s"
#: cps/web.py:2803
#: cps/web.py:2837
#, python-format
msgid "There was an error sending the Test E-Mail: %(res)s"
msgstr "发送测试邮件时发生错误: %(res)s"
#: cps/web.py:2807
#: cps/web.py:2841
msgid "E-Mail settings updated"
msgstr "E-Mail 设置已更新"
#: cps/web.py:2808
#: cps/web.py:2842
msgid "Edit mail settings"
msgstr "编辑邮箱设置"
#: cps/web.py:2837
#: cps/web.py:2871
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "用户 '%(nick)s' 已被删除"
#: cps/web.py:2945
#: cps/web.py:2980
#, python-format
msgid "User '%(nick)s' updated"
msgstr "用户 '%(nick)s' 已被更新"
#: cps/web.py:2948
#: cps/web.py:2983
msgid "An unknown error occured."
msgstr "发生未知错误。"
#: cps/web.py:2951
#: cps/web.py:2986
#, python-format
msgid "Edit User %(nick)s"
msgstr "编辑用户 %(nick)s"
#: cps/web.py:2967
#: cps/web.py:3002
msgid "Error opening eBook. File does not exist or file is not accessible"
msgstr "打开电子书出错。文件不存在或不可访问"
#: cps/web.py:2982 cps/web.py:3193 cps/web.py:3198 cps/web.py:3344
#: cps/web.py:3017 cps/web.py:3228 cps/web.py:3233 cps/web.py:3379
msgid "edit metadata"
msgstr "编辑元数据"
#: cps/web.py:2992 cps/web.py:3238
#: cps/web.py:3027 cps/web.py:3273
#, python-format
msgid "File extension \"%s\" is not allowed to be uploaded to this server"
msgstr "不能上传后缀为 \"%s\" 的文件到此服务器"
#: cps/web.py:3003
#: cps/web.py:3038
#, python-format
msgid "Failed to store file %s."
msgstr ""
#: cps/web.py:3025 cps/web.py:3029
#: cps/web.py:3060 cps/web.py:3064
msgid "unknown"
msgstr "未知"
#: cps/web.py:3052
#: cps/web.py:3087
msgid "Cover is not a jpg file, can't save"
msgstr ""
#: cps/web.py:3244
#: cps/web.py:3279
msgid "File to be uploaded must have an extension"
msgstr "要上传的文件必须有一个后缀"
#: cps/web.py:3263
#: cps/web.py:3298
#, python-format
msgid "Failed to create path %s (Permission denied)."
msgstr "创建路径 %s 失败(权限拒绝)。"
#: cps/web.py:3268
#: cps/web.py:3303
#, python-format
msgid "Failed to store file %s (Permission denied)."
msgstr "存储文件 %s 失败(权限拒绝)。"
#: cps/web.py:3273
#: cps/web.py:3308
#, python-format
msgid "Failed to delete file %s (Permission denied)."
msgstr "删除文件 %s 失败(权限拒绝)。"
@ -511,7 +533,7 @@ msgstr ""
msgid "DLS"
msgstr ""
#: cps/templates/admin.html:12 cps/templates/layout.html:69
#: cps/templates/admin.html:12 cps/templates/layout.html:71
msgid "Admin"
msgstr "管理"
@ -520,7 +542,7 @@ msgstr "管理"
msgid "Download"
msgstr "下载"
#: cps/templates/admin.html:14 cps/templates/layout.html:62
#: cps/templates/admin.html:14 cps/templates/layout.html:64
msgid "Upload"
msgstr "上传"
@ -572,7 +594,7 @@ msgstr "配置"
msgid "Calibre DB dir"
msgstr "Calibre DB目录"
#: cps/templates/admin.html:61 cps/templates/config_edit.html:91
#: cps/templates/admin.html:61 cps/templates/config_edit.html:87
msgid "Log Level"
msgstr "日志级别"
@ -580,7 +602,7 @@ msgstr "日志级别"
msgid "Port"
msgstr "端口"
#: cps/templates/admin.html:63 cps/templates/config_edit.html:68
#: cps/templates/admin.html:63 cps/templates/config_edit.html:64
msgid "Books per page"
msgstr "每页书籍数"
@ -643,9 +665,9 @@ msgstr "确定"
#: cps/templates/admin.html:105 cps/templates/admin.html:119
#: cps/templates/book_edit.html:135 cps/templates/book_edit.html:157
#: cps/templates/config_edit.html:223 cps/templates/email_edit.html:36
#: cps/templates/config_edit.html:219 cps/templates/email_edit.html:36
#: cps/templates/shelf.html:60 cps/templates/shelf_edit.html:19
#: cps/templates/shelf_order.html:12 cps/templates/user_edit.html:139
#: cps/templates/shelf_order.html:12 cps/templates/user_edit.html:147
msgid "Back"
msgstr "后退"
@ -691,7 +713,7 @@ msgstr "简介"
msgid "Tags"
msgstr "标签"
#: cps/templates/book_edit.html:39 cps/templates/layout.html:152
#: cps/templates/book_edit.html:39 cps/templates/layout.html:154
#: cps/templates/search_form.html:54
msgid "Series"
msgstr "丛书"
@ -738,9 +760,9 @@ msgstr "编辑后查看书籍"
msgid "Get metadata"
msgstr "获取元数据"
#: cps/templates/book_edit.html:134 cps/templates/config_edit.html:221
#: cps/templates/book_edit.html:134 cps/templates/config_edit.html:217
#: cps/templates/login.html:20 cps/templates/search_form.html:96
#: cps/templates/shelf_edit.html:17 cps/templates/user_edit.html:137
#: cps/templates/shelf_edit.html:17 cps/templates/user_edit.html:145
msgid "Submit"
msgstr "提交"
@ -768,7 +790,7 @@ msgstr "关键字"
msgid " Search keyword "
msgstr "搜索关键字"
#: cps/templates/book_edit.html:175 cps/templates/layout.html:44
#: cps/templates/book_edit.html:175 cps/templates/layout.html:46
msgid "Go!"
msgstr "走起!"
@ -780,7 +802,7 @@ msgstr "点击封面加载元数据到表单"
msgid "Loading..."
msgstr "加载中..."
#: cps/templates/book_edit.html:196 cps/templates/layout.html:216
#: cps/templates/book_edit.html:196 cps/templates/layout.html:218
msgid "Close"
msgstr "关闭"
@ -805,184 +827,180 @@ msgstr "没有结果!请尝试别的关键字."
msgid "Location of Calibre database"
msgstr "Calibre 数据库位置"
#: cps/templates/config_edit.html:13
#: cps/templates/config_edit.html:12
msgid "Use google drive?"
msgstr "是否使用google drive?"
#: cps/templates/config_edit.html:17
msgid "Client id"
#: cps/templates/config_edit.html:18
msgid "Google drive config problem"
msgstr ""
#: cps/templates/config_edit.html:21
msgid "Client secret"
msgstr ""
#: cps/templates/config_edit.html:25
msgid "Calibre Base URL"
msgstr ""
#: cps/templates/config_edit.html:29
#: cps/templates/config_edit.html:28
msgid "Google drive Calibre folder"
msgstr ""
#: cps/templates/config_edit.html:38
#: cps/templates/config_edit.html:36
msgid "Metadata Watch Channel ID"
msgstr ""
#: cps/templates/config_edit.html:52
#: cps/templates/config_edit.html:39
msgid "Revoke"
msgstr ""
#: cps/templates/config_edit.html:48
msgid "Server Port"
msgstr "服务器端口"
#: cps/templates/config_edit.html:56
#: cps/templates/config_edit.html:52
msgid "SSL certfile location (leave it empty for non-SSL Servers)"
msgstr ""
#: cps/templates/config_edit.html:60
#: cps/templates/config_edit.html:56
msgid "SSL Keyfile location (leave it empty for non-SSL Servers)"
msgstr ""
#: cps/templates/config_edit.html:64 cps/templates/layout.html:128
#: cps/templates/layout.html:129 cps/templates/shelf_edit.html:7
#: cps/templates/config_edit.html:60 cps/templates/layout.html:130
#: cps/templates/layout.html:131 cps/templates/shelf_edit.html:7
msgid "Title"
msgstr "标题"
#: cps/templates/config_edit.html:72
#: cps/templates/config_edit.html:68
msgid "No. of random books to show"
msgstr "随机书籍显示数量"
#: cps/templates/config_edit.html:76
#: cps/templates/config_edit.html:72
msgid "Regular expression for ignoring columns"
msgstr "忽略列的正则表达式"
#: cps/templates/config_edit.html:80
#: cps/templates/config_edit.html:76
msgid "Regular expression for title sorting"
msgstr "标题排序的正则表达式"
#: cps/templates/config_edit.html:84
#: cps/templates/config_edit.html:80
msgid "Tags for Mature Content"
msgstr ""
#: cps/templates/config_edit.html:100
#: cps/templates/config_edit.html:96
msgid "Location and name of logfile (calibre-web.log for no entry)"
msgstr ""
#: cps/templates/config_edit.html:106
#: cps/templates/config_edit.html:102
msgid "Enable uploading"
msgstr "启用上传"
#: cps/templates/config_edit.html:110
#: cps/templates/config_edit.html:106
msgid "Enable anonymous browsing"
msgstr "启用匿名浏览"
#: cps/templates/config_edit.html:114
#: cps/templates/config_edit.html:110
msgid "Enable public registration"
msgstr "启用注册"
#: cps/templates/config_edit.html:118
#: cps/templates/config_edit.html:114
msgid "Enable remote login (\"magic link\")"
msgstr "启用远程登录 (\"魔法链接\")"
#: cps/templates/config_edit.html:123
#: cps/templates/config_edit.html:119
msgid "Use"
msgstr ""
#: cps/templates/config_edit.html:124
#: cps/templates/config_edit.html:120
msgid "Obtain an API Key"
msgstr ""
#: cps/templates/config_edit.html:128
#: cps/templates/config_edit.html:124
msgid "Goodreads API Key"
msgstr ""
#: cps/templates/config_edit.html:132
#: cps/templates/config_edit.html:128
msgid "Goodreads API Secret"
msgstr ""
#: cps/templates/config_edit.html:137
#: cps/templates/config_edit.html:133
msgid "Default Settings for new users"
msgstr "新用户默认设置"
#: cps/templates/config_edit.html:140 cps/templates/user_edit.html:94
#: cps/templates/config_edit.html:136 cps/templates/user_edit.html:102
msgid "Admin user"
msgstr "管理用户"
#: cps/templates/config_edit.html:144 cps/templates/user_edit.html:103
#: cps/templates/config_edit.html:140 cps/templates/user_edit.html:111
msgid "Allow Downloads"
msgstr "允许下载"
#: cps/templates/config_edit.html:148 cps/templates/user_edit.html:107
#: cps/templates/config_edit.html:144 cps/templates/user_edit.html:115
msgid "Allow Uploads"
msgstr "允许上传"
#: cps/templates/config_edit.html:152 cps/templates/user_edit.html:111
#: cps/templates/config_edit.html:148 cps/templates/user_edit.html:119
msgid "Allow Edit"
msgstr "允许编辑"
#: cps/templates/config_edit.html:156 cps/templates/user_edit.html:115
#: cps/templates/config_edit.html:152 cps/templates/user_edit.html:123
msgid "Allow Delete books"
msgstr "允许删除书籍"
#: cps/templates/config_edit.html:160 cps/templates/user_edit.html:120
#: cps/templates/config_edit.html:156 cps/templates/user_edit.html:128
msgid "Allow Changing Password"
msgstr "允许修改密码"
#: cps/templates/config_edit.html:164 cps/templates/user_edit.html:124
#: cps/templates/config_edit.html:160 cps/templates/user_edit.html:132
msgid "Allow Editing Public Shelfs"
msgstr "允许编辑公共书架"
#: cps/templates/config_edit.html:168
#: cps/templates/config_edit.html:164
msgid "Default visiblities for new users"
msgstr ""
#: cps/templates/config_edit.html:172 cps/templates/user_edit.html:46
#: cps/templates/config_edit.html:168 cps/templates/user_edit.html:54
msgid "Show random books"
msgstr "显示随机书籍"
#: cps/templates/config_edit.html:176 cps/templates/user_edit.html:50
#: cps/templates/config_edit.html:172 cps/templates/user_edit.html:58
msgid "Show recent books"
msgstr ""
#: cps/templates/config_edit.html:180 cps/templates/user_edit.html:54
#: cps/templates/config_edit.html:176 cps/templates/user_edit.html:62
msgid "Show sorted books"
msgstr ""
#: cps/templates/config_edit.html:184 cps/templates/user_edit.html:58
#: cps/templates/config_edit.html:180 cps/templates/user_edit.html:66
msgid "Show hot books"
msgstr "显示热门书籍"
#: cps/templates/config_edit.html:188 cps/templates/user_edit.html:62
#: cps/templates/config_edit.html:184 cps/templates/user_edit.html:70
msgid "Show best rated books"
msgstr "显示最高评分书籍"
#: cps/templates/config_edit.html:192 cps/templates/user_edit.html:66
#: cps/templates/config_edit.html:188 cps/templates/user_edit.html:74
msgid "Show language selection"
msgstr "显示语言选择"
#: cps/templates/config_edit.html:196 cps/templates/user_edit.html:70
#: cps/templates/config_edit.html:192 cps/templates/user_edit.html:78
msgid "Show series selection"
msgstr "显示丛书选择"
#: cps/templates/config_edit.html:200 cps/templates/user_edit.html:74
#: cps/templates/config_edit.html:196 cps/templates/user_edit.html:82
msgid "Show category selection"
msgstr "显示分类选择"
#: cps/templates/config_edit.html:204 cps/templates/user_edit.html:78
#: cps/templates/config_edit.html:200 cps/templates/user_edit.html:86
msgid "Show author selection"
msgstr "显示作者选择"
#: cps/templates/config_edit.html:208 cps/templates/user_edit.html:82
#: cps/templates/config_edit.html:204 cps/templates/user_edit.html:90
msgid "Show read and unread"
msgstr "显示已读和未读"
#: cps/templates/config_edit.html:212 cps/templates/user_edit.html:86
#: cps/templates/config_edit.html:208 cps/templates/user_edit.html:94
msgid "Show random books in detail view"
msgstr "在详情页显示随机书籍"
#: cps/templates/config_edit.html:216 cps/templates/user_edit.html:99
#: cps/templates/config_edit.html:212 cps/templates/user_edit.html:107
msgid "Show mature content"
msgstr ""
#: cps/templates/config_edit.html:226 cps/templates/layout.html:77
#: cps/templates/config_edit.html:222 cps/templates/layout.html:79
#: cps/templates/login.html:4
msgid "Login"
msgstr "登录"
@ -1051,12 +1069,12 @@ msgstr "保存设置"
msgid "Save settings and send Test E-Mail"
msgstr "保存设置并发送测试邮件"
#: cps/templates/feed.xml:20 cps/templates/layout.html:200
#: cps/templates/feed.xml:20 cps/templates/layout.html:202
msgid "Next"
msgstr "下一个"
#: cps/templates/feed.xml:29 cps/templates/index.xml:7
#: cps/templates/layout.html:41 cps/templates/layout.html:42
#: cps/templates/layout.html:43 cps/templates/layout.html:44
msgid "Search"
msgstr "搜索"
@ -1068,7 +1086,7 @@ msgstr "发现(随机书籍)"
msgid "Start"
msgstr "开始"
#: cps/templates/index.xml:14 cps/templates/layout.html:134
#: cps/templates/index.xml:14 cps/templates/layout.html:136
msgid "Hot Books"
msgstr "热门书籍"
@ -1076,7 +1094,7 @@ msgstr "热门书籍"
msgid "Popular publications from this catalog based on Downloads."
msgstr "基于下载数的热门书籍"
#: cps/templates/index.xml:20 cps/templates/layout.html:137
#: cps/templates/index.xml:20 cps/templates/layout.html:139
msgid "Best rated Books"
msgstr "最高评分书籍"
@ -1096,7 +1114,7 @@ msgstr "最新书籍"
msgid "Show Random Books"
msgstr "显示随机书籍"
#: cps/templates/index.xml:52 cps/templates/layout.html:155
#: cps/templates/index.xml:52 cps/templates/layout.html:157
msgid "Authors"
msgstr "作者"
@ -1112,7 +1130,7 @@ msgstr "书籍按分类排序"
msgid "Books ordered by series"
msgstr "书籍按丛书排序"
#: cps/templates/index.xml:70 cps/templates/layout.html:161
#: cps/templates/index.xml:70 cps/templates/layout.html:163
msgid "Public Shelves"
msgstr "公开书架"
@ -1120,7 +1138,7 @@ msgstr "公开书架"
msgid "Books organized in public shelfs, visible to everyone"
msgstr ""
#: cps/templates/index.xml:77 cps/templates/layout.html:165
#: cps/templates/index.xml:77 cps/templates/layout.html:167
msgid "Your Shelves"
msgstr "您的书架"
@ -1128,88 +1146,88 @@ msgstr "您的书架"
msgid "User's own shelfs, only visible to the current user himself"
msgstr ""
#: cps/templates/layout.html:31
#: cps/templates/layout.html:33
msgid "Toggle navigation"
msgstr "切换导航"
#: cps/templates/layout.html:52
#: cps/templates/layout.html:54
msgid "Advanced Search"
msgstr "高级搜索"
#: cps/templates/layout.html:73
#: cps/templates/layout.html:75
msgid "Logout"
msgstr "注销"
#: cps/templates/layout.html:78 cps/templates/register.html:18
#: cps/templates/layout.html:80 cps/templates/register.html:18
msgid "Register"
msgstr "注册"
#: cps/templates/layout.html:103
#: cps/templates/layout.html:105
msgid "Uploading..."
msgstr ""
#: cps/templates/layout.html:104
#: cps/templates/layout.html:106
msgid "please don't refresh the page"
msgstr ""
#: cps/templates/layout.html:115
#: cps/templates/layout.html:117
msgid "Browse"
msgstr "浏览"
#: cps/templates/layout.html:117
#: cps/templates/layout.html:119
msgid "Recently Added"
msgstr "最近添加"
#: cps/templates/layout.html:122
#: cps/templates/layout.html:124
msgid "Sorted Books"
msgstr "已排序书籍"
#: cps/templates/layout.html:126 cps/templates/layout.html:127
#: cps/templates/layout.html:128 cps/templates/layout.html:129
#: cps/templates/layout.html:130 cps/templates/layout.html:131
msgid "Sort By"
msgstr "排序"
#: cps/templates/layout.html:126
#: cps/templates/layout.html:128
msgid "Newest"
msgstr "最新"
#: cps/templates/layout.html:127
#: cps/templates/layout.html:129
msgid "Oldest"
msgstr "最旧"
#: cps/templates/layout.html:128
#: cps/templates/layout.html:130
msgid "Ascending"
msgstr "升序"
#: cps/templates/layout.html:129
#: cps/templates/layout.html:131
msgid "Descending"
msgstr "降序"
#: cps/templates/layout.html:146
#: cps/templates/layout.html:148
msgid "Discover"
msgstr "发现"
#: cps/templates/layout.html:149
#: cps/templates/layout.html:151
msgid "Categories"
msgstr "分类"
#: cps/templates/layout.html:158 cps/templates/search_form.html:75
#: cps/templates/layout.html:160 cps/templates/search_form.html:75
msgid "Languages"
msgstr "语言"
#: cps/templates/layout.html:170
#: cps/templates/layout.html:172
msgid "Create a Shelf"
msgstr "创建书架"
#: cps/templates/layout.html:171 cps/templates/stats.html:3
#: cps/templates/layout.html:173 cps/templates/stats.html:3
msgid "About"
msgstr "关于"
#: cps/templates/layout.html:185
#: cps/templates/layout.html:187
msgid "Previous"
msgstr ""
#: cps/templates/layout.html:212
#: cps/templates/layout.html:214
msgid "Book Details"
msgstr ""
@ -1380,18 +1398,30 @@ msgid "Kindle E-Mail"
msgstr ""
#: cps/templates/user_edit.html:35
msgid "Theme"
msgstr ""
#: cps/templates/user_edit.html:37
msgid "Standard Theme"
msgstr ""
#: cps/templates/user_edit.html:38
msgid "caliBlur! Dark Theme (Beta)"
msgstr ""
#: cps/templates/user_edit.html:43
msgid "Show books with language"
msgstr "按语言显示书籍"
#: cps/templates/user_edit.html:37
#: cps/templates/user_edit.html:45
msgid "Show all"
msgstr "显示全部"
#: cps/templates/user_edit.html:131
#: cps/templates/user_edit.html:139
msgid "Delete this user"
msgstr "删除此用户"
#: cps/templates/user_edit.html:146
#: cps/templates/user_edit.html:154
msgid "Recent Downloads"
msgstr "最近下载"

View File

@ -291,10 +291,10 @@ class Settings(Base):
config_default_show = Column(SmallInteger, default=2047)
config_columns_to_ignore = Column(String)
config_use_google_drive = Column(Boolean)
config_google_drive_client_id = Column(String)
config_google_drive_client_secret = Column(String)
# config_google_drive_client_id = Column(String)
# config_google_drive_client_secret = Column(String)
config_google_drive_folder = Column(String)
config_google_drive_calibre_url_base = Column(String)
# config_google_drive_calibre_url_base = Column(String)
config_google_drive_watch_changes_response = Column(String)
config_remote_login = Column(Boolean)
config_use_goodreads = Column(Boolean)
@ -352,9 +352,9 @@ class Config:
self.config_default_show = data.config_default_show
self.config_columns_to_ignore = data.config_columns_to_ignore
self.config_use_google_drive = data.config_use_google_drive
self.config_google_drive_client_id = data.config_google_drive_client_id
self.config_google_drive_client_secret = data.config_google_drive_client_secret
self.config_google_drive_calibre_url_base = data.config_google_drive_calibre_url_base
# self.config_google_drive_client_id = data.config_google_drive_client_id
# self.config_google_drive_client_secret = data.config_google_drive_client_secret
# self.config_google_drive_calibre_url_base = data.config_google_drive_calibre_url_base
self.config_google_drive_folder = data.config_google_drive_folder
if data.config_google_drive_watch_changes_response:
self.config_google_drive_watch_changes_response = json.loads(data.config_google_drive_watch_changes_response)
@ -550,9 +550,9 @@ def migrate_Database():
except exc.OperationalError:
conn = engine.connect()
conn.execute("ALTER TABLE Settings ADD column `config_use_google_drive` INTEGER DEFAULT 0")
conn.execute("ALTER TABLE Settings ADD column `config_google_drive_client_id` String DEFAULT ''")
conn.execute("ALTER TABLE Settings ADD column `config_google_drive_client_secret` String DEFAULT ''")
conn.execute("ALTER TABLE Settings ADD column `config_google_drive_calibre_url_base` INTEGER DEFAULT 0")
# conn.execute("ALTER TABLE Settings ADD column `config_google_drive_client_id` String DEFAULT ''")
# conn.execute("ALTER TABLE Settings ADD column `config_google_drive_client_secret` String DEFAULT ''")
# conn.execute("ALTER TABLE Settings ADD column `config_google_drive_calibre_url_base` INTEGER DEFAULT 0")
conn.execute("ALTER TABLE Settings ADD column `config_google_drive_folder` String DEFAULT ''")
conn.execute("ALTER TABLE Settings ADD column `config_google_drive_watch_changes_response` String DEFAULT ''")
try:

View File

@ -1550,19 +1550,29 @@ def google_drive_callback():
@admin_required
def watch_gdrive():
if not config.config_google_drive_watch_changes_response:
address = '%s/gdrive/watch/callback' % config.config_google_drive_calibre_url_base
with open('client_secret.json', 'r') as settings:
filedata = json.load(settings)
if filedata['web']['redirect_uris'][0].endswith('/'):
filedata['web']['redirect_uris'][0] = filedata['web']['redirect_uris'][0][:-((len('/gdrive/callback')+1))]
else:
filedata['web']['redirect_uris'][0] = filedata['web']['redirect_uris'][0][:-(len('/gdrive/callback'))]
address = '%s/gdrive/watch/callback' % filedata['web']['redirect_uris'][0]
notification_id = str(uuid4())
result = gdriveutils.watchChange(Gdrive.Instance().drive, notification_id,
try:
result = gdriveutils.watchChange(Gdrive.Instance().drive, notification_id,
'web_hook', address, gdrive_watch_callback_token, current_milli_time() + 604800*1000)
print (result)
settings = ub.session.query(ub.Settings).first()
settings.config_google_drive_watch_changes_response = json.dumps(result)
ub.session.merge(settings)
ub.session.commit()
settings = ub.session.query(ub.Settings).first()
config.loadSettings()
print (settings.config_google_drive_watch_changes_response)
settings = ub.session.query(ub.Settings).first()
settings.config_google_drive_watch_changes_response = json.dumps(result)
ub.session.merge(settings)
ub.session.commit()
settings = ub.session.query(ub.Settings).first()
config.loadSettings()
except HttpError as e:
reason=json.loads(e.content)['error']['errors'][0]
if reason['reason'] == u'push.webhookUrlUnauthorized':
flash(_(u'Callback domain is not verified, please follow steps to verify domain in google developer console'), category="error")
else:
flash(reason['message'], category="error")
return redirect(url_for('configuration'))
@ -1800,7 +1810,11 @@ def get_cover_via_gdrive(cover_path):
@login_required_if_no_ano
def get_cover(cover_path):
if config.config_use_google_drive:
return redirect(get_cover_via_gdrive(cover_path))
try:
return redirect(get_cover_via_gdrive(cover_path))
except:
app.logger.error(cover_path + '/cover.jpg ' + _('not found on GDrive'))
return send_from_directory(os.path.join(os.path.dirname(__file__), "static"),"generic_cover.jpg")
else:
return send_from_directory(os.path.join(config.config_calibre_dir, cover_path), "cover.jpg")
@ -2499,8 +2513,20 @@ def basic_configuration():
def configuration_helper(origin):
# global global_task
reboot_required = False
gdriveError=None
db_change = False
success = False
if gdrive_support == False:
gdriveError = _('Import of optional GDrive requirements missing')
else:
if not os.path.isfile('client_secret.json'):
gdriveError = _('client_secret.json is missing or not readable')
else:
with open('client_secret.json', 'r') as settings:
filedata=json.load(settings)
if not 'web' in filedata:
gdriveError = _('client_secret.json is not configured for web application')
filedata = None
if request.method == "POST":
to_save = request.form.to_dict()
content = ub.session.query(ub.Settings).first() # type: ub.Settings
@ -2509,37 +2535,36 @@ def configuration_helper(origin):
content.config_calibre_dir = to_save["config_calibre_dir"]
db_change = True
# Google drive setup
create_new_yaml = False
if "config_google_drive_client_id" in to_save:
if content.config_google_drive_client_id != to_save["config_google_drive_client_id"]:
content.config_google_drive_client_id = to_save["config_google_drive_client_id"]
create_new_yaml = True
if "config_google_drive_client_secret" in to_save:
if content.config_google_drive_client_secret != to_save["config_google_drive_client_secret"]:
content.config_google_drive_client_secret = to_save["config_google_drive_client_secret"]
create_new_yaml = True
if "config_google_drive_calibre_url_base" in to_save:
if to_save['config_google_drive_calibre_url_base'].endswith('/'):
to_save['config_google_drive_calibre_url_base'] = to_save['config_google_drive_calibre_url_base'][:-1]
if content.config_google_drive_calibre_url_base != to_save["config_google_drive_calibre_url_base"]:
content.config_google_drive_calibre_url_base = to_save["config_google_drive_calibre_url_base"]
create_new_yaml = True
if ("config_use_google_drive" in to_save and not content.config_use_google_drive) or ("config_use_google_drive" not in to_save and content.config_use_google_drive):
if "config_use_google_drive" in to_save and not content.config_use_google_drive and not gdriveError:
if filedata:
if filedata['web']['redirect_uris'][0].endswith('/'):
filedata['web']['redirect_uris'][0] = filedata['web']['redirect_uris'][0][:-1]
with open('settings.yaml', 'w') as f:
yaml = "client_config_backend: settings\nclient_config:\n" \
" client_id: %(client_id)s\n client_secret: %(client_secret)s\n" \
" redirect_uri: %(redirect_uri)s\nsave_credentials: True\n" \
"save_credentials_backend: file\nsave_credentials_file: gdrive_credentials\n" \
"get_refresh_token: True\n\noauth_scope:\n" \
"- https://www.googleapis.com/auth/drive\n"
f.write(yaml % {'client_id': filedata['web']['client_id'],
'client_secret': filedata['web']['client_secret'],
'redirect_uri': filedata['web']['redirect_uris'][0]})
else:
flash(_(u'client_secret.json is not configured for web application'), category="error")
return render_title_template("config_edit.html", content=config, origin=origin,
gdrive=gdrive_support, gdriveError=gdriveError,
goodreads=goodreads_support, title=_(u"Basic Configuration"))
# always show google drive settings, but in case of error deny support
if (("config_use_google_drive" in to_save and not content.config_use_google_drive) or
("config_use_google_drive" not in to_save and content.config_use_google_drive)) and not gdriveError:
content.config_use_google_drive = "config_use_google_drive" in to_save
db_change = True
if not content.config_use_google_drive:
create_new_yaml = False
if create_new_yaml:
with open('settings.yaml', 'w') as f:
with open('gdrive_template.yaml', 'r') as t:
f.write(t.read() % {'client_id': content.config_google_drive_client_id,
'client_secret': content.config_google_drive_client_secret,
"redirect_uri": content.config_google_drive_calibre_url_base + '/gdrive/callback'})
else:
content.config_use_google_drive = 0
if "config_google_drive_folder" in to_save:
if content.config_google_drive_folder != to_save["config_google_drive_folder"]:
content.config_google_drive_folder = to_save["config_google_drive_folder"]
db_change = True
##
gdriveutils.deleteDatabaseOnChange()
if "config_port" in to_save:
if content.config_port != int(to_save["config_port"]):
content.config_port = int(to_save["config_port"])
@ -2553,7 +2578,7 @@ def configuration_helper(origin):
ub.session.commit()
flash(_(u'Keyfile location is not valid, please enter correct path'), category="error")
return render_title_template("config_edit.html", content=config, origin=origin,
gdrive=gdrive_support,
gdrive=gdrive_support, gdriveError=gdriveError,
goodreads=goodreads_support, title=_(u"Basic Configuration"))
if "config_certfile" in to_save:
if content.config_certfile != to_save["config_certfile"]:
@ -2564,7 +2589,7 @@ def configuration_helper(origin):
ub.session.commit()
flash(_(u'Certfile location is not valid, please enter correct path'), category="error")
return render_title_template("config_edit.html", content=config, origin=origin,
gdrive=gdrive_support,
gdrive=gdrive_support, gdriveError=gdriveError,
goodreads=goodreads_support, title=_(u"Basic Configuration"))
if "config_calibre_web_title" in to_save:
content.config_calibre_web_title = to_save["config_calibre_web_title"]
@ -2657,7 +2682,7 @@ def configuration_helper(origin):
ub.session.commit()
flash(_(u'Logfile location is not valid, please enter correct path'), category="error")
return render_title_template("config_edit.html", content=config, origin=origin,
gdrive=gdrive_support,
gdrive=gdrive_support, gdriveError=gdriveError,
goodreads=goodreads_support, title=_(u"Basic Configuration"))
else:
content.config_logfile = to_save["config_logfile"]
@ -2677,12 +2702,14 @@ def configuration_helper(origin):
except e:
flash(e, category="error")
return render_title_template("config_edit.html", content=config, origin=origin, gdrive=gdrive_support,
gdriveError=gdriveError,
goodreads=goodreads_support, title=_(u"Basic Configuration"))
if db_change:
reload(db)
if not db.setup_db():
flash(_(u'DB location is not valid, please enter correct path'), category="error")
return render_title_template("config_edit.html", content=config, origin=origin, gdrive=gdrive_support,
gdriveError=gdriveError,
goodreads=goodreads_support, title=_(u"Basic Configuration"))
if reboot_required:
# db.engine.dispose() # ToDo verify correct
@ -2695,8 +2722,13 @@ def configuration_helper(origin):
app.logger.info('Reboot required, restarting')
if origin:
success = True
if is_gdrive_ready():
gdrivefolders=gdriveutils.listRootFolders()
else:
gdrivefolders=None
return render_title_template("config_edit.html", origin=origin, success=success, content=config,
show_authenticate_google_drive=not is_gdrive_ready(), gdrive=gdrive_support,
gdriveError=gdriveError, gdrivefolders=gdrivefolders,
goodreads=goodreads_support, title=_(u"Basic Configuration"))
@ -3351,7 +3383,7 @@ def upload():
else:
return redirect(url_for("index"))
def start_gevent():
'''def start_gevent():
from gevent.wsgi import WSGIServer
global gevent_server
try:
@ -3366,4 +3398,4 @@ def start_gevent():
gevent_server = WSGIServer(('0.0.0.0', ub.config.config_port), app, **ssl_args)
gevent_server.serve_forever()
except:
pass
pass'''

View File

@ -1,14 +0,0 @@
client_config_backend: settings
client_config:
client_id: %(client_id)s
client_secret: %(client_secret)s
redirect_uri: %(redirect_uri)s
save_credentials: True
save_credentials_backend: file
save_credentials_file: gdrive_credentials
get_refresh_token: True
oauth_scope:
- https://www.googleapis.com/auth/drive

View File

@ -1,3 +0,0 @@
#!/bin/bash -e
pip install --target ./vendor -r requirements.txt

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2018-04-02 09:35+0200\n"
"POT-Creation-Date: 2018-06-02 10:45+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -21,57 +21,57 @@ msgstr ""
msgid "not installed"
msgstr ""
#: cps/helper.py:78
#: cps/helper.py:79
#, python-format
msgid "kindlegen binary %(kindlepath)s not found"
msgstr ""
#: cps/helper.py:84
#: cps/helper.py:85
#, python-format
msgid "epub format not found for book id: %(book)d"
msgstr ""
#: cps/helper.py:94
#: cps/helper.py:95
msgid "kindlegen failed, no execution permissions"
msgstr ""
#: cps/helper.py:109
#: cps/helper.py:110
#, python-format
msgid "Kindlegen failed with Error %(error)s. Message: %(message)s"
msgstr ""
#: cps/helper.py:188
#: cps/helper.py:189
#, python-format
msgid "Failed to send mail: %s"
msgstr ""
#: cps/helper.py:195
#: cps/helper.py:196
msgid "Calibre-web test email"
msgstr ""
#: cps/helper.py:196 cps/helper.py:208
#: cps/helper.py:197 cps/helper.py:209
msgid "This email has been sent via calibre web."
msgstr ""
#: cps/helper.py:205 cps/templates/detail.html:44
#: cps/helper.py:206 cps/templates/detail.html:44
msgid "Send to Kindle"
msgstr ""
#: cps/helper.py:225 cps/helper.py:239
#: cps/helper.py:226 cps/helper.py:240
msgid "Could not find any formats suitable for sending by email"
msgstr ""
#: cps/helper.py:340
#: cps/helper.py:341
#, python-format
msgid "Rename title from: \"%s\" to \"%s\" failed with error: %s"
msgstr ""
#: cps/helper.py:349
#: cps/helper.py:350
#, python-format
msgid "Rename author from: \"%s\" to \"%s\" failed with error: %s"
msgstr ""
#: cps/ub.py:684
#: cps/ub.py:694
msgid "Guest"
msgstr ""
@ -139,7 +139,7 @@ msgstr ""
msgid "Author list"
msgstr ""
#: cps/web.py:1220 cps/web.py:1278 cps/web.py:1408 cps/web.py:1903
#: cps/web.py:1220 cps/web.py:1278 cps/web.py:1408 cps/web.py:1917
msgid "Error opening eBook. File does not exist or file is not accessible:"
msgstr ""
@ -178,306 +178,326 @@ msgstr ""
msgid "Statistics"
msgstr ""
#: cps/web.py:1641
#: cps/web.py:1573
msgid "Callback domain is not verified, please follow steps to verify domain in google developer console"
msgstr ""
#: cps/web.py:1651
msgid "Server restarted, please reload page"
msgstr ""
#: cps/web.py:1643
#: cps/web.py:1653
msgid "Performing shutdown of server, please close window"
msgstr ""
#: cps/web.py:1659
#: cps/web.py:1669
msgid "Update done"
msgstr ""
#: cps/web.py:1716
#: cps/web.py:1726
#, python-format
msgid "Published after %s"
msgstr ""
#: cps/web.py:1721
#: cps/web.py:1731
msgid "Published before "
msgstr ""
#: cps/web.py:1767 cps/web.py:1780
#: cps/web.py:1777 cps/web.py:1790
msgid "search"
msgstr ""
#: cps/web.py:1816
msgid "not found on GDrive"
msgstr ""
#: cps/templates/index.xml:39 cps/templates/index.xml:42
#: cps/templates/layout.html:141 cps/web.py:1858
#: cps/templates/layout.html:143 cps/web.py:1872
msgid "Read Books"
msgstr ""
#: cps/templates/index.xml:46 cps/templates/index.xml:49
#: cps/templates/layout.html:143 cps/web.py:1861
#: cps/templates/layout.html:145 cps/web.py:1875
msgid "Unread Books"
msgstr ""
#: cps/web.py:1936 cps/web.py:1938 cps/web.py:1940 cps/web.py:1949
#: cps/web.py:1950 cps/web.py:1952 cps/web.py:1954 cps/web.py:1963
msgid "Read a Book"
msgstr ""
#: cps/web.py:2001 cps/web.py:2718
#: cps/web.py:2015 cps/web.py:2751
msgid "Please fill out all fields!"
msgstr ""
#: cps/web.py:2002 cps/web.py:2019 cps/web.py:2024 cps/web.py:2026
#: cps/web.py:2016 cps/web.py:2033 cps/web.py:2038 cps/web.py:2040
msgid "register"
msgstr ""
#: cps/web.py:2018
#: cps/web.py:2032
msgid "An unknown error occured. Please try again later."
msgstr ""
#: cps/web.py:2023
#: cps/web.py:2037
msgid "This username or email address is already in use."
msgstr ""
#: cps/web.py:2042 cps/web.py:2138
#: cps/web.py:2056 cps/web.py:2152
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr ""
#: cps/web.py:2047
#: cps/web.py:2061
msgid "Wrong Username or Password"
msgstr ""
#: cps/web.py:2053 cps/web.py:2074
#: cps/web.py:2067 cps/web.py:2088
msgid "login"
msgstr ""
#: cps/web.py:2086 cps/web.py:2117
#: cps/web.py:2100 cps/web.py:2131
msgid "Token not found"
msgstr ""
#: cps/web.py:2094 cps/web.py:2125
#: cps/web.py:2108 cps/web.py:2139
msgid "Token has expired"
msgstr ""
#: cps/web.py:2102
#: cps/web.py:2116
msgid "Success! Please return to your device"
msgstr ""
#: cps/web.py:2152
#: cps/web.py:2166
msgid "Please configure the SMTP mail settings first..."
msgstr ""
#: cps/web.py:2156
#: cps/web.py:2170
#, python-format
msgid "Book successfully send to %(kindlemail)s"
msgstr ""
#: cps/web.py:2160
#: cps/web.py:2174
#, python-format
msgid "There was an error sending this book: %(res)s"
msgstr ""
#: cps/web.py:2162 cps/web.py:2805
#: cps/web.py:2176 cps/web.py:2839
msgid "Please configure your kindle email address first..."
msgstr ""
#: cps/web.py:2206
#: cps/web.py:2220
#, python-format
msgid "Book has been added to shelf: %(sname)s"
msgstr ""
#: cps/web.py:2244
#: cps/web.py:2258
#, python-format
msgid "Book has been removed from shelf: %(sname)s"
msgstr ""
#: cps/web.py:2250
#: cps/web.py:2264
#, python-format
msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s"
msgstr ""
#: cps/web.py:2270 cps/web.py:2294
#: cps/web.py:2284 cps/web.py:2308
#, python-format
msgid "A shelf with the name '%(title)s' already exists."
msgstr ""
#: cps/web.py:2275
#: cps/web.py:2289
#, python-format
msgid "Shelf %(title)s created"
msgstr ""
#: cps/web.py:2277 cps/web.py:2305
#: cps/web.py:2291 cps/web.py:2319
msgid "There was an error"
msgstr ""
#: cps/web.py:2278 cps/web.py:2280
#: cps/web.py:2292 cps/web.py:2294
msgid "create a shelf"
msgstr ""
#: cps/web.py:2303
#: cps/web.py:2317
#, python-format
msgid "Shelf %(title)s changed"
msgstr ""
#: cps/web.py:2306 cps/web.py:2308
#: cps/web.py:2320 cps/web.py:2322
msgid "Edit a shelf"
msgstr ""
#: cps/web.py:2329
#: cps/web.py:2343
#, python-format
msgid "successfully deleted shelf %(name)s"
msgstr ""
#: cps/web.py:2351
#: cps/web.py:2365
#, python-format
msgid "Shelf: '%(name)s'"
msgstr ""
#: cps/web.py:2354
#: cps/web.py:2368
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr ""
#: cps/web.py:2385
#: cps/web.py:2399
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr ""
#: cps/web.py:2454
#: cps/web.py:2469
msgid "Found an existing account for this email address."
msgstr ""
#: cps/web.py:2456 cps/web.py:2460
#: cps/web.py:2471 cps/web.py:2475
#, python-format
msgid "%(name)s's profile"
msgstr ""
#: cps/web.py:2457
#: cps/web.py:2472
msgid "Profile updated"
msgstr ""
#: cps/web.py:2469
#: cps/web.py:2484
msgid "Unknown"
msgstr ""
#: cps/web.py:2482
#: cps/web.py:2497
msgid "Admin page"
msgstr ""
#: cps/web.py:2553
msgid "Keyfile location is not valid, please enter correct path"
#: cps/web.py:2520
msgid "Import of optional GDrive requirements missing"
msgstr ""
#: cps/web.py:2556 cps/web.py:2567 cps/web.py:2660 cps/web.py:2679
#: cps/web.py:2685 cps/web.py:2699
#: cps/web.py:2523
msgid "client_secret.json is missing or not readable"
msgstr ""
#: cps/web.py:2528 cps/web.py:2553
msgid "client_secret.json is not configured for web application"
msgstr ""
#: cps/web.py:2556 cps/web.py:2582 cps/web.py:2593 cps/web.py:2686
#: cps/web.py:2706 cps/web.py:2713 cps/web.py:2732
msgid "Basic Configuration"
msgstr ""
#: cps/web.py:2564
#: cps/web.py:2579
msgid "Keyfile location is not valid, please enter correct path"
msgstr ""
#: cps/web.py:2590
msgid "Certfile location is not valid, please enter correct path"
msgstr ""
#: cps/web.py:2657
#: cps/web.py:2683
msgid "Logfile location is not valid, please enter correct path"
msgstr ""
#: cps/web.py:2672
#: cps/web.py:2698
msgid "Calibre-web configuration updated"
msgstr ""
#: cps/web.py:2683
#: cps/web.py:2710
msgid "DB location is not valid, please enter correct path"
msgstr ""
#: cps/templates/admin.html:34 cps/web.py:2720 cps/web.py:2775
#: cps/templates/admin.html:34 cps/web.py:2753 cps/web.py:2809
msgid "Add new user"
msgstr ""
#: cps/web.py:2765
#: cps/web.py:2799
#, python-format
msgid "User '%(user)s' created"
msgstr ""
#: cps/web.py:2769
#: cps/web.py:2803
msgid "Found an existing account for this email address or nickname."
msgstr ""
#: cps/web.py:2793
#: cps/web.py:2827
msgid "Mail settings updated"
msgstr ""
#: cps/web.py:2800
#: cps/web.py:2834
#, python-format
msgid "Test E-Mail successfully send to %(kindlemail)s"
msgstr ""
#: cps/web.py:2803
#: cps/web.py:2837
#, python-format
msgid "There was an error sending the Test E-Mail: %(res)s"
msgstr ""
#: cps/web.py:2807
#: cps/web.py:2841
msgid "E-Mail settings updated"
msgstr ""
#: cps/web.py:2808
#: cps/web.py:2842
msgid "Edit mail settings"
msgstr ""
#: cps/web.py:2837
#: cps/web.py:2871
#, python-format
msgid "User '%(nick)s' deleted"
msgstr ""
#: cps/web.py:2945
#: cps/web.py:2980
#, python-format
msgid "User '%(nick)s' updated"
msgstr ""
#: cps/web.py:2948
#: cps/web.py:2983
msgid "An unknown error occured."
msgstr ""
#: cps/web.py:2951
#: cps/web.py:2986
#, python-format
msgid "Edit User %(nick)s"
msgstr ""
#: cps/web.py:2967
#: cps/web.py:3002
msgid "Error opening eBook. File does not exist or file is not accessible"
msgstr ""
#: cps/web.py:2982 cps/web.py:3193 cps/web.py:3198 cps/web.py:3344
#: cps/web.py:3017 cps/web.py:3228 cps/web.py:3233 cps/web.py:3379
msgid "edit metadata"
msgstr ""
#: cps/web.py:2992 cps/web.py:3238
#: cps/web.py:3027 cps/web.py:3273
#, python-format
msgid "File extension \"%s\" is not allowed to be uploaded to this server"
msgstr ""
#: cps/web.py:3003
#: cps/web.py:3038
#, python-format
msgid "Failed to store file %s."
msgstr ""
#: cps/web.py:3025 cps/web.py:3029
#: cps/web.py:3060 cps/web.py:3064
msgid "unknown"
msgstr ""
#: cps/web.py:3052
#: cps/web.py:3087
msgid "Cover is not a jpg file, can't save"
msgstr ""
#: cps/web.py:3244
#: cps/web.py:3279
msgid "File to be uploaded must have an extension"
msgstr ""
#: cps/web.py:3263
#: cps/web.py:3298
#, python-format
msgid "Failed to create path %s (Permission denied)."
msgstr ""
#: cps/web.py:3268
#: cps/web.py:3303
#, python-format
msgid "Failed to store file %s (Permission denied)."
msgstr ""
#: cps/web.py:3273
#: cps/web.py:3308
#, python-format
msgid "Failed to delete file %s (Permission denied)."
msgstr ""
@ -502,7 +522,7 @@ msgstr ""
msgid "DLS"
msgstr ""
#: cps/templates/admin.html:12 cps/templates/layout.html:69
#: cps/templates/admin.html:12 cps/templates/layout.html:71
msgid "Admin"
msgstr ""
@ -511,7 +531,7 @@ msgstr ""
msgid "Download"
msgstr ""
#: cps/templates/admin.html:14 cps/templates/layout.html:62
#: cps/templates/admin.html:14 cps/templates/layout.html:64
msgid "Upload"
msgstr ""
@ -563,7 +583,7 @@ msgstr ""
msgid "Calibre DB dir"
msgstr ""
#: cps/templates/admin.html:61 cps/templates/config_edit.html:91
#: cps/templates/admin.html:61 cps/templates/config_edit.html:87
msgid "Log Level"
msgstr ""
@ -571,7 +591,7 @@ msgstr ""
msgid "Port"
msgstr ""
#: cps/templates/admin.html:63 cps/templates/config_edit.html:68
#: cps/templates/admin.html:63 cps/templates/config_edit.html:64
msgid "Books per page"
msgstr ""
@ -634,9 +654,9 @@ msgstr ""
#: cps/templates/admin.html:105 cps/templates/admin.html:119
#: cps/templates/book_edit.html:135 cps/templates/book_edit.html:157
#: cps/templates/config_edit.html:223 cps/templates/email_edit.html:36
#: cps/templates/config_edit.html:219 cps/templates/email_edit.html:36
#: cps/templates/shelf.html:60 cps/templates/shelf_edit.html:19
#: cps/templates/shelf_order.html:12 cps/templates/user_edit.html:139
#: cps/templates/shelf_order.html:12 cps/templates/user_edit.html:147
msgid "Back"
msgstr ""
@ -682,7 +702,7 @@ msgstr ""
msgid "Tags"
msgstr ""
#: cps/templates/book_edit.html:39 cps/templates/layout.html:152
#: cps/templates/book_edit.html:39 cps/templates/layout.html:154
#: cps/templates/search_form.html:54
msgid "Series"
msgstr ""
@ -727,9 +747,9 @@ msgstr ""
msgid "Get metadata"
msgstr ""
#: cps/templates/book_edit.html:134 cps/templates/config_edit.html:221
#: cps/templates/book_edit.html:134 cps/templates/config_edit.html:217
#: cps/templates/login.html:20 cps/templates/search_form.html:96
#: cps/templates/shelf_edit.html:17 cps/templates/user_edit.html:137
#: cps/templates/shelf_edit.html:17 cps/templates/user_edit.html:145
msgid "Submit"
msgstr ""
@ -757,7 +777,7 @@ msgstr ""
msgid " Search keyword "
msgstr ""
#: cps/templates/book_edit.html:175 cps/templates/layout.html:44
#: cps/templates/book_edit.html:175 cps/templates/layout.html:46
msgid "Go!"
msgstr ""
@ -769,7 +789,7 @@ msgstr ""
msgid "Loading..."
msgstr ""
#: cps/templates/book_edit.html:196 cps/templates/layout.html:216
#: cps/templates/book_edit.html:196 cps/templates/layout.html:218
msgid "Close"
msgstr ""
@ -794,184 +814,180 @@ msgstr ""
msgid "Location of Calibre database"
msgstr ""
#: cps/templates/config_edit.html:13
#: cps/templates/config_edit.html:12
msgid "Use google drive?"
msgstr ""
#: cps/templates/config_edit.html:17
msgid "Client id"
#: cps/templates/config_edit.html:18
msgid "Google drive config problem"
msgstr ""
#: cps/templates/config_edit.html:21
msgid "Client secret"
msgstr ""
#: cps/templates/config_edit.html:25
msgid "Calibre Base URL"
msgstr ""
#: cps/templates/config_edit.html:29
#: cps/templates/config_edit.html:28
msgid "Google drive Calibre folder"
msgstr ""
#: cps/templates/config_edit.html:38
#: cps/templates/config_edit.html:36
msgid "Metadata Watch Channel ID"
msgstr ""
#: cps/templates/config_edit.html:52
#: cps/templates/config_edit.html:39
msgid "Revoke"
msgstr ""
#: cps/templates/config_edit.html:48
msgid "Server Port"
msgstr ""
#: cps/templates/config_edit.html:56
#: cps/templates/config_edit.html:52
msgid "SSL certfile location (leave it empty for non-SSL Servers)"
msgstr ""
#: cps/templates/config_edit.html:60
#: cps/templates/config_edit.html:56
msgid "SSL Keyfile location (leave it empty for non-SSL Servers)"
msgstr ""
#: cps/templates/config_edit.html:64 cps/templates/layout.html:128
#: cps/templates/layout.html:129 cps/templates/shelf_edit.html:7
#: cps/templates/config_edit.html:60 cps/templates/layout.html:130
#: cps/templates/layout.html:131 cps/templates/shelf_edit.html:7
msgid "Title"
msgstr ""
#: cps/templates/config_edit.html:72
#: cps/templates/config_edit.html:68
msgid "No. of random books to show"
msgstr ""
#: cps/templates/config_edit.html:76
#: cps/templates/config_edit.html:72
msgid "Regular expression for ignoring columns"
msgstr ""
#: cps/templates/config_edit.html:80
#: cps/templates/config_edit.html:76
msgid "Regular expression for title sorting"
msgstr ""
#: cps/templates/config_edit.html:84
#: cps/templates/config_edit.html:80
msgid "Tags for Mature Content"
msgstr ""
#: cps/templates/config_edit.html:100
#: cps/templates/config_edit.html:96
msgid "Location and name of logfile (calibre-web.log for no entry)"
msgstr ""
#: cps/templates/config_edit.html:106
#: cps/templates/config_edit.html:102
msgid "Enable uploading"
msgstr ""
#: cps/templates/config_edit.html:110
#: cps/templates/config_edit.html:106
msgid "Enable anonymous browsing"
msgstr ""
#: cps/templates/config_edit.html:114
#: cps/templates/config_edit.html:110
msgid "Enable public registration"
msgstr ""
#: cps/templates/config_edit.html:118
#: cps/templates/config_edit.html:114
msgid "Enable remote login (\"magic link\")"
msgstr ""
#: cps/templates/config_edit.html:123
#: cps/templates/config_edit.html:119
msgid "Use"
msgstr ""
#: cps/templates/config_edit.html:124
#: cps/templates/config_edit.html:120
msgid "Obtain an API Key"
msgstr ""
#: cps/templates/config_edit.html:128
#: cps/templates/config_edit.html:124
msgid "Goodreads API Key"
msgstr ""
#: cps/templates/config_edit.html:132
#: cps/templates/config_edit.html:128
msgid "Goodreads API Secret"
msgstr ""
#: cps/templates/config_edit.html:137
#: cps/templates/config_edit.html:133
msgid "Default Settings for new users"
msgstr ""
#: cps/templates/config_edit.html:140 cps/templates/user_edit.html:94
#: cps/templates/config_edit.html:136 cps/templates/user_edit.html:102
msgid "Admin user"
msgstr ""
#: cps/templates/config_edit.html:144 cps/templates/user_edit.html:103
#: cps/templates/config_edit.html:140 cps/templates/user_edit.html:111
msgid "Allow Downloads"
msgstr ""
#: cps/templates/config_edit.html:148 cps/templates/user_edit.html:107
#: cps/templates/config_edit.html:144 cps/templates/user_edit.html:115
msgid "Allow Uploads"
msgstr ""
#: cps/templates/config_edit.html:152 cps/templates/user_edit.html:111
#: cps/templates/config_edit.html:148 cps/templates/user_edit.html:119
msgid "Allow Edit"
msgstr ""
#: cps/templates/config_edit.html:156 cps/templates/user_edit.html:115
#: cps/templates/config_edit.html:152 cps/templates/user_edit.html:123
msgid "Allow Delete books"
msgstr ""
#: cps/templates/config_edit.html:160 cps/templates/user_edit.html:120
#: cps/templates/config_edit.html:156 cps/templates/user_edit.html:128
msgid "Allow Changing Password"
msgstr ""
#: cps/templates/config_edit.html:164 cps/templates/user_edit.html:124
#: cps/templates/config_edit.html:160 cps/templates/user_edit.html:132
msgid "Allow Editing Public Shelfs"
msgstr ""
#: cps/templates/config_edit.html:168
#: cps/templates/config_edit.html:164
msgid "Default visiblities for new users"
msgstr ""
#: cps/templates/config_edit.html:172 cps/templates/user_edit.html:46
#: cps/templates/config_edit.html:168 cps/templates/user_edit.html:54
msgid "Show random books"
msgstr ""
#: cps/templates/config_edit.html:176 cps/templates/user_edit.html:50
#: cps/templates/config_edit.html:172 cps/templates/user_edit.html:58
msgid "Show recent books"
msgstr ""
#: cps/templates/config_edit.html:180 cps/templates/user_edit.html:54
#: cps/templates/config_edit.html:176 cps/templates/user_edit.html:62
msgid "Show sorted books"
msgstr ""
#: cps/templates/config_edit.html:184 cps/templates/user_edit.html:58
#: cps/templates/config_edit.html:180 cps/templates/user_edit.html:66
msgid "Show hot books"
msgstr ""
#: cps/templates/config_edit.html:188 cps/templates/user_edit.html:62
#: cps/templates/config_edit.html:184 cps/templates/user_edit.html:70
msgid "Show best rated books"
msgstr ""
#: cps/templates/config_edit.html:192 cps/templates/user_edit.html:66
#: cps/templates/config_edit.html:188 cps/templates/user_edit.html:74
msgid "Show language selection"
msgstr ""
#: cps/templates/config_edit.html:196 cps/templates/user_edit.html:70
#: cps/templates/config_edit.html:192 cps/templates/user_edit.html:78
msgid "Show series selection"
msgstr ""
#: cps/templates/config_edit.html:200 cps/templates/user_edit.html:74
#: cps/templates/config_edit.html:196 cps/templates/user_edit.html:82
msgid "Show category selection"
msgstr ""
#: cps/templates/config_edit.html:204 cps/templates/user_edit.html:78
#: cps/templates/config_edit.html:200 cps/templates/user_edit.html:86
msgid "Show author selection"
msgstr ""
#: cps/templates/config_edit.html:208 cps/templates/user_edit.html:82
#: cps/templates/config_edit.html:204 cps/templates/user_edit.html:90
msgid "Show read and unread"
msgstr ""
#: cps/templates/config_edit.html:212 cps/templates/user_edit.html:86
#: cps/templates/config_edit.html:208 cps/templates/user_edit.html:94
msgid "Show random books in detail view"
msgstr ""
#: cps/templates/config_edit.html:216 cps/templates/user_edit.html:99
#: cps/templates/config_edit.html:212 cps/templates/user_edit.html:107
msgid "Show mature content"
msgstr ""
#: cps/templates/config_edit.html:226 cps/templates/layout.html:77
#: cps/templates/config_edit.html:222 cps/templates/layout.html:79
#: cps/templates/login.html:4
msgid "Login"
msgstr ""
@ -1040,12 +1056,12 @@ msgstr ""
msgid "Save settings and send Test E-Mail"
msgstr ""
#: cps/templates/feed.xml:20 cps/templates/layout.html:200
#: cps/templates/feed.xml:20 cps/templates/layout.html:202
msgid "Next"
msgstr ""
#: cps/templates/feed.xml:29 cps/templates/index.xml:7
#: cps/templates/layout.html:41 cps/templates/layout.html:42
#: cps/templates/layout.html:43 cps/templates/layout.html:44
msgid "Search"
msgstr ""
@ -1057,7 +1073,7 @@ msgstr ""
msgid "Start"
msgstr ""
#: cps/templates/index.xml:14 cps/templates/layout.html:134
#: cps/templates/index.xml:14 cps/templates/layout.html:136
msgid "Hot Books"
msgstr ""
@ -1065,7 +1081,7 @@ msgstr ""
msgid "Popular publications from this catalog based on Downloads."
msgstr ""
#: cps/templates/index.xml:20 cps/templates/layout.html:137
#: cps/templates/index.xml:20 cps/templates/layout.html:139
msgid "Best rated Books"
msgstr ""
@ -1085,7 +1101,7 @@ msgstr ""
msgid "Show Random Books"
msgstr ""
#: cps/templates/index.xml:52 cps/templates/layout.html:155
#: cps/templates/index.xml:52 cps/templates/layout.html:157
msgid "Authors"
msgstr ""
@ -1101,7 +1117,7 @@ msgstr ""
msgid "Books ordered by series"
msgstr ""
#: cps/templates/index.xml:70 cps/templates/layout.html:161
#: cps/templates/index.xml:70 cps/templates/layout.html:163
msgid "Public Shelves"
msgstr ""
@ -1109,7 +1125,7 @@ msgstr ""
msgid "Books organized in public shelfs, visible to everyone"
msgstr ""
#: cps/templates/index.xml:77 cps/templates/layout.html:165
#: cps/templates/index.xml:77 cps/templates/layout.html:167
msgid "Your Shelves"
msgstr ""
@ -1117,88 +1133,88 @@ msgstr ""
msgid "User's own shelfs, only visible to the current user himself"
msgstr ""
#: cps/templates/layout.html:31
#: cps/templates/layout.html:33
msgid "Toggle navigation"
msgstr ""
#: cps/templates/layout.html:52
#: cps/templates/layout.html:54
msgid "Advanced Search"
msgstr ""
#: cps/templates/layout.html:73
#: cps/templates/layout.html:75
msgid "Logout"
msgstr ""
#: cps/templates/layout.html:78 cps/templates/register.html:18
#: cps/templates/layout.html:80 cps/templates/register.html:18
msgid "Register"
msgstr ""
#: cps/templates/layout.html:103
#: cps/templates/layout.html:105
msgid "Uploading..."
msgstr ""
#: cps/templates/layout.html:104
#: cps/templates/layout.html:106
msgid "please don't refresh the page"
msgstr ""
#: cps/templates/layout.html:115
#: cps/templates/layout.html:117
msgid "Browse"
msgstr ""
#: cps/templates/layout.html:117
#: cps/templates/layout.html:119
msgid "Recently Added"
msgstr ""
#: cps/templates/layout.html:122
#: cps/templates/layout.html:124
msgid "Sorted Books"
msgstr ""
#: cps/templates/layout.html:126 cps/templates/layout.html:127
#: cps/templates/layout.html:128 cps/templates/layout.html:129
#: cps/templates/layout.html:130 cps/templates/layout.html:131
msgid "Sort By"
msgstr ""
#: cps/templates/layout.html:126
#: cps/templates/layout.html:128
msgid "Newest"
msgstr ""
#: cps/templates/layout.html:127
#: cps/templates/layout.html:129
msgid "Oldest"
msgstr ""
#: cps/templates/layout.html:128
#: cps/templates/layout.html:130
msgid "Ascending"
msgstr ""
#: cps/templates/layout.html:129
#: cps/templates/layout.html:131
msgid "Descending"
msgstr ""
#: cps/templates/layout.html:146
#: cps/templates/layout.html:148
msgid "Discover"
msgstr ""
#: cps/templates/layout.html:149
#: cps/templates/layout.html:151
msgid "Categories"
msgstr ""
#: cps/templates/layout.html:158 cps/templates/search_form.html:75
#: cps/templates/layout.html:160 cps/templates/search_form.html:75
msgid "Languages"
msgstr ""
#: cps/templates/layout.html:170
#: cps/templates/layout.html:172
msgid "Create a Shelf"
msgstr ""
#: cps/templates/layout.html:171 cps/templates/stats.html:3
#: cps/templates/layout.html:173 cps/templates/stats.html:3
msgid "About"
msgstr ""
#: cps/templates/layout.html:185
#: cps/templates/layout.html:187
msgid "Previous"
msgstr ""
#: cps/templates/layout.html:212
#: cps/templates/layout.html:214
msgid "Book Details"
msgstr ""
@ -1369,18 +1385,30 @@ msgid "Kindle E-Mail"
msgstr ""
#: cps/templates/user_edit.html:35
msgid "Show books with language"
msgid "Theme"
msgstr ""
#: cps/templates/user_edit.html:37
msgid "Standard Theme"
msgstr ""
#: cps/templates/user_edit.html:38
msgid "caliBlur! Dark Theme (Beta)"
msgstr ""
#: cps/templates/user_edit.html:43
msgid "Show books with language"
msgstr ""
#: cps/templates/user_edit.html:45
msgid "Show all"
msgstr ""
#: cps/templates/user_edit.html:131
#: cps/templates/user_edit.html:139
msgid "Delete this user"
msgstr ""
#: cps/templates/user_edit.html:146
#: cps/templates/user_edit.html:154
msgid "Recent Downloads"
msgstr ""

View File

@ -1,15 +1,18 @@
gevent==1.2.1
# GDrive Integration
google-api-python-client==1.6.1
gevent==1.2.1
greenlet==0.4.12
httplib2==0.9.2
lxml==3.7.2
oauth2client==4.0.0
uritemplate==3.0.0
pyasn1-modules==0.0.8
pyasn1==0.1.9
PyDrive==1.3.1
PyYAML==3.12
rsa==3.4.2
six==1.10.0
uritemplate==3.0.0
# goodreads
goodreads>=0.3.2
python-Levenshtein>=0.12.0
# other
lxml==3.7.2

View File

@ -88,22 +88,22 @@ Once a project has been created, we need to create a client ID and a client secr
The Drive API should now be setup and ready to use, so we need to integrate it into Calibre-Web. This is done as below: -
1. Open config page
2. Enter the location that will be used to store the metadata.db file, and to temporary store uploaded books and other temporary files for upload
2. Enter the location that will be used to store the metadata.db file locally, and to temporary store uploaded books and other temporary files for upload ("Location of Calibre database")
2. Tick Use Google Drive
3. Enter Client Secret and Client Key as provided via previous steps
4. Enter the folder that is the root of your calibre library
5. Enter base URL for calibre-web (used for google callbacks)
6. Click the "Submit" button
7. Come back to the configuration form
8. Now select Authenticate Google Drive
9. This should redirect you to google to allow it top use your Drive, and then redirect you back to the config page
10. Google Drive should now be connected and be used to get images and download Epubs. The metadata.db is stored in the calibre library location
3. Click the "Submit" button
4. Now select Authenticate Google Drive
5. This should redirect you to Google to allow it top use your Drive, and then redirect you back to the config page
6. Select the folder that is the root of your calibre library on Gdrive ("Google drive Calibre folder")
7. Click the "Submit" button
8. Google Drive should now be connected and be used to get images and download Epubs. The metadata.db is stored in the calibre library location
### Optional
If your calibre web is using https, it is possible to add a "watch" to the drive. This will inform us if the metadata.db file is updated and allow us to update our calibre library accordingly.
Additionally the public adress your server uses (e.g.https://example.com) has to be verified in the Google developer console. After this is done, please wait a few minutes.
11. Click enable watch of metadata.db
12. Note that this expires after a week, so will need to be manually refresh
9. Open config page
10. Click enable watch of metadata.db
11. Note that this expires after a week, so will need to be manually refresh
## Docker image

View File

@ -1,5 +1,5 @@
Babel>=1.3
Flask-Babel==0.11.1
Flask-Babel>=0.11.1
Flask-Login>=0.3.2
Flask-Principal>=0.3.2
singledispatch>=3.4.0.0