Merge remote-tracking branch '625/625'

Update russian translation
This commit is contained in:
OzzieIsaacs 2018-09-14 20:36:45 +02:00
commit 36d26f2089
4 changed files with 232 additions and 246 deletions

View File

@ -14,7 +14,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Calibre-Web\n"
"Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n"
"POT-Creation-Date: 2018-09-09 17:57+0200\n"
"POT-Creation-Date: 2018-09-14 20:34+0200\n"
"PO-Revision-Date: 2017-04-30 00:47+0300\n"
"Last-Translator: Pavel Korovin <p@tristero.se>\n"
"Language: ru\n"
@ -276,7 +276,7 @@ msgstr "Непрочитанные"
msgid "Read a Book"
msgstr "Читать книгу"
#: cps/web.py:2141 cps/web.py:3019
#: cps/web.py:2141 cps/web.py:3024
msgid "Please fill out all fields!"
msgstr "Пожалуйста, заполните все поля!"
@ -285,7 +285,7 @@ msgstr "Пожалуйста, заполните все поля!"
msgid "register"
msgstr "зарегистрироваться"
#: cps/web.py:2162 cps/web.py:3235
#: cps/web.py:2162 cps/web.py:3240
msgid "An unknown error occurred. Please try again later."
msgstr "Неизвестная ошибка. Попробуйте позже."
@ -340,7 +340,7 @@ msgstr ""
msgid "There was an error sending this book: %(res)s"
msgstr "Ошибка при отправке книги: %(res)s"
#: cps/web.py:2308 cps/web.py:3073
#: cps/web.py:2308 cps/web.py:3078
msgid "Please configure your kindle e-mail address first..."
msgstr "Пожалуйста, сначала настройте e-mail на вашем kindle"
@ -419,266 +419,266 @@ msgstr "Изменить книжную полку"
msgid "successfully deleted shelf %(name)s"
msgstr "Книжная полка %(name)s удалена"
#: cps/web.py:2551
#: cps/web.py:2556
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "Книжная полка: '%(name)s'"
#: cps/web.py:2554
#: cps/web.py:2559
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr "Ошибка открытия книжной полки. Полка не существует или недоступна"
#: cps/web.py:2585
#: cps/web.py:2590
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "Изменить расположение книжной полки '%(name)s'"
#: cps/web.py:2614 cps/web.py:3025
#: cps/web.py:2619 cps/web.py:3030
msgid "E-mail is not from valid domain"
msgstr "E-mail не из существующей доменной зоны"
#: cps/web.py:2616 cps/web.py:2657 cps/web.py:2660
#: cps/web.py:2621 cps/web.py:2662 cps/web.py:2665
#, python-format
msgid "%(name)s's profile"
msgstr "Профиль %(name)s"
#: cps/web.py:2655
#: cps/web.py:2660
msgid "Found an existing account for this e-mail address."
msgstr ""
#: cps/web.py:2658
#: cps/web.py:2663
msgid "Profile updated"
msgstr "Профиль обновлён"
#: cps/web.py:2670
#: cps/web.py:2675
msgid "Unknown"
msgstr "Неизвестно"
#: cps/web.py:2684
#: cps/web.py:2689
msgid "Admin page"
msgstr "Администрирование"
#: cps/web.py:2762 cps/web.py:2935
#: cps/web.py:2767 cps/web.py:2940
msgid "Calibre-Web configuration updated"
msgstr "Конфигурация Calibre-Web обновлена"
#: cps/templates/admin.html:91 cps/web.py:2775
#: cps/templates/admin.html:91 cps/web.py:2780
msgid "UI Configuration"
msgstr "Настройка интерфейса"
#: cps/web.py:2793
#: cps/web.py:2798
msgid "Import of optional Google Drive requirements missing"
msgstr ""
#: cps/web.py:2796
#: cps/web.py:2801
msgid "client_secrets.json is missing or not readable"
msgstr "client_secrets.json отсутствует или его невозможно прочесть"
#: cps/web.py:2801 cps/web.py:2828
#: cps/web.py:2806 cps/web.py:2833
msgid "client_secrets.json is not configured for web application"
msgstr ""
#: cps/templates/admin.html:90 cps/web.py:2831 cps/web.py:2857 cps/web.py:2869
#: cps/web.py:2911 cps/web.py:2926 cps/web.py:2943 cps/web.py:2950
#: cps/web.py:2967
#: cps/templates/admin.html:90 cps/web.py:2836 cps/web.py:2862 cps/web.py:2874
#: cps/web.py:2916 cps/web.py:2931 cps/web.py:2948 cps/web.py:2955
#: cps/web.py:2972
msgid "Basic Configuration"
msgstr "Настройки сервера"
#: cps/web.py:2854
#: cps/web.py:2859
msgid "Keyfile location is not valid, please enter correct path"
msgstr ""
#: cps/web.py:2866
#: cps/web.py:2871
msgid "Certfile location is not valid, please enter correct path"
msgstr ""
#: cps/web.py:2908
#: cps/web.py:2913
msgid "Logfile location is not valid, please enter correct path"
msgstr ""
#: cps/web.py:2947
#: cps/web.py:2952
msgid "DB location is not valid, please enter correct path"
msgstr "Неверный путь к фалу БД, пожалуйста, укажите правильное расположение БД"
#: cps/templates/admin.html:31 cps/web.py:3021 cps/web.py:3027 cps/web.py:3043
#: cps/templates/admin.html:31 cps/web.py:3026 cps/web.py:3032 cps/web.py:3048
msgid "Add new user"
msgstr "Добавить пользователя"
#: cps/web.py:3033
#: cps/web.py:3038
#, python-format
msgid "User '%(user)s' created"
msgstr "Пользователь '%(user)s' добавлен"
#: cps/web.py:3037
#: cps/web.py:3042
msgid "Found an existing account for this e-mail address or nickname."
msgstr ""
#: cps/web.py:3061 cps/web.py:3075
#: cps/web.py:3066 cps/web.py:3080
msgid "E-mail server settings updated"
msgstr "Настройки E-mail сервера обновлены"
#: cps/web.py:3068
#: cps/web.py:3073
#, python-format
msgid "Test e-mail successfully send to %(kindlemail)s"
msgstr ""
#: cps/web.py:3071
#: cps/web.py:3076
#, python-format
msgid "There was an error sending the Test e-mail: %(res)s"
msgstr ""
#: cps/web.py:3076
#: cps/web.py:3081
msgid "Edit e-mail server settings"
msgstr "Изменить настройки e-mail сервера"
#: cps/web.py:3101
#: cps/web.py:3106
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Пользователь '%(nick)s' удалён"
#: cps/web.py:3210
#: cps/web.py:3215
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Пользователь '%(nick)s' обновлён"
#: cps/web.py:3213
#: cps/web.py:3218
msgid "An unknown error occured."
msgstr "Произошла неизвестная ошибка."
#: cps/web.py:3215
#: cps/web.py:3220
#, python-format
msgid "Edit User %(nick)s"
msgstr "Изменить пользователя %(nick)s"
#: cps/web.py:3232
#: cps/web.py:3237
#, python-format
msgid "Password for user %(user)s reset"
msgstr "Пароль для пользователя %(user)s сброшен"
#: cps/web.py:3252
#: cps/web.py:3257
msgid "Error opening eBook. File does not exist or file is not accessible"
msgstr ""
#: cps/web.py:3279 cps/web.py:3555 cps/web.py:3560 cps/web.py:3715
#: cps/web.py:3285 cps/web.py:3562 cps/web.py:3567 cps/web.py:3722
msgid "edit metadata"
msgstr "изменить метаданные"
#: cps/web.py:3289 cps/web.py:3585
#: cps/web.py:3296 cps/web.py:3592
#, python-format
msgid "File extension '%(ext)s' is not allowed to be uploaded to this server"
msgstr "Запрещена загрузка файлов с расширением '%(ext)s'"
#: cps/web.py:3293 cps/web.py:3589
#: cps/web.py:3300 cps/web.py:3596
msgid "File to be uploaded must have an extension"
msgstr "Загружаемый файл должен иметь расширение"
#: cps/web.py:3305 cps/web.py:3609
#: cps/web.py:3312 cps/web.py:3616
#, python-format
msgid "Failed to create path %(path)s (Permission denied)."
msgstr "Ошибка при создании пути %(path)s (доступ запрещён)"
#: cps/web.py:3310
#: cps/web.py:3317
#, python-format
msgid "Failed to store file %(file)s."
msgstr ""
#: cps/web.py:3326
#: cps/web.py:3333
#, python-format
msgid "File format %(ext)s added to %(book)s"
msgstr ""
#: cps/web.py:3343
#: cps/web.py:3350
#, python-format
msgid "Failed to create path for cover %(path)s (Permission denied)."
msgstr ""
#: cps/web.py:3350
#: cps/web.py:3357
#, python-format
msgid "Failed to store cover-file %(cover)s."
msgstr ""
#: cps/web.py:3353
#: cps/web.py:3360
msgid "Cover-file is not a valid image file"
msgstr "Файл обложки не соответствует изображению"
#: cps/web.py:3370 cps/web.py:3374
#: cps/web.py:3377 cps/web.py:3381
msgid "unknown"
msgstr "неизвестно"
#: cps/web.py:3396
#: cps/web.py:3403
msgid "Cover is not a jpg file, can't save"
msgstr "Обложка не jpg файл, невозможно сохранить"
#: cps/web.py:3442
#: cps/web.py:3449
#, python-format
msgid "%(langname)s is not a valid language"
msgstr ""
#: cps/web.py:3564
#: cps/web.py:3571
msgid "Error editing book, please check logfile for details"
msgstr "Ошибка редактирования книги. Пожалуйста, проверьте лог-файл для дополнительной информации"
#: cps/web.py:3614
#: cps/web.py:3621
#, python-format
msgid "Failed to store file %(file)s (Permission denied)."
msgstr "Ошибка записи файоа %(file)s (доступ запрещён)"
#: cps/web.py:3619
#: cps/web.py:3626
#, python-format
msgid "Failed to delete file %(file)s (Permission denied)."
msgstr "Ошибка удаления файла %(file)s (доступ запрещён)"
#: cps/web.py:3701
#: cps/web.py:3708
#, python-format
msgid "File %(file)s uploaded"
msgstr "Файл %(file)s загружен"
#: cps/web.py:3731
#: cps/web.py:3738
msgid "Source or destination format for conversion missing"
msgstr ""
#: cps/web.py:3741
#: cps/web.py:3748
#, python-format
msgid "Book successfully queued for converting to %(book_format)s"
msgstr ""
#: cps/web.py:3745
#: cps/web.py:3752
#, python-format
msgid "There was an error converting this book: %(res)s"
msgstr ""
#: cps/worker.py:215 cps/worker.py:387
#: cps/worker.py:215 cps/worker.py:398
msgid "Started"
msgstr "Начало"
#: cps/worker.py:237
#: cps/worker.py:251
#, python-format
msgid "Convertertool %(converter)s not found"
msgstr ""
#: cps/worker.py:272
#: cps/worker.py:287
#, python-format
msgid "Ebook-converter failed: %(error)s"
msgstr ""
#: cps/worker.py:283
#: cps/worker.py:298
#, python-format
msgid "Kindlegen failed with Error %(error)s. Message: %(message)s"
msgstr ""
#: cps/worker.py:317 cps/worker.py:377 cps/worker.py:438
msgid "Finished"
msgstr "Закончено"
#: cps/worker.py:344 cps/worker.py:363
#: cps/worker.py:355 cps/worker.py:374
msgid "Waiting"
msgstr "Ожидание"
#: cps/worker.py:351
#: cps/worker.py:362
msgid "This e-mail has been sent via Calibre-Web."
msgstr ""
#: cps/worker.py:472
#: cps/worker.py:388 cps/worker.py:484
msgid "Finished"
msgstr "Закончено"
#: cps/worker.py:476
msgid "Failed"
msgstr "Неудачно"
@ -692,7 +692,7 @@ msgstr "Имя пользователя"
#: cps/templates/admin.html:8
msgid "E-mail"
msgstr ""
msgstr "Почта"
#: cps/templates/admin.html:9
msgid "Kindle"
@ -1837,35 +1837,6 @@ msgstr "Удалить этого пользователя"
msgid "Recent Downloads"
msgstr "Недавние скачивания"
#~ msgid "%s: %s"
#~ msgstr "%s: %s"
#~ msgid "E-Mail: %s"
#~ msgid "E-mail: %s"
#~ msgstr "Почта: %s"
#~ msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
#~ msgstr ""
#~ msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
#~ msgstr ""
#~ msgid "Password for user %(user)s reset"
#~ msgstr "Пароль для пользователя %(user)s сброшен"
#~ msgid "Password for user %s reset"
#~ msgstr "Пароль для пользователя %s сброшен"
#~ msgid "Rename title from: '%(src)s' to '%(src)s' failed with error: %(error)s"
#~ msgstr ""
#~ msgid "Rename author from: '%(src)s' to '%(src)s' failed with error: %(error)s"
#~ msgstr ""
#~ msgid "Failed to create path for cover %(cover)s (Permission denied)."
#~ msgstr ""
#~ msgid "File extension '%s' is not allowed to be uploaded to this server"
#~ msgstr ""
#~ msgid "File extension \"%(ext)s\" is not allowed to be uploaded to this server"
#~ msgstr "Запрещена загрузка файлов с расширением \"%(ext)s\""

