- 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
pull/519/head
OzzieIsaacs 7 years ago
parent 43a391d1bd
commit 204cd504a9

@ -21,14 +21,11 @@ except ImportError:
gevent_present = False gevent_present = False
if __name__ == '__main__': if __name__ == '__main__':
if web.ub.DEVELOPMENT:
web.app.run(port=web.ub.config.config_port, debug=True)
else:
if gevent_present: if gevent_present:
web.app.logger.info('Attempting to start gevent') web.app.logger.info('Attempting to start gevent')
web.start_gevent() web.start_gevent()
else: else:
web.app.logger.info('Falling back to Tornado') web.app.logger.info('Starting Tornado webserver')
# Max Buffersize set to 200MB # Max Buffersize set to 200MB
if web.ub.config.get_config_certfile() and web.ub.config.get_config_keyfile(): if web.ub.config.get_config_certfile() and web.ub.config.get_config_keyfile():
ssl={"certfile": web.ub.config.get_config_certfile(), ssl={"certfile": web.ub.config.get_config_certfile(),
@ -42,7 +39,6 @@ if __name__ == '__main__':
IOLoop.instance().start() IOLoop.instance().start()
IOLoop.instance().close(True) IOLoop.instance().close(True)
if web.helper.global_task == 0: if web.helper.global_task == 0:
web.app.logger.info("Performing restart of Calibre-web") web.app.logger.info("Performing restart of Calibre-web")
if os.name == 'nt': if os.name == 'nt':

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

@ -7,47 +7,43 @@
<label for="config_calibre_dir">{{_('Location of Calibre database')}}</label> <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"> <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> </div>
{% if gdrive %}
<div class="form-group required"> <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 %} > <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> <label for="config_use_google_drive">{{_('Use google drive?')}}</label>
</div> </div>
<div data-related="gdrive_settings"> <div data-related="gdrive_settings">
<div class="form-group required"> {% if gdriveError %}
<label for="config_google_drive_client_id">{{_('Client id')}}</label> <div class="form-group">
<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"> <label>
</div> {{_('Google drive config problem')}}: {{ gdriveError }}
<div class="form-group required"> </label>
<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>
{% else %}
{% if show_authenticate_google_drive %}
<div class="form-group required"> <div class="form-group required">
<label for="config_google_drive_calibre_url_base">{{_('Calibre-web Base URL')}}</label> <a href="{{ url_for('authenticate_google_drive') }}" class="btn btn-primary">{{_('Authenticate Google Drive')}}</a>
<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>
{% else %}
<div class="form-group required"> <div class="form-group required">
<label for="config_google_drive_folder">{{_('Google drive Calibre folder')}}</label> <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> <select name="config_google_drive_folder" id="config_google_drive_folder" class="form-control">
</div> {% for gdrivefolder in gdrivefolders %}
{% if show_authenticate_google_drive %} <option value="{{ gdrivefolder.title }}" {% if gdrivefolder.title == content.config_google_drive_folder %}selected{% endif %}>{{ gdrivefolder.title }}</option>
<div class="form-group required"> {% endfor %}
<a href="{{ url_for('authenticate_google_drive') }}" class="btn btn-primary">Authenticate Google Drive</a> </select>
</div> </div>
{% else %}
{% if content.config_google_drive_watch_changes_response %} {% if content.config_google_drive_watch_changes_response %}
<label for="config_google_drive_watch_changes_response">{{_('Metadata Watch Channel ID')}}</label> <label for="config_google_drive_watch_changes_response">{{_('Metadata Watch Channel ID')}}</label>
<div class="form-group input-group required"> <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=""> <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"> <span class="input-group-btn"><a href="{{ url_for('revoke_watch_gdrive') }}" class="btn btn-primary">{{_('Revoke')}}</a></span>
<a href="{{ url_for('revoke_watch_gdrive') }}" class="btn btn-primary">Revoke</a> </div>
</span>
{% else %} {% 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 %} {% endif %}
</div>
{% endif %} {% endif %}
</div>
{% endif %} {% endif %}
</div>
<div class="form-group"> <div class="form-group">
<label for="config_port">{{_('Server Port')}}</label> <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> <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

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

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

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

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

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

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

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

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

@ -291,10 +291,10 @@ class Settings(Base):
config_default_show = Column(SmallInteger, default=2047) config_default_show = Column(SmallInteger, default=2047)
config_columns_to_ignore = Column(String) config_columns_to_ignore = Column(String)
config_use_google_drive = Column(Boolean) config_use_google_drive = Column(Boolean)
config_google_drive_client_id = Column(String) # config_google_drive_client_id = Column(String)
config_google_drive_client_secret = Column(String) # config_google_drive_client_secret = Column(String)
config_google_drive_folder = 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_google_drive_watch_changes_response = Column(String)
config_remote_login = Column(Boolean) config_remote_login = Column(Boolean)
config_use_goodreads = Column(Boolean) config_use_goodreads = Column(Boolean)
@ -352,9 +352,9 @@ class Config:
self.config_default_show = data.config_default_show self.config_default_show = data.config_default_show
self.config_columns_to_ignore = data.config_columns_to_ignore self.config_columns_to_ignore = data.config_columns_to_ignore
self.config_use_google_drive = data.config_use_google_drive 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_id = data.config_google_drive_client_id
self.config_google_drive_client_secret = data.config_google_drive_client_secret # 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_calibre_url_base = data.config_google_drive_calibre_url_base
self.config_google_drive_folder = data.config_google_drive_folder self.config_google_drive_folder = data.config_google_drive_folder
if data.config_google_drive_watch_changes_response: if data.config_google_drive_watch_changes_response:
self.config_google_drive_watch_changes_response = json.loads(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: except exc.OperationalError:
conn = engine.connect() 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_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_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_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_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_folder` String DEFAULT ''")
conn.execute("ALTER TABLE Settings ADD column `config_google_drive_watch_changes_response` String DEFAULT ''") conn.execute("ALTER TABLE Settings ADD column `config_google_drive_watch_changes_response` String DEFAULT ''")
try: try:

@ -1550,19 +1550,29 @@ def google_drive_callback():
@admin_required @admin_required
def watch_gdrive(): def watch_gdrive():
if not config.config_google_drive_watch_changes_response: 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()) notification_id = str(uuid4())
try:
result = gdriveutils.watchChange(Gdrive.Instance().drive, notification_id, result = gdriveutils.watchChange(Gdrive.Instance().drive, notification_id,
'web_hook', address, gdrive_watch_callback_token, current_milli_time() + 604800*1000) 'web_hook', address, gdrive_watch_callback_token, current_milli_time() + 604800*1000)
print (result)
settings = ub.session.query(ub.Settings).first() settings = ub.session.query(ub.Settings).first()
settings.config_google_drive_watch_changes_response = json.dumps(result) settings.config_google_drive_watch_changes_response = json.dumps(result)
ub.session.merge(settings) ub.session.merge(settings)
ub.session.commit() ub.session.commit()
settings = ub.session.query(ub.Settings).first() settings = ub.session.query(ub.Settings).first()
config.loadSettings() config.loadSettings()
except HttpError as e:
print (settings.config_google_drive_watch_changes_response) 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')) return redirect(url_for('configuration'))
@ -1800,7 +1810,11 @@ def get_cover_via_gdrive(cover_path):
@login_required_if_no_ano @login_required_if_no_ano
def get_cover(cover_path): def get_cover(cover_path):
if config.config_use_google_drive: if config.config_use_google_drive:
try:
return redirect(get_cover_via_gdrive(cover_path)) 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: else:
return send_from_directory(os.path.join(config.config_calibre_dir, cover_path), "cover.jpg") 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): def configuration_helper(origin):
# global global_task # global global_task
reboot_required = False reboot_required = False
gdriveError=None
db_change = False db_change = False
success = 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": if request.method == "POST":
to_save = request.form.to_dict() to_save = request.form.to_dict()
content = ub.session.query(ub.Settings).first() # type: ub.Settings 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"] content.config_calibre_dir = to_save["config_calibre_dir"]
db_change = True db_change = True
# Google drive setup # Google drive setup
create_new_yaml = False if "config_use_google_drive" in to_save and not content.config_use_google_drive and not gdriveError:
if "config_google_drive_client_id" in to_save: if filedata:
if content.config_google_drive_client_id != to_save["config_google_drive_client_id"]: if filedata['web']['redirect_uris'][0].endswith('/'):
content.config_google_drive_client_id = to_save["config_google_drive_client_id"] filedata['web']['redirect_uris'][0] = filedata['web']['redirect_uris'][0][:-1]
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):
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('settings.yaml', 'w') as f:
with open('gdrive_template.yaml', 'r') as t: yaml = "client_config_backend: settings\nclient_config:\n" \
f.write(t.read() % {'client_id': content.config_google_drive_client_id, " client_id: %(client_id)s\n client_secret: %(client_secret)s\n" \
'client_secret': content.config_google_drive_client_secret, " redirect_uri: %(redirect_uri)s\nsave_credentials: True\n" \
"redirect_uri": content.config_google_drive_calibre_url_base + '/gdrive/callback'}) "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
else:
content.config_use_google_drive = 0
if "config_google_drive_folder" in to_save: if "config_google_drive_folder" in to_save:
if content.config_google_drive_folder != to_save["config_google_drive_folder"]: if content.config_google_drive_folder != to_save["config_google_drive_folder"]:
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 "config_port" in to_save:
if content.config_port != int(to_save["config_port"]): if content.config_port != int(to_save["config_port"]):
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() ub.session.commit()
flash(_(u'Keyfile location is not valid, please enter correct path'), category="error") flash(_(u'Keyfile location is not valid, please enter correct path'), category="error")
return render_title_template("config_edit.html", content=config, origin=origin, 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")) goodreads=goodreads_support, title=_(u"Basic Configuration"))
if "config_certfile" in to_save: if "config_certfile" in to_save:
if content.config_certfile != to_save["config_certfile"]: if content.config_certfile != to_save["config_certfile"]:
@ -2564,7 +2589,7 @@ def configuration_helper(origin):
ub.session.commit() ub.session.commit()
flash(_(u'Certfile location is not valid, please enter correct path'), category="error") flash(_(u'Certfile location is not valid, please enter correct path'), category="error")
return render_title_template("config_edit.html", content=config, origin=origin, 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")) goodreads=goodreads_support, title=_(u"Basic Configuration"))
if "config_calibre_web_title" in to_save: if "config_calibre_web_title" in to_save:
content.config_calibre_web_title = to_save["config_calibre_web_title"] content.config_calibre_web_title = to_save["config_calibre_web_title"]
@ -2657,7 +2682,7 @@ def configuration_helper(origin):
ub.session.commit() ub.session.commit()
flash(_(u'Logfile location is not valid, please enter correct path'), category="error") flash(_(u'Logfile location is not valid, please enter correct path'), category="error")
return render_title_template("config_edit.html", content=config, origin=origin, 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")) goodreads=goodreads_support, title=_(u"Basic Configuration"))
else: else:
content.config_logfile = to_save["config_logfile"] content.config_logfile = to_save["config_logfile"]
@ -2677,12 +2702,14 @@ def configuration_helper(origin):
except e: except e:
flash(e, category="error") flash(e, category="error")
return render_title_template("config_edit.html", content=config, origin=origin, gdrive=gdrive_support, return render_title_template("config_edit.html", content=config, origin=origin, gdrive=gdrive_support,
gdriveError=gdriveError,
goodreads=goodreads_support, title=_(u"Basic Configuration")) goodreads=goodreads_support, title=_(u"Basic Configuration"))
if db_change: if db_change:
reload(db) reload(db)
if not db.setup_db(): if not db.setup_db():
flash(_(u'DB location is not valid, please enter correct path'), category="error") 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, return render_title_template("config_edit.html", content=config, origin=origin, gdrive=gdrive_support,
gdriveError=gdriveError,
goodreads=goodreads_support, title=_(u"Basic Configuration")) goodreads=goodreads_support, title=_(u"Basic Configuration"))
if reboot_required: if reboot_required:
# db.engine.dispose() # ToDo verify correct # db.engine.dispose() # ToDo verify correct
@ -2695,8 +2722,13 @@ def configuration_helper(origin):
app.logger.info('Reboot required, restarting') app.logger.info('Reboot required, restarting')
if origin: if origin:
success = True 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, return render_title_template("config_edit.html", origin=origin, success=success, content=config,
show_authenticate_google_drive=not is_gdrive_ready(), gdrive=gdrive_support, show_authenticate_google_drive=not is_gdrive_ready(), gdrive=gdrive_support,
gdriveError=gdriveError, gdrivefolders=gdrivefolders,
goodreads=goodreads_support, title=_(u"Basic Configuration")) goodreads=goodreads_support, title=_(u"Basic Configuration"))
@ -3351,7 +3383,7 @@ def upload():
else: else:
return redirect(url_for("index")) return redirect(url_for("index"))
def start_gevent(): '''def start_gevent():
from gevent.wsgi import WSGIServer from gevent.wsgi import WSGIServer
global gevent_server global gevent_server
try: try:
@ -3366,4 +3398,4 @@ def start_gevent():
gevent_server = WSGIServer(('0.0.0.0', ub.config.config_port), app, **ssl_args) gevent_server = WSGIServer(('0.0.0.0', ub.config.config_port), app, **ssl_args)
gevent_server.serve_forever() gevent_server.serve_forever()
except: except:
pass pass'''

@ -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

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

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

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

@ -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: - 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 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 2. Tick Use Google Drive
3. Enter Client Secret and Client Key as provided via previous steps 3. Click the "Submit" button
4. Enter the folder that is the root of your calibre library 4. Now select Authenticate Google Drive
5. Enter base URL for calibre-web (used for google callbacks) 5. This should redirect you to Google to allow it top use your Drive, and then redirect you back to the config page
6. Click the "Submit" button 6. Select the folder that is the root of your calibre library on Gdrive ("Google drive Calibre folder")
7. Come back to the configuration form 7. Click the "Submit" button
8. Now select Authenticate Google Drive 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
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
### Optional ### 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. 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 9. Open config page
12. Note that this expires after a week, so will need to be manually refresh 10. Click enable watch of metadata.db
11. Note that this expires after a week, so will need to be manually refresh
## Docker image ## Docker image

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

Loading…
Cancel
Save