View File

@ -232,10 +232,25 @@ class WorkerThread(threading.Thread):
bookid = self.queue[self.current]['bookid']
format_old_ext = u'.' + self.queue[self.current]['settings']['old_book_format'].lower()
format_new_ext = u'.' + self.queue[self.current]['settings']['new_book_format'].lower()
# check to see if destination format already exists -
# if it does - mark the conversion task as complete and return a success
# this will allow send to kindle workflow to continue to work
if os.path.isfile(file_path + format_new_ext):
web.app.logger.info("Book id %d already converted to %s", bookid, format_new_ext)
cur_book = web.db.session.query(web.db.Books).filter(web.db.Books.id == bookid).first()
self.queue[self.current]['path'] = file_path
self.queue[self.current]['title'] = cur_book.title
self._handleSuccess()
return file_path + format_new_ext
else:
web.app.logger.info("Book id %d - target format of %s does not existing. Moving forward with convert.", bookid, format_new_ext)
# check if converter-executable is existing
if not os.path.exists(web.ub.config.config_converterpath):
self._handleError(_(u"Convertertool %(converter)s not found", converter=web.ub.config.config_converterpath))
return
try:
# check which converter to use kindlegen is "1"
if format_old_ext == '.epub' and format_new_ext == '.mobi':
@ -313,11 +328,7 @@ class WorkerThread(threading.Thread):
self.queue[self.current]['title'] = cur_book.title
if web.ub.config.config_use_google_drive:
os.remove(file_path + format_old_ext)
self.queue[self.current]['status'] = STAT_FINISH_SUCCESS
self.UIqueue[self.current]['status'] = _('Finished')
self.UIqueue[self.current]['progress'] = "100 %"
self.UIqueue[self.current]['runtime'] = self._formatRuntime(
datetime.now() - self.queue[self.current]['starttime'])
self._handleSuccess()
return file_path + format_new_ext
else:
error_message = format_new_ext.upper() + ' format not found on disk'
@ -434,12 +445,7 @@ class WorkerThread(threading.Thread):
self.asyncSMTP.login(str(obj['settings']["mail_login"]), str(obj['settings']["mail_password"]))
self.asyncSMTP.sendmail(obj['settings']["mail_from"], obj['recipent'], msg)
self.asyncSMTP.quit()
self.queue[self.current]['status'] = STAT_FINISH_SUCCESS
self.UIqueue[self.current]['status'] = _('Finished')
self.UIqueue[self.current]['progress'] = "100 %"
self.UIqueue[self.current]['runtime'] = self._formatRuntime(
datetime.now() - self.queue[self.current]['starttime'])
self._handleSuccess()
sys.stderr = org_stderr
except (MemoryError) as e:
@ -452,8 +458,6 @@ class WorkerThread(threading.Thread):
self._handleError(u'Error sending email: ' + e.strerror)
return None
def _formatRuntime(self, runtime):
self.UIqueue[self.current]['rt'] = runtime.total_seconds()
val = re.split('\:|\.', str(runtime))[0:3]
@ -475,6 +479,12 @@ class WorkerThread(threading.Thread):
datetime.now() - self.queue[self.current]['starttime'])
self.UIqueue[self.current]['message'] = error_message
def _handleSuccess(self):
self.queue[self.current]['status'] = STAT_FINISH_SUCCESS
self.UIqueue[self.current]['status'] = _('Finished')
self.UIqueue[self.current]['progress'] = "100 %"
self.UIqueue[self.current]['runtime'] = self._formatRuntime(
datetime.now() - self.queue[self.current]['starttime'])
class StderrLogger(object):

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2018-09-08 20:58+0200\n"
"POT-Creation-Date: 2018-09-14 20:34+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -113,559 +113,564 @@ msgstr ""
msgid "Unrar binary file not found"
msgstr ""
#: cps/web.py:1117
#: cps/web.py:1127
msgid "Requesting update package"
msgstr ""
#: cps/web.py:1118
#: cps/web.py:1128
msgid "Downloading update package"
msgstr ""
#: cps/web.py:1119
#: cps/web.py:1129
msgid "Unzipping update package"
msgstr ""
#: cps/web.py:1120
#: cps/web.py:1130
msgid "Files are replaced"
msgstr ""
#: cps/web.py:1121
#: cps/web.py:1131
msgid "Database connections are closed"
msgstr ""
#: cps/web.py:1122
#: cps/web.py:1132
msgid "Server is stopped"
msgstr ""
#: cps/web.py:1123
#: cps/web.py:1133
msgid "Update finished, please press okay and reload page"
msgstr ""
#: cps/web.py:1143
#: cps/web.py:1153
msgid "Recently Added Books"
msgstr ""
#: cps/web.py:1153
#: cps/web.py:1163
msgid "Newest Books"
msgstr ""
#: cps/web.py:1165
#: cps/web.py:1175
msgid "Oldest Books"
msgstr ""
#: cps/web.py:1177
#: cps/web.py:1187
msgid "Books (A-Z)"
msgstr ""
#: cps/web.py:1188
#: cps/web.py:1198
msgid "Books (Z-A)"
msgstr ""
#: cps/web.py:1217
#: cps/web.py:1227
msgid "Hot Books (most downloaded)"
msgstr ""
#: cps/web.py:1230
#: cps/web.py:1240
msgid "Best rated books"
msgstr ""
#: cps/templates/index.xml:36 cps/web.py:1242
#: cps/templates/index.xml:36 cps/web.py:1252
msgid "Random Books"
msgstr ""
#: cps/web.py:1257
#: cps/web.py:1267
msgid "Author list"
msgstr ""
#: cps/web.py:1269 cps/web.py:1332 cps/web.py:1487 cps/web.py:2039
#: cps/web.py:1279 cps/web.py:1342 cps/web.py:1497 cps/web.py:2049
msgid "Error opening eBook. File does not exist or file is not accessible:"
msgstr ""
#: cps/templates/index.xml:73 cps/web.py:1316
#: cps/templates/index.xml:73 cps/web.py:1326
msgid "Series list"
msgstr ""
#: cps/web.py:1330
#: cps/web.py:1340
#, python-format
msgid "Series: %(serie)s"
msgstr ""
#: cps/web.py:1357
#: cps/web.py:1367
msgid "Available languages"
msgstr ""
#: cps/web.py:1374
#: cps/web.py:1384
#, python-format
msgid "Language: %(name)s"
msgstr ""
#: cps/templates/index.xml:66 cps/web.py:1385
#: cps/templates/index.xml:66 cps/web.py:1395
msgid "Category list"
msgstr ""
#: cps/web.py:1399
#: cps/web.py:1409
#, python-format
msgid "Category: %(name)s"
msgstr ""
#: cps/templates/layout.html:71 cps/web.py:1538
#: cps/templates/layout.html:71 cps/web.py:1548
msgid "Tasks"
msgstr ""
#: cps/web.py:1568
#: cps/web.py:1578
msgid "Statistics"
msgstr ""
#: cps/web.py:1673
#: cps/web.py:1683
msgid "Callback domain is not verified, please follow steps to verify domain in google developer console"
msgstr ""
#: cps/web.py:1748
#: cps/web.py:1758
msgid "Server restarted, please reload page"
msgstr ""
#: cps/web.py:1751
#: cps/web.py:1761
msgid "Performing shutdown of server, please close window"
msgstr ""
#: cps/web.py:1770
#: cps/web.py:1780
msgid "Update done"
msgstr ""
#: cps/web.py:1840
#: cps/web.py:1850
msgid "Published after "
msgstr ""
#: cps/web.py:1847
#: cps/web.py:1857
msgid "Published before "
msgstr ""
#: cps/web.py:1861
#: cps/web.py:1871
#, python-format
msgid "Rating <= %(rating)s"
msgstr ""
#: cps/web.py:1863
#: cps/web.py:1873
#, python-format
msgid "Rating >= %(rating)s"
msgstr ""
#: cps/web.py:1922 cps/web.py:1931
#: cps/web.py:1932 cps/web.py:1941
msgid "search"
msgstr ""
#: cps/templates/index.xml:44 cps/templates/index.xml:48
#: cps/templates/layout.html:146 cps/web.py:1998
#: cps/templates/layout.html:146 cps/web.py:2008
msgid "Read Books"
msgstr ""
#: cps/templates/index.xml:52 cps/templates/index.xml:56
#: cps/templates/layout.html:148 cps/web.py:2001
#: cps/templates/layout.html:148 cps/web.py:2011
msgid "Unread Books"
msgstr ""
#: cps/web.py:2049 cps/web.py:2051 cps/web.py:2053 cps/web.py:2065
#: cps/web.py:2059 cps/web.py:2061 cps/web.py:2063 cps/web.py:2075
msgid "Read a Book"
msgstr ""
#: cps/web.py:2131 cps/web.py:3009
#: cps/web.py:2141 cps/web.py:3024
msgid "Please fill out all fields!"
msgstr ""
#: cps/web.py:2132 cps/web.py:2153 cps/web.py:2157 cps/web.py:2162
#: cps/web.py:2164
#: cps/web.py:2142 cps/web.py:2163 cps/web.py:2167 cps/web.py:2172
#: cps/web.py:2174
msgid "register"
msgstr ""
#: cps/web.py:2152 cps/web.py:3225
#: cps/web.py:2162 cps/web.py:3240
msgid "An unknown error occurred. Please try again later."
msgstr ""
#: cps/web.py:2155
#: cps/web.py:2165
msgid "Your e-mail is not allowed to register"
msgstr ""
#: cps/web.py:2158
#: cps/web.py:2168
msgid "Confirmation e-mail was send to your e-mail account."
msgstr ""
#: cps/web.py:2161
#: cps/web.py:2171
msgid "This username or e-mail address is already in use."
msgstr ""
#: cps/web.py:2178 cps/web.py:2274
#: cps/web.py:2188 cps/web.py:2284
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr ""
#: cps/web.py:2183
#: cps/web.py:2193
msgid "Wrong Username or Password"
msgstr ""
#: cps/web.py:2189 cps/web.py:2210
#: cps/web.py:2199 cps/web.py:2220
msgid "login"
msgstr ""
#: cps/web.py:2222 cps/web.py:2253
#: cps/web.py:2232 cps/web.py:2263
msgid "Token not found"
msgstr ""
#: cps/web.py:2230 cps/web.py:2261
#: cps/web.py:2240 cps/web.py:2271
msgid "Token has expired"
msgstr ""
#: cps/web.py:2238
#: cps/web.py:2248
msgid "Success! Please return to your device"
msgstr ""
#: cps/web.py:2288
#: cps/web.py:2298
msgid "Please configure the SMTP mail settings first..."
msgstr ""
#: cps/web.py:2292
#: cps/web.py:2302
#, python-format
msgid "Book successfully queued for sending to %(kindlemail)s"
msgstr ""
#: cps/web.py:2296
#: cps/web.py:2306
#, python-format
msgid "There was an error sending this book: %(res)s"
msgstr ""
#: cps/web.py:2298 cps/web.py:3063
#: cps/web.py:2308 cps/web.py:3078
msgid "Please configure your kindle e-mail address first..."
msgstr ""
#: cps/web.py:2342
#: cps/web.py:2352
#, python-format
msgid "Book has been added to shelf: %(sname)s"
msgstr ""
#: cps/web.py:2353
#: cps/web.py:2363
msgid "Invalid shelf specified"
msgstr ""
#: cps/web.py:2358
#: cps/web.py:2368
#, python-format
msgid "You are not allowed to add a book to the the shelf: %(name)s"
msgstr ""
#: cps/web.py:2363
#: cps/web.py:2373
msgid "User is not allowed to edit public shelves"
msgstr ""
#: cps/web.py:2381
#: cps/web.py:2391
#, python-format
msgid "Books are already part of the shelf: %(name)s"
msgstr ""
#: cps/web.py:2395
#: cps/web.py:2405
#, python-format
msgid "Books have been added to shelf: %(sname)s"
msgstr ""
#: cps/web.py:2397
#: cps/web.py:2407
#, python-format
msgid "Could not add books to shelf: %(sname)s"
msgstr ""
#: cps/web.py:2434
#: cps/web.py:2444
#, python-format
msgid "Book has been removed from shelf: %(sname)s"
msgstr ""
#: cps/web.py:2440
#: cps/web.py:2450
#, python-format
msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s"
msgstr ""
#: cps/web.py:2460 cps/web.py:2484
#: cps/web.py:2470 cps/web.py:2494
#, python-format
msgid "A shelf with the name '%(title)s' already exists."
msgstr ""
#: cps/web.py:2465
#: cps/web.py:2475
#, python-format
msgid "Shelf %(title)s created"
msgstr ""
#: cps/web.py:2467 cps/web.py:2495
#: cps/web.py:2477 cps/web.py:2505
msgid "There was an error"
msgstr ""
#: cps/web.py:2468 cps/web.py:2470
#: cps/web.py:2478 cps/web.py:2480
msgid "create a shelf"
msgstr ""
#: cps/web.py:2493
#: cps/web.py:2503
#, python-format
msgid "Shelf %(title)s changed"
msgstr ""
#: cps/web.py:2496 cps/web.py:2498
#: cps/web.py:2506 cps/web.py:2508
msgid "Edit a shelf"
msgstr ""
#: cps/web.py:2519
#: cps/web.py:2529
#, python-format
msgid "successfully deleted shelf %(name)s"
msgstr ""
#: cps/web.py:2541
#: cps/web.py:2556
#, python-format
msgid "Shelf: '%(name)s'"
msgstr ""
#: cps/web.py:2544
#: cps/web.py:2559
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr ""
#: cps/web.py:2575
#: cps/web.py:2590
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr ""
#: cps/web.py:2604 cps/web.py:3015
#: cps/web.py:2619 cps/web.py:3030
msgid "E-mail is not from valid domain"
msgstr ""
#: cps/web.py:2606 cps/web.py:2647 cps/web.py:2650
#: cps/web.py:2621 cps/web.py:2662 cps/web.py:2665
#, python-format
msgid "%(name)s's profile"
msgstr ""
#: cps/web.py:2645
#: cps/web.py:2660
msgid "Found an existing account for this e-mail address."
msgstr ""
#: cps/web.py:2648
#: cps/web.py:2663
msgid "Profile updated"
msgstr ""
#: cps/web.py:2660
#: cps/web.py:2675
msgid "Unknown"
msgstr ""
#: cps/web.py:2674
#: cps/web.py:2689
msgid "Admin page"
msgstr ""
#: cps/web.py:2752 cps/web.py:2925
#: cps/web.py:2767 cps/web.py:2940
msgid "Calibre-Web configuration updated"
msgstr ""
#: cps/templates/admin.html:91 cps/web.py:2765
#: cps/templates/admin.html:91 cps/web.py:2780
msgid "UI Configuration"
msgstr ""
#: cps/web.py:2783
#: cps/web.py:2798
msgid "Import of optional Google Drive requirements missing"
msgstr ""
#: cps/web.py:2786
#: cps/web.py:2801
msgid "client_secrets.json is missing or not readable"
msgstr ""
#: cps/web.py:2791 cps/web.py:2818
#: cps/web.py:2806 cps/web.py:2833
msgid "client_secrets.json is not configured for web application"
msgstr ""
#: cps/templates/admin.html:90 cps/web.py:2821 cps/web.py:2847 cps/web.py:2859
#: cps/web.py:2901 cps/web.py:2916 cps/web.py:2933 cps/web.py:2940
#: cps/web.py:2957
#: cps/templates/admin.html:90 cps/web.py:2836 cps/web.py:2862 cps/web.py:2874
#: cps/web.py:2916 cps/web.py:2931 cps/web.py:2948 cps/web.py:2955
#: cps/web.py:2972
msgid "Basic Configuration"
msgstr ""
#: cps/web.py:2844
#: cps/web.py:2859
msgid "Keyfile location is not valid, please enter correct path"
msgstr ""
#: cps/web.py:2856
#: cps/web.py:2871
msgid "Certfile location is not valid, please enter correct path"
msgstr ""
#: cps/web.py:2898
#: cps/web.py:2913
msgid "Logfile location is not valid, please enter correct path"
msgstr ""
#: cps/web.py:2937
#: cps/web.py:2952
msgid "DB location is not valid, please enter correct path"
msgstr ""
#: cps/templates/admin.html:31 cps/web.py:3011 cps/web.py:3017 cps/web.py:3033
#: cps/templates/admin.html:31 cps/web.py:3026 cps/web.py:3032 cps/web.py:3048
msgid "Add new user"
msgstr ""
#: cps/web.py:3023
#: cps/web.py:3038
#, python-format
msgid "User '%(user)s' created"
msgstr ""
#: cps/web.py:3027
#: cps/web.py:3042
msgid "Found an existing account for this e-mail address or nickname."
msgstr ""
#: cps/web.py:3051 cps/web.py:3065
#: cps/web.py:3066 cps/web.py:3080
msgid "E-mail server settings updated"
msgstr ""
#: cps/web.py:3058
#: cps/web.py:3073
#, python-format
msgid "Test e-mail successfully send to %(kindlemail)s"
msgstr ""
#: cps/web.py:3061
#: cps/web.py:3076
#, python-format
msgid "There was an error sending the Test e-mail: %(res)s"
msgstr ""
#: cps/web.py:3066
#: cps/web.py:3081
msgid "Edit e-mail server settings"
msgstr ""
#: cps/web.py:3091
#: cps/web.py:3106
#, python-format
msgid "User '%(nick)s' deleted"
msgstr ""
#: cps/web.py:3200
#: cps/web.py:3215
#, python-format
msgid "User '%(nick)s' updated"
msgstr ""
#: cps/web.py:3203
#: cps/web.py:3218
msgid "An unknown error occured."
msgstr ""
#: cps/web.py:3205
#: cps/web.py:3220
#, python-format
msgid "Edit User %(nick)s"
msgstr ""
#: cps/web.py:3222
#: cps/web.py:3237
#, python-format
msgid "Password for user %(user)s reset"
msgstr ""
#: cps/web.py:3242
#: cps/web.py:3257
msgid "Error opening eBook. File does not exist or file is not accessible"
msgstr ""
#: cps/web.py:3273 cps/web.py:3549 cps/web.py:3554 cps/web.py:3709
#: cps/web.py:3285 cps/web.py:3562 cps/web.py:3567 cps/web.py:3722
msgid "edit metadata"
msgstr ""
#: cps/web.py:3287 cps/web.py:3579
#: cps/web.py:3296 cps/web.py:3592
#, python-format
msgid "File extension '%(ext)s' is not allowed to be uploaded to this server"
msgstr ""
#: cps/web.py:3291 cps/web.py:3583
#: cps/web.py:3300 cps/web.py:3596
msgid "File to be uploaded must have an extension"
msgstr ""
#: cps/web.py:3303 cps/web.py:3603
#: cps/web.py:3312 cps/web.py:3616
#, python-format
msgid "Failed to create path %(path)s (Permission denied)."
msgstr ""
#: cps/web.py:3308
#: cps/web.py:3317
#, python-format
msgid "Failed to store file %(file)s."
msgstr ""
#: cps/web.py:3324
#: cps/web.py:3333
#, python-format
msgid "File format %(ext)s added to %(book)s"
msgstr ""
#: cps/web.py:3342
#: cps/web.py:3350
#, python-format
msgid "Failed to create path for cover %(path)s (Permission denied)."
msgstr ""
#: cps/web.py:3349
#: cps/web.py:3357
#, python-format
msgid "Failed to store cover-file %(cover)s."
msgstr ""
#: cps/web.py:3352
#: cps/web.py:3360
msgid "Cover-file is not a valid image file"
msgstr ""
#: cps/web.py:3365 cps/web.py:3369
#: cps/web.py:3377 cps/web.py:3381
msgid "unknown"
msgstr ""
#: cps/web.py:3391
#: cps/web.py:3403
msgid "Cover is not a jpg file, can't save"
msgstr ""
#: cps/web.py:3558
#: cps/web.py:3449
#, python-format
msgid "%(langname)s is not a valid language"
msgstr ""
#: cps/web.py:3571
msgid "Error editing book, please check logfile for details"
msgstr ""
#: cps/web.py:3608
#: cps/web.py:3621
#, python-format
msgid "Failed to store file %(file)s (Permission denied)."
msgstr ""
#: cps/web.py:3613
#: cps/web.py:3626
#, python-format
msgid "Failed to delete file %(file)s (Permission denied)."
msgstr ""
#: cps/web.py:3695
#: cps/web.py:3708
#, python-format
msgid "File %(file)s uploaded"
msgstr ""
#: cps/web.py:3725
#: cps/web.py:3738
msgid "Source or destination format for conversion missing"
msgstr ""
#: cps/web.py:3735
#: cps/web.py:3748
#, python-format
msgid "Book successfully queued for converting to %(book_format)s"
msgstr ""
#: cps/web.py:3739
#: cps/web.py:3752
#, python-format
msgid "There was an error converting this book: %(res)s"
msgstr ""
#: cps/worker.py:215 cps/worker.py:387
#: cps/worker.py:215 cps/worker.py:398
msgid "Started"
msgstr ""
#: cps/worker.py:237
#: cps/worker.py:251
#, python-format
msgid "Convertertool %(converter)s not found"
msgstr ""
#: cps/worker.py:272
#: cps/worker.py:287
#, python-format
msgid "Ebook-converter failed: %(error)s"
msgstr ""
#: cps/worker.py:283
#: cps/worker.py:298
#, python-format
msgid "Kindlegen failed with Error %(error)s. Message: %(message)s"
msgstr ""
#: cps/worker.py:317 cps/worker.py:377 cps/worker.py:438
msgid "Finished"
msgstr ""
#: cps/worker.py:344 cps/worker.py:363
#: cps/worker.py:355 cps/worker.py:374
msgid "Waiting"
msgstr ""
#: cps/worker.py:351
#: cps/worker.py:362
msgid "This e-mail has been sent via Calibre-Web."
msgstr ""
#: cps/worker.py:472
#: cps/worker.py:388 cps/worker.py:484
msgid "Finished"
msgstr ""
#: cps/worker.py:476
msgid "Failed"
msgstr ""