Merge branch 'master' into Develop

This commit is contained in:
Ozzie Isaacs
2026-01-08 19:58:48 +01:00
76 changed files with 2076 additions and 1343 deletions
+18 -1
View File
@@ -42,9 +42,26 @@ def hide_console_windows():
if __name__ == '__main__': if __name__ == '__main__':
if os.name == "nt": # Only hide the console window on Windows when there is no interactive
# console attached. This preserves the ability to use Ctrl+C from a
# terminal (stdin is a tty) to stop the server.
if os.name == "nt" and not sys.stdin.isatty():
hide_console_windows() hide_console_windows()
try:
main() main()
except KeyboardInterrupt:
# Allow stopping the server with Ctrl+C from an interactive console, after reboot of calibre-web
# (initally the SIGINT signal CTRL+C is catched in server.py via the signal callback).
try:
# Try to perform a graceful stop if web_server is available.
# Import here to avoid import-time side-effects when not needed.
from cps import web_server
web_server.stop()
except Exception:
pass
print('\nCalibre-Web: received interrupt, shutting down')
sys.exit(0)
+5 -2
View File
@@ -37,9 +37,12 @@ STATIC_DIR = os.path.join(BASE_DIR, 'cps', 'static')
TEMPLATES_DIR = os.path.join(BASE_DIR, 'cps', 'templates') TEMPLATES_DIR = os.path.join(BASE_DIR, 'cps', 'templates')
TRANSLATIONS_DIR = os.path.join(BASE_DIR, 'cps', 'translations') TRANSLATIONS_DIR = os.path.join(BASE_DIR, 'cps', 'translations')
# Cache dir - use CACHE_DIR environment variable, otherwise use the default directory: cps/cache # Cache dir - use CACHE_DIRECTORY environment variable, otherwise CACHE_DIR (for backwards compatibility),
# otherwise use the default directory: cps/cache
DEFAULT_CACHE_DIR = os.path.join(BASE_DIR, 'cps', 'cache') DEFAULT_CACHE_DIR = os.path.join(BASE_DIR, 'cps', 'cache')
CACHE_DIR = os.environ.get('CACHE_DIR', DEFAULT_CACHE_DIR) CACHE_DIRECTORY = os.environ.get(
'CACHE_DIRECTORY', os.environ.get('CACHE_DIR', DEFAULT_CACHE_DIR)
)
if HOME_CONFIG: if HOME_CONFIG:
home_dir = os.path.join(os.path.expanduser("~"), ".calibre-web") home_dir = os.path.join(os.path.expanduser("~"), ".calibre-web")
+2 -1
View File
@@ -33,6 +33,7 @@ log = logger.create()
# custom error page # custom error page
def error_http(error): def error_http(error):
headers = {'WWW-Authenticate': 'Basic realm="calibre-web"'} if error.code == 401 else {}
return render_template('http_error.html', return render_template('http_error.html',
error_code="Error {0}".format(error.code), error_code="Error {0}".format(error.code),
error_name=error.name, error_name=error.name,
@@ -40,7 +41,7 @@ def error_http(error):
goto_admin=False, goto_admin=False,
unconfigured=not config.db_configured, unconfigured=not config.db_configured,
instance=config.config_calibre_web_title instance=config.config_calibre_web_title
), error.code ), error.code, headers
def internal_error(error): def internal_error(error):
+2 -2
View File
@@ -17,7 +17,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
from . import logger from . import logger
from .constants import CACHE_DIR from .constants import CACHE_DIRECTORY
from os import makedirs, remove from os import makedirs, remove
from os.path import isdir, isfile, join from os.path import isdir, isfile, join
from shutil import rmtree from shutil import rmtree
@@ -25,7 +25,7 @@ from shutil import rmtree
class FileSystem: class FileSystem:
_instance = None _instance = None
_cache_dir = CACHE_DIR _cache_dir = CACHE_DIRECTORY
def __new__(cls): def __new__(cls):
if cls._instance is None: if cls._instance is None:
-1
View File
@@ -21,7 +21,6 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
import datetime import datetime
# import json
from urllib.parse import unquote_plus from urllib.parse import unquote_plus
from flask import Blueprint, request, render_template, make_response, abort, g, jsonify from flask import Blueprint, request, render_template, make_response, abort, g, jsonify
+1 -1
View File
@@ -92,7 +92,7 @@ def get_sidebar_config(kwargs=None):
"visibility": constants.SIDEBAR_FORMAT, 'public': True, "visibility": constants.SIDEBAR_FORMAT, 'public': True,
"page": "format", "show_text": _('Show File Formats Section'), "config_show": True}) "page": "format", "show_text": _('Show File Formats Section'), "config_show": True})
sidebar.append( sidebar.append(
{"glyph": "glyphicon-trash", "text": _('Archived Books'), "link": 'web.books_list', "id": "archived", {"glyph": "glyphicon-folder-open", "text": _('Archived Books'), "link": 'web.books_list', "id": "archived",
"visibility": constants.SIDEBAR_ARCHIVED, 'public': (not current_user.is_anonymous), "page": "archived", "visibility": constants.SIDEBAR_ARCHIVED, 'public': (not current_user.is_anonymous), "page": "archived",
"show_text": _('Show Archived Books'), "config_show": content}) "show_text": _('Show Archived Books'), "config_show": content})
if not simple: if not simple:
+12
View File
@@ -216,6 +216,12 @@ class WebServer(object):
try: try:
sock, output = self._make_gevent_listener() sock, output = self._make_gevent_listener()
log.info('Starting Gevent server on %s', output) log.info('Starting Gevent server on %s', output)
# Also print to stdout so interactive terminals show a clear success message
try:
print(f"Calibre-Web: server started on {output}")
except Exception:
print(f"Calibre-Web: error {output}")
pass
self.wsgiserver = WSGIServer(sock, self.app, log=self.access_logger, handler_class=MyWSGIHandler, self.wsgiserver = WSGIServer(sock, self.app, log=self.access_logger, handler_class=MyWSGIHandler,
error_log=log, error_log=log,
spawn=Pool(), **ssl_args) spawn=Pool(), **ssl_args)
@@ -266,6 +272,12 @@ class WebServer(object):
output = _readable_listen_address(self.listen_address, self.listen_port) output = _readable_listen_address(self.listen_address, self.listen_port)
http_server.listen(self.listen_port, self.listen_address) http_server.listen(self.listen_port, self.listen_address)
log.info('Starting Tornado server on %s', output) log.info('Starting Tornado server on %s', output)
# Also print to stdout so interactive terminals show a clear success message
try:
print(f"Calibre-Web: server started on {output}")
except Exception:
print(f"Calibre-Web: error {output}")
pass
self.wsgiserver = IOLoop.current() self.wsgiserver = IOLoop.current()
self.wsgiserver.start() self.wsgiserver.start()
+88 -44
View File
@@ -2018,7 +2018,7 @@ body > div.container-fluid > div > div.col-sm-10 > div.pagination > .page-previo
display: none display: none
} }
body.authorlist > div.container-fluid > div > div.col-sm-10 > div.container > div.col-xs-12, body.catlist > div.container-fluid > div > div.col-sm-10 > div.container > div.col-xs-12, body.langlist > div.container-fluid > div > div.col-sm-10 > div.container > div.col-sm-6, body.serieslist > div.container-fluid > div > div.col-sm-10 > div.container > div.col-sm-6 { body.authorlist > div.container-fluid > div > div.col-sm-10 > div.container1 > div.col-xs-12, body.downloadlist > div.container-fluid > div > div.col-sm-10 > div.container1 > div.col-xs-12, body.catlist > div.container-fluid > div > div.col-sm-10 > div.container1 > div.col-xs-12, body.langlist > div.container-fluid > div > div.col-sm-10 > div.container1 > div.col-sm-6, body.serieslist > div.container-fluid > div > div.col-sm-10 > div.container1 > div.col-sm-6 {
width: 100% width: 100%
} }
@@ -2042,7 +2042,7 @@ body.serieslist > div.container-fluid > div > div.col-sm-10:before {
} }
} }
body > div.container-fluid > div > div.col-sm-10 > div.container { body > div.container-fluid > div > div.col-sm-10 > div.container1 {
width: calc(80% - 30px); width: calc(80% - 30px);
margin: 120px 0 30px 20%; margin: 120px 0 30px 20%;
border-top: 2px solid rgba(0, 0, 0, .3); border-top: 2px solid rgba(0, 0, 0, .3);
@@ -2051,19 +2051,19 @@ body > div.container-fluid > div > div.col-sm-10 > div.container {
max-width: calc(80% - 30px) max-width: calc(80% - 30px)
} }
body > div.container-fluid > div > div.col-sm-10 > div.container > div { body > div.container-fluid > div > div.col-sm-10 > div.container1 > div {
padding: 0 padding: 0
} }
body > div.container-fluid > div > div.col-sm-10 > div.container > div > .row { body > div.container-fluid > div > div.col-sm-10 > div.container1 > div > .row {
padding: 4px 0 padding: 4px 0
} }
body > div.container-fluid > div > div.col-sm-10 > div.container > div > .row:nth-of-type(even) { body > div.container-fluid > div > div.col-sm-10 > div.container1 > div > .row:nth-of-type(even) {
background: hsla(0, 0%, 100%, .02) background: hsla(0, 0%, 100%, .02)
} }
body > div.container-fluid > div > div.col-sm-10 > div.container > div > .row > .col-xs-6 { body > div.container-fluid > div > div.col-sm-10 > div.container1 > div > .row > .col-xs-6 {
width: calc(91.666% - 30px); width: calc(91.666% - 30px);
overflow: hidden; overflow: hidden;
-o-text-overflow: ellipsis; -o-text-overflow: ellipsis;
@@ -2072,7 +2072,7 @@ body > div.container-fluid > div > div.col-sm-10 > div.container > div > .row >
padding-left: 60px padding-left: 60px
} }
body > div.container-fluid > div > div.col-sm-10 > div.container > div > .row > .col-xs-6 > a { body > div.container-fluid > div > div.col-sm-10 > div.container1 > div > .row > .col-xs-6 > a {
-o-text-overflow: ellipsis; -o-text-overflow: ellipsis;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
@@ -2082,7 +2082,7 @@ body > div.container-fluid > div > div.col-sm-10 > div.container > div > .row >
} }
body > div.container-fluid > div > div.col-sm-10 > div.discover > div.container { body > div.container-fluid > div > div.col-sm-10 > div.discover > div.container1 {
width: calc(80% - 30px); width: calc(80% - 30px);
margin: 120px 0 30px 20%; margin: 120px 0 30px 20%;
border-top: 2px solid rgba(0, 0, 0, .3); border-top: 2px solid rgba(0, 0, 0, .3);
@@ -2091,19 +2091,19 @@ body > div.container-fluid > div > div.col-sm-10 > div.discover > div.container
max-width: calc(80% - 30px) max-width: calc(80% - 30px)
} }
body > div.container-fluid > div > div.col-sm-10 > div.discover > div.container > div { body > div.container-fluid > div > div.col-sm-10 > div.discover > div.container1 > div {
padding: 0 padding: 0
} }
body > div.container-fluid > div > div.col-sm-10 > div.discover > div.container > div > .row { body > div.container-fluid > div > div.col-sm-10 > div.discover > div.container1 > div > .row {
padding: 4px 0 padding: 4px 0
} }
body > div.container-fluid > div > div.col-sm-10 > div.discover > div.container > div > .row:nth-of-type(even) { body > div.container-fluid > div > div.col-sm-10 > div.discover > div.container1 > div > .row:nth-of-type(even) {
background: hsla(0, 0%, 100%, .02) background: hsla(0, 0%, 100%, .02)
} }
body > div.container-fluid > div > div.col-sm-10 > div.discover > div.container > div > .row > .col-xs-6 { body > div.container-fluid > div > div.col-sm-10 > div.discover > div.container1 > div > .row > .col-xs-6 {
width: calc(91.666% - 30px); width: calc(91.666% - 30px);
overflow: hidden; overflow: hidden;
-o-text-overflow: ellipsis; -o-text-overflow: ellipsis;
@@ -2112,7 +2112,7 @@ body > div.container-fluid > div > div.col-sm-10 > div.discover > div.container
padding-left: 60px padding-left: 60px
} }
body > div.container-fluid > div > div.col-sm-10 > div.discover > div.container > div > .row > .col-xs-6 > a { body > div.container-fluid > div > div.col-sm-10 > div.discover > div.container1 > div > .row > .col-xs-6 > a {
-o-text-overflow: ellipsis; -o-text-overflow: ellipsis;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
@@ -2146,7 +2146,6 @@ body.catlist > div.container-fluid > div.row-fluid > div.col-sm-10:before {
} }
} }
body.authorlist > div.container-fluid > div.row-fluid > div.col-sm-10:before, body.langlist > div.container-fluid > div > div.col-sm-10:before { body.authorlist > div.container-fluid > div.row-fluid > div.col-sm-10:before, body.langlist > div.container-fluid > div > div.col-sm-10:before {
font-family: 'Glyphicons Halflings', serif; font-family: 'Glyphicons Halflings', serif;
font-style: normal; font-style: normal;
@@ -2172,10 +2171,12 @@ body.authorlist > div.container-fluid > div.row-fluid > div.col-sm-10:before {
} }
body.langlist > div.container-fluid > div > div.col-sm-10:before { body.langlist > div.container-fluid > div > div.col-sm-10:before {
content: "\e034" content: "\e034";
top: 240px;
} }
body.authorlist > div.container-fluid > div > div.col-sm-10 > div.container:before, body.catlist > div.container-fluid > div > div.col-sm-10 > div.container:before, body.langlist > div.container-fluid > div > div.col-sm-10 > div.container:before, body.me > div.container-fluid > div > div.col-sm-10 > div.discover:before, body.serieslist > div.container-fluid > div > div.col-sm-10 > div.container:before {
body.authorlist > div.container-fluid > div > div.col-sm-10 > div.container1:before, body.downloadlist > div.container-fluid > div > div.col-sm-10 > div.container1:before, body.catlist > div.container-fluid > div > div.col-sm-10 > div.container1:before, body.langlist > div.container-fluid > div > div.col-sm-10 > div.container1:before, body.me > div.container-fluid > div > div.col-sm-10 > div.discover:before, body.serieslist > div.container-fluid > div > div.col-sm-10 > div.container1:before {
top: 60px; top: 60px;
font-size: 24px; font-size: 24px;
color: #eee; color: #eee;
@@ -2186,63 +2187,104 @@ body.authorlist > div.container-fluid > div > div.col-sm-10 > div.container:befo
font-weight: 400 font-weight: 400
} }
body.authorlist > div.container-fluid > div > div.col-sm-10 > div.container:before { body.authorlist > div.container-fluid > div > div.col-sm-10 > div.container1:before {
content: "Authors"; content: "Authors";
top: 115px; top: 115px;
display: table;
} }
@media screen and (max-width: 992px) { @media screen and (max-width: 992px) {
body.authorlist > div.container-fluid > div > div.col-sm-10 > div.container:before { body.authorlist > div.container-fluid > div > div.col-sm-10 > div.container1:before {
top: 60px; top: 60px;
} }
} }
body.catlist > div.container-fluid > div > div.col-sm-10 > div.container:before { @media screen and (max-width: 992px) {
body.downloadlist > div.container-fluid > div > div.col-sm-10 > div.container1:before {
top: 60px;
}
}
body.downloadlist > div.container-fluid > div.row-fluid > div.col-sm-10:before {
font-family: Glyphicons Halflings, serif;
content: "\E026";
font-style: normal;
font-weight: 400;
line-height: 1;
font-size: 6vw;
position: fixed;
left: 240px;
top: 240px;
width: calc(20% - 55px);
text-align: center
}
@media screen and (max-width: 992px) {
body.downloadlist > div.container-fluid > div.row-fluid > div.col-sm-10:before {
top: 180px;
}
}
body.downloadlist > div.container-fluid > div > div.col-sm-10 > div.container1:before {
content: "Downloads";
top: 115px;
display: table;
}
body.catlist > div.container-fluid > div > div.col-sm-10 > div.container1:before {
content: "Categories"; content: "Categories";
top: 115px; top: 115px;
display: table;
} }
@media screen and (max-width: 992px) { @media screen and (max-width: 992px) {
body.catlist > div.container-fluid > div > div.col-sm-10 > div.container:before { body.catlist > div.container-fluid > div > div.col-sm-10 > div.container1:before {
top: 60px; top: 60px;
} }
} }
body.serieslist > div.container-fluid > div > div.col-sm-10 > div.container:before { body.serieslist > div.container-fluid > div > div.col-sm-10 > div.container1:before {
content: "Series"; content: "Series";
top: 115px; top: 115px;
display: table;
} }
@media screen and (max-width: 992px) { @media screen and (max-width: 992px) {
body.serieslist > div.container-fluid > div > div.col-sm-10 > div.container:before { body.serieslist > div.container-fluid > div > div.col-sm-10 > div.container1:before {
top: 60px; top: 60px;
} }
} }
body.ratingslist > div.container-fluid > div > div.col-sm-10 > div.container:before { body.ratingslist > div.container-fluid > div > div.col-sm-10 > div.container1:before {
content: "File formats"; content: "File formats";
top: 115px; top: 115px;
display: table;
} }
@media screen and (max-width: 992px) { @media screen and (max-width: 992px) {
body.ratingslist > div.container-fluid > div > div.col-sm-10 > div.container:before { body.ratingslist > div.container-fluid > div > div.col-sm-10 > div.container1:before {
top: 60px; top: 60px;
} }
} }
body.formatslist > div.container-fluid > div > div.col-sm-10 > div.container:before { body.formatslist > div.container-fluid > div > div.col-sm-10 > div.container1:before {
content: "File formats"; content: "File formats";
top: 115px; top: 115px;
display: table;
} }
@media screen and (max-width: 992px) { @media screen and (max-width: 992px) {
body.formatslist > div.container-fluid > div > div.col-sm-10 > div.container:before { body.formatslist > div.container-fluid > div > div.col-sm-10 > div.container1:before {
top: 60px; top: 60px;
} }
} }
body.langlist > div.container-fluid > div > div.col-sm-10 > div.container:before { body.langlist > div.container-fluid > div > div.col-sm-10 > div.container1:before {
content: "Languages" content: "Languages";
top: 115px;
display: table;
} }
body.advsearch > div.container-fluid > div > div.col-sm-10 > div.col-md-10.col-lg-6 { body.advsearch > div.container-fluid > div > div.col-sm-10 > div.col-md-10.col-lg-6 {
@@ -6421,7 +6463,7 @@ body.edituser.admin > div.container-fluid > div.row-fluid > div.col-sm-10 > div.
display: none !important display: none !important
} }
.shelforder > .container-fluid > .row-fluid > .col-sm-10 > div.col-sm-6.col-lg-6.col-xs-6 > h2:before, body.advsearch > div.container-fluid > div > div.col-sm-10:before, body.authorlist > div.container-fluid > div > div.col-sm-10 > div.container:before, body.catlist > div.container-fluid > div > div.col-sm-10 > div.container:before, body.langlist > div.container-fluid > div > div.col-sm-10 > div.container:before, body.login .navbar > .container-fluid > .navbar-header > button.navbar-toggle, body.serieslist > div.container-fluid > div > div.col-sm-10 > div.container:before { .shelforder > .container-fluid > .row-fluid > .col-sm-10 > div.col-sm-6.col-lg-6.col-xs-6 > h2:before, body.advsearch > div.container-fluid > div > div.col-sm-10:before, body.authorlist > div.container-fluid > div > div.col-sm-10 > div.container1:before, body.catlist > div.container-fluid > div > div.col-sm-10 > div.container1:before, body.langlist > div.container-fluid > div > div.col-sm-10 > div.container1:before, body.downloadlist > div.container-fluid > div > div.col-sm-10 > div.container1:before, body.login .navbar > .container-fluid > .navbar-header > button.navbar-toggle, body.serieslist > div.container-fluid > div > div.col-sm-10 > div.container1:before {
display: none display: none
} }
@@ -6527,7 +6569,7 @@ body.edituser.admin > div.container-fluid > div.row-fluid > div.col-sm-10 > div.
background-size: 30px background-size: 30px
} }
body.advanced_search > div.container-fluid > div > div.col-sm-10 > div.col-sm-8:before, body.author:not(.authorlist) .undefined-img:before, body.authorlist > div.container-fluid > div.row-fluid > div.col-sm-10:before, body.catlist > div.container-fluid > div.row-fluid > div.col-sm-10:before, body.langlist > div.container-fluid > div > div.col-sm-10:before, body.ratingslist > div.container-fluid > div > div.col-sm-10:before, body.serieslist > div.container-fluid > div > div.col-sm-10:before, body.shelforder > div.container-fluid > div.row-fluid > div.col-sm-10:before { body.advanced_search > div.container-fluid > div > div.col-sm-10 > div.col-sm-8:before, body.author:not(.authorlist) .undefined-img:before, body.authorlist > div.container-fluid > div.row-fluid > div.col-sm-10:before, body.catlist > div.container-fluid > div.row-fluid > div.col-sm-10:before, body.downloadlist > div.container-fluid > div.row-fluid > div.col-sm-10:before, body.langlist > div.container-fluid > div > div.col-sm-10:before, body.ratingslist > div.container-fluid > div > div.col-sm-10:before, body.serieslist > div.container-fluid > div > div.col-sm-10:before, body.shelforder > div.container-fluid > div.row-fluid > div.col-sm-10:before {
position: fixed; position: fixed;
top: 62px; top: 62px;
right: 23px; right: 23px;
@@ -6547,7 +6589,7 @@ body.edituser.admin > div.container-fluid > div.row-fluid > div.col-sm-10 > div.
border-top: 1px solid hsla(0, 0%, 78%, .15) border-top: 1px solid hsla(0, 0%, 78%, .15)
} }
body > div.container-fluid > div > div.col-sm-10 > div.container { body > div.container-fluid > div > div.col-sm-10 > div.container1 {
left: 0; left: 0;
width: auto; width: auto;
margin: 0 !important; margin: 0 !important;
@@ -6674,7 +6716,7 @@ body.edituser.admin > div.container-fluid > div.row-fluid > div.col-sm-10 > div.
margin-bottom: 5px margin-bottom: 5px
} }
body > div.container-fluid > div > div.col-sm-10 > div.container > div > .row { body > div.container-fluid > div > div.col-sm-10 > div.container1 > div > .row {
padding: 0 padding: 0
} }
@@ -7441,11 +7483,11 @@ body.edituser.admin > div.container-fluid > div.row-fluid > div.col-sm-10 > div.
text-decoration: none text-decoration: none
} }
body > div.container-fluid > div > div.col-sm-10 > div.container > div > .row:nth-of-type(even) { body > div.container-fluid > div > div.col-sm-10 > div.container1 > div > .row:nth-of-type(even) {
background: 0 0 background: 0 0
} }
body > div.container-fluid > div > div.col-sm-10 > div.container > div > .row { body > div.container-fluid > div > div.col-sm-10 > div.container1 > div > .row {
border-bottom: 1px solid hsla(0, 0%, 78%, .15) border-bottom: 1px solid hsla(0, 0%, 78%, .15)
} }
@@ -7600,7 +7642,7 @@ body.formatslist > div.container-fluid > div > div.col-sm-10:before {
} }
} }
body.publisherlist > div.container-fluid > div > div.col-sm-10 > div.container:before { body.publisherlist > div.container-fluid > div > div.col-sm-10 > div.container1:before {
content: "Publishers"; content: "Publishers";
top: 115px; top: 115px;
font-size: 24px; font-size: 24px;
@@ -7608,17 +7650,18 @@ body.publisherlist > div.container-fluid > div > div.col-sm-10 > div.container:b
line-height: 1; line-height: 1;
padding-left: 15px; padding-left: 15px;
position: absolute; position: absolute;
display: table;
font-family: Open Sans Bold, Helvetica Neue, Helvetica, Arial, sans-serif; font-family: Open Sans Bold, Helvetica Neue, Helvetica, Arial, sans-serif;
font-weight: 400 font-weight: 400
} }
@media screen and (max-width: 992px) { @media screen and (max-width: 992px) {
body.publisherlist > div.container-fluid > div > div.col-sm-10 > div.container:before { body.publisherlist > div.container-fluid > div > div.col-sm-10 > div.container1:before {
top: 60px; top: 60px;
} }
} }
body.ratingslist > div.container-fluid > div > div.col-sm-10 > div.container:before { body.ratingslist > div.container-fluid > div > div.col-sm-10 > div.container1:before {
content: "Ratings"; content: "Ratings";
top: 115px; top: 115px;
font-size: 24px; font-size: 24px;
@@ -7626,23 +7669,24 @@ body.ratingslist > div.container-fluid > div > div.col-sm-10 > div.container:bef
line-height: 1; line-height: 1;
padding-left: 15px; padding-left: 15px;
position: absolute; position: absolute;
display: table;
font-family: Open Sans Bold, Helvetica Neue, Helvetica, Arial, sans-serif; font-family: Open Sans Bold, Helvetica Neue, Helvetica, Arial, sans-serif;
font-weight: 400 font-weight: 400
} }
@media screen and (max-width: 992px) { @media screen and (max-width: 992px) {
body.ratingslist > div.container-fluid > div > div.col-sm-10 > div.container:before { body.ratingslist > div.container-fluid > div > div.col-sm-10 > div.container1:before {
top: 60px; top: 60px;
} }
} }
@media screen and (max-width: 768px) { @media screen and (max-width: 768px) {
body.ratingslist > div.container-fluid > div > div.col-sm-10 > div.container:before { body.ratingslist > div.container-fluid > div > div.col-sm-10 > div.container1:before {
display: none; display: none;
} }
} }
body.formatslist > div.container-fluid > div > div.col-sm-10 > div.container:before { body.formatslist > div.container-fluid > div > div.col-sm-10 > div.container1:before {
content: "File formats"; content: "File formats";
top: 115px; top: 115px;
font-size: 24px; font-size: 24px;
@@ -7655,18 +7699,18 @@ body.formatslist > div.container-fluid > div > div.col-sm-10 > div.container:bef
} }
@media screen and (max-width: 992px) { @media screen and (max-width: 992px) {
body.formatslist > div.container-fluid > div > div.col-sm-10 > div.container:before { body.formatslist > div.container-fluid > div > div.col-sm-10 > div.container1:before {
top: 60px; top: 60px;
} }
} }
@media screen and (max-width: 768px) { @media screen and (max-width: 768px) {
body.formatslist > div.container-fluid > div > div.col-sm-10 > div.container:before { body.formatslist > div.container-fluid > div > div.col-sm-10 > div.container1:before {
display: none; display: none;
} }
} }
body.publisherlist > div.container-fluid > div > div.col-sm-10 > div.container > div.col-sm-6 { body.publisherlist > div.container-fluid > div > div.col-sm-10 > div.container1 > div.col-sm-6 {
width: 100% width: 100%
} }
@@ -7705,7 +7749,7 @@ body.publisherlist > div.container-fluid > div > div.col-sm-10 > div.container >
color: hsla(0, 0%, 100%, .7) color: hsla(0, 0%, 100%, .7)
} }
body.publisherlist > div.container-fluid > div > div.col-sm-10 > div.container:before { body.publisherlist > div.container-fluid > div > div.col-sm-10 > div.container1:before {
display: none !important display: none !important
} }
} }
+5
View File
@@ -13,6 +13,11 @@
color: #000; color: #000;
} }
.amberTheme {
background: #e8bf5e;
color: #000;
}
.blackTheme { .blackTheme {
background: #000; background: #000;
color: #fff; color: #fff;
+166 -80
View File
@@ -1,11 +1,10 @@
@font-face { @font-face {
font-family: 'fontello'; font-family: "fontello";
src: url('fonts/fontello.eot?60518104'); src: url("fonts/fontello.eot?60518104");
src: src: url("fonts/fontello.eot?60518104#iefix") format("embedded-opentype"),
url('fonts/fontello.eot?60518104#iefix') format('embedded-opentype'), url("fonts/fontello.woff?60518104") format("woff"),
url('fonts/fontello.woff?60518104') format('woff'), url("fonts/fontello.ttf?60518104") format("truetype"),
url('fonts/fontello.ttf?60518104') format('truetype'), url("fonts/fontello.svg?60518104#fontello") format("svg");
url('fonts/fontello.svg?60518104#fontello') format('svg');
font-weight: normal; font-weight: normal;
font-style: normal; font-style: normal;
} }
@@ -48,7 +47,7 @@ body {
-webkit-transition: opacity 0.5s; -webkit-transition: opacity 0.5s;
-moz-transition: opacity 0.5s; -moz-transition: opacity 0.5s;
transition: opacity 0.5s; transition: opacity 0.5s;
z-index: 10; z-index: 100;
} }
#titlebar:hover { #titlebar:hover {
@@ -93,14 +92,18 @@ body {
box-shadow: inset 0 0 6px rgba(155, 155, 155, 0.8); box-shadow: inset 0 0 6px rgba(155, 155, 155, 0.8);
} }
#book-title { font-weight: 600; } #book-title {
#title-seperator { display: none; } font-weight: 600;
}
#title-seperator {
display: none;
}
#viewer { #viewer {
width: 80%; width: 80%;
height: 80%; height: 80%;
margin: 0 auto; margin: 0 auto;
z-index: 2; z-index: 0;
position: relative; position: relative;
overflow: hidden; overflow: hidden;
} }
@@ -136,6 +139,7 @@ body {
user-select: none; user-select: none;
padding-top: 160px; padding-top: 160px;
padding-bottom: 160px; padding-bottom: 160px;
z-index: 10;
} }
.arrow:hover { .arrow:hover {
@@ -200,10 +204,16 @@ body {
max-width: 80%; max-width: 80%;
} }
#title-controls { float: right; } #title-controls {
float: right;
}
#panels a::before { visibility: visible; } #panels a::before {
#panels a:hover { color: #aaa; } visibility: visible;
}
#panels a:hover {
color: #aaa;
}
.list_item.currentChapter > a, .list_item.currentChapter > a,
.list_item a:hover { .list_item a:hover {
@@ -237,8 +247,12 @@ body {
margin-top: -1px; margin-top: -1px;
} }
input::-webkit-input-placeholder { color: #454545; } input::-webkit-input-placeholder {
input:-moz-placeholder { color: #454545; } color: #454545;
}
input:-moz-placeholder {
color: #454545;
}
#divider { #divider {
position: absolute; position: absolute;
@@ -378,14 +392,14 @@ input:-moz-placeholder { color: #454545; }
} }
.toc_toggle::before { .toc_toggle::before {
content: '▸'; content: "▸";
color: #fff; color: #fff;
margin-right: -4px; margin-right: -4px;
} }
.currentChapter > .toc_toggle::before, .currentChapter > .toc_toggle::before,
.openChapter > .toc_toggle::before { .openChapter > .toc_toggle::before {
content: '▾'; content: "▾";
} }
.view { .view {
@@ -499,21 +513,33 @@ input:-moz-placeholder { color: #454545; }
list-style-type: none; list-style-type: none;
} }
#settingsPanel .xsmall { font-size: x-small; } #settingsPanel .xsmall {
#settingsPanel .small { font-size: small; } font-size: x-small;
#settingsPanel .medium { font-size: medium; } }
#settingsPanel .large { font-size: large; } #settingsPanel .small {
#settingsPanel .xlarge { font-size: x-large; } font-size: small;
}
#settingsPanel .medium {
font-size: medium;
}
#settingsPanel .large {
font-size: large;
}
#settingsPanel .xlarge {
font-size: x-large;
}
.highlight { background-color: yellow; } .highlight {
background-color: yellow;
}
.modal { .modal {
position: fixed; position: fixed;
top: 50%; top: 50%;
left: 50%; left: 50%;
transform: translate(-50%, -50%); transform: translate(-50%, -50%);
width: 100vw; width: 97vw;
height: auto; height: 90dvh;
max-width: 630px; max-width: 630px;
z-index: 2000; z-index: 2000;
visibility: hidden; visibility: hidden;
@@ -539,7 +565,7 @@ input:-moz-placeholder { color: #454545; }
} }
.md-show ~ .overlay { .md-show ~ .overlay {
opacity: 1; /* opacity: 1; */
visibility: visible; visibility: visible;
} }
@@ -554,7 +580,7 @@ input:-moz-placeholder { color: #454545; }
} }
.md-content > div { .md-content > div {
padding: 15px 40px 30px; padding: 10px 20px;
margin: 0; margin: 0;
font-weight: 300; font-weight: 300;
font-size: 14px; font-size: 14px;
@@ -581,6 +607,7 @@ input:-moz-placeholder { color: #454545; }
color: white; color: white;
} }
.md-content .themes button.lightTheme,
.md-content .themes button.whiteTheme { .md-content .themes button.whiteTheme {
background-color: white; background-color: white;
color: black; color: black;
@@ -591,6 +618,11 @@ input:-moz-placeholder { color: #454545; }
color: black; color: black;
} }
.md-content .themes button.amberTheme {
background-color: #e8bf5e;
color: black;
}
.md-content .themes button.blackTheme { .md-content .themes button.blackTheme {
background-color: black; background-color: black;
color: white; color: white;
@@ -638,31 +670,47 @@ input:-moz-placeholder { color: #454545; }
@media only screen and (max-width: 900px) { @media only screen and (max-width: 900px) {
#viewer { #viewer {
width: 60%; width: 100%;
margin-left: 20%; height: calc(100dvh - 99px);
margin-left: 0;
}
#viewer iframe {
width: 100%;
height: 100%;
} }
#prev { #prev {
left: 20px; left: 20px;
z-index: 10;
} }
#next { #next {
right: 20px; right: 20px;
z-index: 10;
} }
} }
@media only screen and (max-width: 550px) { @media only screen and (max-width: 550px) {
#viewer { #viewer {
width: 80%; width: 100%;
margin-left: 10%; height: calc(100dvh - 99px);
margin-left: 0;
}
#viewer iframe {
width: 100%;
height: 100%;
} }
#prev { #prev {
left: 0; left: 0;
z-index: 10;
} }
#next { #next {
right: 0; right: 0;
z-index: 10;
} }
.arrow { .arrow {
@@ -712,11 +760,7 @@ input:-moz-placeholder { color: #454545; }
} }
} }
@media only screen @media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) /* and (-webkit-min-device-pixel-ratio: 2) */ {
and (min-device-width: 768px)
and (max-device-width: 1024px)
and (orientation: landscape)
/* and (-webkit-min-device-pixel-ratio: 2)*/ {
#viewer { #viewer {
width: 80%; width: 80%;
margin-left: 10%; margin-left: 10%;
@@ -739,47 +783,52 @@ input:-moz-placeholder { color: #454545; }
/* For iPhone 6\6s portrait layouts only */ /* For iPhone 6\6s portrait layouts only */
@media only screen and (min-device-width: 375px) and (max-device-width: 667px) and (orientation: portrait) { @media only screen and (min-device-width: 375px) and (max-device-width: 667px) and (orientation: portrait) {
#viewer { #viewer {
width: 300px; width: 100%;
height: 480px; height: calc(100dvh - 99px);
} }
#viewer iframe { #viewer iframe {
width: 300px; width: 100%;
height: 480px; height: 100%;
} }
} }
/* For iPhone 6\6s landscape layouts only */ /* For iPhone 6\6s landscape layouts only */
@media only screen and (min-device-width: 375px) and (max-device-width: 667px) and (orientation: landscape) { @media only screen and (min-device-width: 375px) and (max-device-width: 667px) and (orientation: landscape) {
#viewer { #viewer {
width: 450px; width: 100%;
height: 300px; height: calc(100dvh - 99px);
} }
#viewer iframe { #viewer iframe {
width: 450px; width: 100%;
height: 300px; height: 100%;
} }
} }
/* For iPhone portrait layouts only */ /* For iPhone portrait layouts only */
@media only screen and (max-device-width: 374px) and (orientation: portrait) { @media only screen and (max-device-width: 374px) and (orientation: portrait) {
#viewer { #viewer {
width: 256px; width: 100%;
height: 432px; height: calc(100dvh - 99px);
} }
#viewer iframe { #viewer iframe {
width: 256px; width: 100%;
height: 432px; height: 100%;
} }
} }
/* For iPhone landscape layouts only */ /* For iPhone landscape layouts only */
@media only screen and (max-device-width: 374px) and (orientation: landscape) { @media only screen and (max-device-width: 374px) and (orientation: landscape) {
#viewer {
width: 100%;
height: calc(100dvh - 99px);
}
#viewer iframe { #viewer iframe {
width: 256px; width: 100%;
height: 124px; height: 100%;
} }
} }
@@ -803,32 +852,69 @@ input:-moz-placeholder { color: #454545; }
font-size: 112%; font-size: 112%;
} }
.icon-search::before { content: '\e807'; } /* '' */ .icon-search::before {
.icon-resize-full-1::before { content: '\e804'; } /* '' */ content: "\e807";
.icon-cancel-circled2::before { content: '\e80f'; } /* '' */ } /* '' */
.icon-link::before { content: '\e80d'; } /* '' */ .icon-resize-full-1::before {
.icon-bookmark::before { content: '\e805'; } /* '' */ content: "\e804";
.icon-bookmark-empty::before { content: '\e806'; } /* '' */ } /* '' */
.icon-download-cloud::before { content: '\e811'; } /* '' */ .icon-cancel-circled2::before {
.icon-edit::before { content: '\e814'; } /* '' */ content: "\e80f";
.icon-menu::before { content: '\e802'; } /* '' */ } /* '' */
.icon-cog::before { content: '\e813'; } /* '' */ .icon-link::before {
.icon-resize-full::before { content: '\e812'; } /* '' */ content: "\e80d";
.icon-cancel-circled::before { content: '\e80e'; } /* '' */ } /* '' */
.icon-up-dir::before { content: '\e80c'; } /* '' */ .icon-bookmark::before {
.icon-right-dir::before { content: '\e80b'; } /* '' */ content: "\e805";
.icon-angle-right::before { content: '\e809'; } /* '' */ } /* '' */
.icon-angle-down::before { content: '\e80a'; } /* '' */ .icon-bookmark-empty::before {
.icon-right::before { content: '\e815'; } /* '' */ content: "\e806";
.icon-list-1::before { content: '\e803'; } /* '' */ } /* '' */
.icon-list-numbered::before { content: '\e801'; } /* '' */ .icon-download-cloud::before {
.icon-columns::before { content: '\e810'; } /* '' */ content: "\e811";
.icon-list::before { content: '\e800'; } /* '' */ } /* '' */
.icon-resize-small::before { content: '\e808'; } /* '' */ .icon-edit::before {
content: "\e814";
#progress{ } /* '' */
right: 4rem; .icon-menu::before {
bottom: 4rem; content: "\e802";
width: fit-content; } /* '' */
position: absolute; .icon-cog::before {
} content: "\e813";
} /* '' */
.icon-resize-full::before {
content: "\e812";
} /* '' */
.icon-cancel-circled::before {
content: "\e80e";
} /* '' */
.icon-up-dir::before {
content: "\e80c";
} /* '' */
.icon-right-dir::before {
content: "\e80b";
} /* '' */
.icon-angle-right::before {
content: "\e809";
} /* '' */
.icon-angle-down::before {
content: "\e80a";
} /* '' */
.icon-right::before {
content: "\e815";
} /* '' */
.icon-list-1::before {
content: "\e803";
} /* '' */
.icon-list-numbered::before {
content: "\e801";
} /* '' */
.icon-columns::before {
content: "\e810";
} /* '' */
.icon-list::before {
content: "\e800";
} /* '' */
.icon-resize-small::before {
content: "\e808";
} /* '' */
+37 -3
View File
@@ -11,7 +11,7 @@
border-radius: 20px; border-radius: 20px;
display: flex; display: flex;
align-items: center; align-items: center;
box-shadow: 0px 15px 40px #7E6D5766; box-shadow: 0px 15px 40px #7e6d5766;
} }
.slider label { .slider label {
font-size: 20px; font-size: 20px;
@@ -29,8 +29,8 @@
} }
.item { .item {
font-size: 20px; font-size: 14px;
font-weight: 400; font-weight: 600;
font-family: Open Sans; font-family: Open Sans;
padding-right: 10px; padding-right: 10px;
color: white; color: white;
@@ -45,3 +45,37 @@
margin-right: 1%; margin-right: 1%;
font-size: 16px; font-size: 16px;
} }
#main,
#viewer,
#sidebar,
#tocView {
touch-action: pan-y;
}
.read-footer {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 12px;
}
.read-footer #pages-count {
font-size: 12px;
position: absolute;
left: 12px;
bottom: 2px;
}
#back-button {
width: 50px !important;
right: 50px;
// position: absolute;
}
#progress {
right: 4rem;
bottom: 2px;
width: fit-content;
position: absolute;
}
+3
View File
@@ -429,6 +429,9 @@ div.log {
padding: 0.5em; padding: 0.5em;
} }
.badge-sm{
font-size: 70%;
}
#detailcover { cursor:zoom-in; } #detailcover { cursor:zoom-in; }
#detailcover:-webkit-full-screen { cursor:zoom-out; border: 0; } #detailcover:-webkit-full-screen { cursor:zoom-out; border: 0; }
#detailcover:-moz-full-screen { cursor:zoom-out; border: 0; } #detailcover:-moz-full-screen { cursor:zoom-out; border: 0; }
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+93 -13
View File
@@ -10,7 +10,7 @@ var reader;
reader = ePubReader(calibre.bookUrl, { reader = ePubReader(calibre.bookUrl, {
restore: true, restore: true,
bookmarks: calibre.bookmark ? [calibre.bookmark] : [] bookmarks: calibre.bookmark ? [calibre.bookmark] : [],
}); });
Object.keys(themes).forEach(function (theme) { Object.keys(themes).forEach(function (theme) {
@@ -54,29 +54,92 @@ var reader;
// Update progress percentage // Update progress percentage
let progressDiv = document.getElementById("progress"); let progressDiv = document.getElementById("progress");
reader.book.ready.then((()=>{ // Pages counter (virtual pages via EPUB locations)
let locations_key = reader.book.key()+'-locations'; let pagesDiv = document.getElementById("pages-count");
// Honor saved visibility preference for pages counter
(function () {
try {
var pref = localStorage.getItem("calibre.reader.showPages");
var show = pref === null ? true : pref === "true";
if (pagesDiv)
pagesDiv.style.visibility = show ? "visible" : "hidden";
} catch (e) {}
})();
reader.book.ready.then(() => {
let locations_key = reader.book.key() + "-locations";
// Key to persist last-read position for this book in localStorage
let position_key = "calibre.reader.position." + reader.book.key();
let stored_locations = localStorage.getItem(locations_key); let stored_locations = localStorage.getItem(locations_key);
let make_locations, save_locations; let make_locations, save_locations;
if (stored_locations) { if (stored_locations) {
make_locations = Promise.resolve(reader.book.locations.load(stored_locations)); make_locations = Promise.resolve(
reader.book.locations.load(stored_locations)
);
// No-op because locations are already saved // No-op because locations are already saved
save_locations = () => {}; save_locations = () => {};
} else { } else {
make_locations = reader.book.locations.generate(); make_locations = reader.book.locations.generate();
save_locations = () => { save_locations = () => {
localStorage.setItem(locations_key, reader.book.locations.save()); localStorage.setItem(
locations_key,
reader.book.locations.save()
);
}; };
} }
make_locations.then(()=>{ make_locations
reader.rendition.on('relocated', (location)=>{ .then(() => {
// Try to restore last position (CFI) from localStorage if present
try {
var _savedPos = localStorage.getItem(position_key);
if (_savedPos) {
try {
var _posObj = JSON.parse(_savedPos);
if (_posObj && _posObj.cfi) {
// Display the saved CFI location
try {
reader.rendition.display(_posObj.cfi);
} catch (e) {}
}
} catch (e) {}
}
} catch (e) {}
reader.rendition.on("relocated", (location) => {
let percentage = Math.round(location.end.percentage * 100); let percentage = Math.round(location.end.percentage * 100);
progressDiv.textContent = percentage + "%"; progressDiv.textContent = percentage + "%";
// Pages based on generated EPUB locations (CFI positions)
const cfi = location.start.cfi;
const current =
reader.book.locations.locationFromCfi(cfi) || 0; // 1-based index typically
const total = reader.book.locations.length() || 0;
if (total > 0) {
pagesDiv.textContent = current + "/" + total;
pagesDiv.style.visibility = "visible";
} else {
pagesDiv.textContent = "";
pagesDiv.style.visibility = "hidden";
}
// Persist last position (CFI + percentage) to localStorage so reader can restore on next open
try {
var posObj = {
cfi: location.start.cfi,
percentage: location.start.percentage,
};
localStorage.setItem(
position_key,
JSON.stringify(posObj)
);
} catch (e) {}
}); });
reader.rendition.reportLocation(); reader.rendition.reportLocation();
progressDiv.style.visibility = "visible"; progressDiv.style.visibility = "visible";
}).then(save_locations); })
})); .then(save_locations);
});
/** /**
* @param {string} action - Add or remove bookmark * @param {string} action - Add or remove bookmark
@@ -85,11 +148,15 @@ var reader;
function updateBookmark(action, location) { function updateBookmark(action, location) {
// Remove other bookmarks (there can only be one) // Remove other bookmarks (there can only be one)
if (action === "add") { if (action === "add") {
this.settings.bookmarks.filter(function (bookmark) { this.settings.bookmarks
.filter(function (bookmark) {
return bookmark && bookmark !== location; return bookmark && bookmark !== location;
}).map(function (bookmark) { })
.map(
function (bookmark) {
this.removeBookmark(bookmark); this.removeBookmark(bookmark);
}.bind(this)); }.bind(this)
);
} }
var csrftoken = $("input[name='csrf_token']").val(); var csrftoken = $("input[name='csrf_token']").val();
@@ -98,7 +165,7 @@ var reader;
$.ajax(calibre.bookmarkUrl, { $.ajax(calibre.bookmarkUrl, {
method: "post", method: "post",
data: { bookmark: location || "" }, data: { bookmark: location || "" },
headers: { "X-CSRFToken": csrftoken } headers: { "X-CSRFToken": csrftoken },
}).fail(function (xhr, status, error) { }).fail(function (xhr, status, error) {
alert(error); alert(error);
}); });
@@ -107,4 +174,17 @@ var reader;
// Default settings load // Default settings load
const theme = localStorage.getItem("calibre.reader.theme") ?? "lightTheme"; const theme = localStorage.getItem("calibre.reader.theme") ?? "lightTheme";
selectTheme(theme); selectTheme(theme);
// Restore saved font and font size after reader is ready
reader.book.ready.then(() => {
const savedFontSize = localStorage.getItem("calibre.reader.fontSize");
if (savedFontSize) {
reader.rendition.themes.fontSize(`${savedFontSize}%`);
}
const savedFont = localStorage.getItem("calibre.reader.font");
if (savedFont && window.selectFont) {
window.selectFont(savedFont);
}
});
})(); })();
+3 -5
View File
@@ -153,7 +153,7 @@
{% if current_user.is_authenticated or g.allow_anonymous %} {% if current_user.is_authenticated or g.allow_anonymous %}
<li class="nav-head hidden-xs public-shelves">{{_('Shelves')}}</li> <li class="nav-head hidden-xs public-shelves">{{_('Shelves')}}</li>
{% for shelf in g.shelves_access %} {% for shelf in g.shelves_access %}
<li><a href="{{url_for('shelf.show_shelf', shelf_id=shelf.id)}}"><span class="glyphicon glyphicon-list shelf"></span> {{shelf.name|shortentitle(40)}}{% if shelf.is_public == 1 %} {{_('(Public)')}}{% endif %}</a></li> <li><a href="{{url_for('shelf.show_shelf', shelf_id=shelf.id)}}"><span class="glyphicon glyphicon-list shelf"></span> {{shelf.name|shortentitle(40)}}{% if shelf.is_public == 1 %} {{_('(Public)')}}{% endif %} <span class="badge badge-sm">{{shelf.books.all()|length}}</span></a></li>
{% endfor %} {% endfor %}
{% if not current_user.is_anonymous %} {% if not current_user.is_anonymous %}
<li id="nav_createshelf" class="create-shelf"><a href="{{url_for('shelf.create_shelf')}}">{{_('Create a Shelf')}}</a></li> <li id="nav_createshelf" class="create-shelf"><a href="{{url_for('shelf.create_shelf')}}">{{_('Create a Shelf')}}</a></li>
@@ -170,8 +170,7 @@
{% if pagination and (pagination.has_next or pagination.has_prev) %} {% if pagination and (pagination.has_next or pagination.has_prev) %}
<div class="pagination"> <div class="pagination">
{% if pagination.has_prev %} {% if pagination.has_prev %}
<li class="page-item page-previous"><a class="page-link" aria-label="next page" href="{{ (pagination.page - 1)|url_for_other_page <li class="page-item page-previous"><a class="page-link" aria-label="next page" href="{{ (pagination.page - 1)|url_for_other_page }}">&laquo; {{_('Previous')}}</a></li>
}}">&laquo; {{_('Previous')}}</a></li>
{% endif %} {% endif %}
{% for page in pagination.iter_pages() %} {% for page in pagination.iter_pages() %}
{% if page %} {% if page %}
@@ -185,8 +184,7 @@
{% endif %} {% endif %}
{% endfor %} {% endfor %}
{% if pagination.has_next %} {% if pagination.has_next %}
<li class="page-item page-next"><a class="page-link next" aria-label="next page" href="{{ (pagination.page + 1)|url_for_other_page <li class="page-item page-next"><a class="page-link next" aria-label="next page" href="{{ (pagination.page + 1)|url_for_other_page }}">{{_('Next')}} &raquo;</a></li>
}}">{{_('Next')}} &raquo;</a></li>
{% endif %} {% endif %}
</div> </div>
{% endif %} {% endif %}
+1 -1
View File
@@ -22,7 +22,7 @@
<button class="update-view btn btn-primary" data-target="series_view" id="grid-button" data-view="grid">{{_('Grid')}}</button> <button class="update-view btn btn-primary" data-target="series_view" id="grid-button" data-view="grid">{{_('Grid')}}</button>
{% endif %} {% endif %}
</div> </div>
<div> <div class="container1">
<div id="list" class="col-xs-12 col-sm-6"> <div id="list" class="col-xs-12 col-sm-6">
{% for entry in entries %} {% for entry in entries %}
{% if loop.index0 == (loop.length/2+loop.length%2)|int and loop.length > 20 %} {% if loop.index0 == (loop.length/2+loop.length%2)|int and loop.length > 20 %}
+294 -19
View File
@@ -29,6 +29,7 @@
<!--a id="show-Search" class="show_view icon-search" data-view="Search">Search</a--> <!--a id="show-Search" class="show_view icon-search" data-view="Search">Search</a-->
<a id="show-Toc" class="show_view icon-list-1 active" data-view="Toc">TOC</a> <a id="show-Toc" class="show_view icon-list-1 active" data-view="Toc">TOC</a>
<a id="show-Bookmarks" class="show_view icon-bookmark" data-view="Bookmarks">Bookmarks</a> <a id="show-Bookmarks" class="show_view icon-bookmark" data-view="Bookmarks">Bookmarks</a>
<a id="back-button" data-view="Back to Books" href="{{ url_for('web.index') }}">Books</a>
<!--a id="show-Notes" class="show_view icon-edit" data-view="Notes">Notes</a--> <!--a id="show-Notes" class="show_view icon-edit" data-view="Notes">Notes</a-->
</div> </div>
@@ -49,7 +50,6 @@
</div--> </div-->
</div> </div>
<div id="main"> <div id="main">
<div id="titlebar"> <div id="titlebar">
<div id="opener"> <div id="opener">
<a id="slider" class="icon-menu">Menu</a> <a id="slider" class="icon-menu">Menu</a>
@@ -70,8 +70,13 @@
<div id="prev" class="arrow">‹</div> <div id="prev" class="arrow">‹</div>
<div id="viewer"></div> <div id="viewer"></div>
<div id="next" class="arrow">›</div> <div id="next" class="arrow">›</div>
<div class="read-footer">
<div id="pages-count"></div>
<div id="progress">0%</div> <div id="progress">0%</div>
<div id="loader"><img src="{{ url_for('static', filename='img/loader.gif') }}"></div> </div>
<div id="loader">
<img src="{{ url_for('static', filename='img/loader.gif') }}">
</div>
</div> </div>
<div class="modal md-effect-1" id="settings-modal"> <div class="modal md-effect-1" id="settings-modal">
<div class="md-content"> <div class="md-content">
@@ -86,8 +91,17 @@
id="darkSelected"> </span>{{_('Dark')}}</button> id="darkSelected"> </span>{{_('Dark')}}</button>
<button type="button" id="sepiaTheme" class="sepiaTheme" onclick="selectTheme(this.id)"><span <button type="button" id="sepiaTheme" class="sepiaTheme" onclick="selectTheme(this.id)"><span
id="sepiaSelected"> </span>{{_('Sepia')}}</button> id="sepiaSelected"> </span>{{_('Sepia')}}</button>
<button type="button" id="amberTheme" class="amberTheme" onclick="selectTheme(this.id)"><span
id="amberSelected"> </span>{{_('Amber')}}</button>
<button type="button" id="blackTheme" class="blackTheme" onclick="selectTheme(this.id)"><span <button type="button" id="blackTheme" class="blackTheme" onclick="selectTheme(this.id)"><span
id="blackSelected"> </span>{{_('Black')}}</button> id="blackSelected"> </span>{{_('Black')}}</button>
<!-- Custom theme: color input + pickr -->
<div id="customThemeWrapper" style="display: inline-flex; align-items: center;gap: 8px;margin: 5px 8px;">Custom:
<!-- Picker-only UI: swatch acts as the picker button, and a small span shows selection tick -->
<div id="customThemeSwatch" title="Pick color" style="width: 30px; height: 30px; border: 1px solid #ccc; border-radius: 3px;cursor: pointer;"></div>
<span id="customSelected"> </span>
</div>
</div> </div>
<div class="form-group"> <div class="form-group">
<p> <p>
@@ -95,10 +109,17 @@
name="sidebarReflow">{{_('Reflow text when sidebars are open.')}} name="sidebarReflow">{{_('Reflow text when sidebars are open.')}}
</p> </p>
</div> </div>
<div class="form-group">
<p>
<input type="checkbox" id="showPagesCount" name="showPagesCount"/>{{_('Show pages count')}}
</p>
</div>
<div class="form-group fontSizeWrapper"> <div class="form-group fontSizeWrapper">
<div class="slider"> <label>{{ _('Font Size') }}</label>
<label for="fader">{{ _('Font Sizes') }}</label> <div class="font-size-controls" style="display: flex;align-items: center;gap: 10px;margin-top: 2px;">
<input type="range" min="75" max="200" value="100" id="fontSizeFader" step="25"> <button type="button" id="fontSizeDecrease" style="padding: 8px 15px; font-size: 18px; cursor: pointer">−</button>
<span id="fontSizeDisplay" style="min-width: 60px;text-align: center;font-size: 14px;font-weight: bold;">100%</span>
<button type="button" id="fontSizeIncrease" style="padding: 8px 15px; font-size: 18px; cursor: pointer">+</button>
</div> </div>
</div> </div>
<div class="font" id="font"> <div class="font" id="font">
@@ -119,8 +140,7 @@
</div> </div>
<div class="overlay"></div> <div class="overlay"></div>
<script src="{{ url_for('static', filename='js/libs/jquery.min.js') }}"></script> <script src="{{ url_for('static', filename='js/libs/jquery.min.js') }}"></script>
<script src="{{ url_for('static', filename='js/compress/jszip_epub.min.js') }}"> <script src="{{ url_for('static', filename='js/compress/jszip_epub.min.js') }}"></script>
</script>
<script src="{{ url_for('static', filename='js/libs/epub.min.js') }}"></script> <script src="{{ url_for('static', filename='js/libs/epub.min.js') }}"></script>
<script type="text/javascript"> <script type="text/javascript">
window.calibre = { window.calibre = {
@@ -132,6 +152,14 @@
useBookmarks: "{{ current_user.is_authenticated | tojson }}" useBookmarks: "{{ current_user.is_authenticated | tojson }}"
}; };
// load custom theme color from localStorage (if any)
var _savedCustomThemeColor = null;
try {
_savedCustomThemeColor = localStorage.getItem(
"calibre.reader.customTheme"
);
} catch (e) {}
window.themes = { window.themes = {
"darkTheme": { "darkTheme": {
"bgColor": "#202124", "bgColor": "#202124",
@@ -148,6 +176,11 @@
"css_path": "{{ url_for('static', filename='css/epub_themes.css') }}", "css_path": "{{ url_for('static', filename='css/epub_themes.css') }}",
"title-color": "#4f4f4f" "title-color": "#4f4f4f"
}, },
"amberTheme": {
"bgColor": "#e8bf5e",
"css_path": "{{ url_for('static', filename='css/epub_themes.css') }}",
"title-color": "#2f2f2f"
},
"blackTheme": { "blackTheme": {
"bgColor": "black", "bgColor": "black",
"css_path": "{{ url_for('static', filename='css/epub_themes.css') }}", "css_path": "{{ url_for('static', filename='css/epub_themes.css') }}",
@@ -157,20 +190,46 @@
function selectTheme (id) { function selectTheme (id) {
let tickSpans = document.getElementById("themes").querySelectorAll("span"); let tickSpans = document.getElementById("themes").querySelectorAll("span");
// Remove tick mark from all theme buttons
tickSpans.forEach(function (tickSpan) { tickSpans.forEach(function (tickSpan) {
document.getElementById(tickSpan.id).textContent = ""; try {
tickSpan.textContent = "";
} catch (e) {}
}); });
// Add tick mark to the button corresponding to the currently selected theme // If the theme button exists, set its inner span to a tick. Otherwise set any span with the matching id.
document.getElementById(id).querySelector("span").textContent = "✓"; let el = document.getElementById(id);
if (el) {
let sp = el.querySelector("span");
if (sp) sp.textContent = "✓";
} else {
let spById = document.getElementById(id + "Selected") || document.getElementById("customSelected");
if (spById) spById.textContent = "✓";
}
// Saving theme to local storage // Saving theme to local storage
localStorage.setItem("calibre.reader.theme", id); localStorage.setItem("calibre.reader.theme", id);
// If selecting custom theme, ensure epubjs theme is registered with chosen bg color
if (id === "customTheme") {
let customColor = window.themes.customTheme.bgColor || "#ffffff";
try {
if (reader && reader.rendition && reader.rendition.themes) {
reader.rendition.themes.register("customTheme", {
body: {
background: customColor,
},
});
reader.rendition.themes.select("customTheme");
}
} catch (e) {
console.error("Failed to register/select customTheme", e);
}
} else {
// Apply theme to epubjs iframe // Apply theme to epubjs iframe
try {
reader.rendition.themes.select(id); reader.rendition.themes.select(id);
} catch (e) {}
}
// Apply theme to rest of the page. // Apply theme to rest of the page.
document.getElementById("main").style.backgroundColor = themes[id]["bgColor"]; document.getElementById("main").style.backgroundColor = themes[id]["bgColor"];
@@ -179,14 +238,45 @@
} }
// font size settings logic // font size settings logic
let fontSizeFader = document.getElementById('fontSizeFader'); let currentFontSize = 100; // default 100%
fontSizeFader.addEventListener("change", function () { const minFontSize = 50;
reader.rendition.themes.fontSize(`${this.value}%`); const maxFontSize = 300;
const stepSize = 5;
const fontSizeDisplay = document.getElementById("fontSizeDisplay");
const fontSizeDecrease = document.getElementById("fontSizeDecrease");
const fontSizeIncrease = document.getElementById("fontSizeIncrease");
function updateFontSize(newSize) {
if (newSize < minFontSize) newSize = minFontSize;
if (newSize > maxFontSize) newSize = maxFontSize;
currentFontSize = newSize;
fontSizeDisplay.textContent = newSize + "%";
localStorage.setItem("calibre.reader.fontSize", newSize);
if (reader && reader.rendition) {
reader.rendition.themes.fontSize(`${newSize}%`);
}
}
// Restore saved font size on load
const savedFontSize = localStorage.getItem("calibre.reader.fontSize");
if (savedFontSize) {
currentFontSize = parseInt(savedFontSize);
fontSizeDisplay.textContent = savedFontSize + "%";
}
fontSizeDecrease.addEventListener("click", function () {
updateFontSize(currentFontSize - stepSize);
});
fontSizeIncrease.addEventListener("click", function () {
updateFontSize(currentFontSize + stepSize);
}); });
let defaultFont; let defaultFont;
function selectFont(id) { window.selectFont = function (id) {
if (!defaultFont) { if (!defaultFont) {
defaultFont = reader.rendition.getContents()[0]?.css('font-family'); defaultFont = reader.rendition.getContents()[0]?.css('font-family');
} }
@@ -197,12 +287,15 @@
} }
document.getElementById(id).querySelector("span").textContent = "✓"; document.getElementById(id).querySelector("span").textContent = "✓";
if (id == 'default') { // Save font selection to localStorage
localStorage.setItem("calibre.reader.font", id);
if (id == "default") {
reader.rendition.themes.font(defaultFont); reader.rendition.themes.font(defaultFont);
return; return;
} }
reader.rendition.themes.font(id); reader.rendition.themes.font(id);
} };
function spread(id) { function spread(id) {
spans = document.getElementById("layout").querySelectorAll("span"); spans = document.getElementById("layout").querySelectorAll("span");
@@ -210,8 +303,190 @@
spans[i].textContent = ""; spans[i].textContent = "";
} }
document.getElementById(id).querySelector("span").textContent = "✓"; document.getElementById(id).querySelector("span").textContent = "✓";
reader.rendition.spread(id==='spread'?true:'none'); reader.rendition.spread(id==="spread" ? true : "none");
} }
// Pages counter visibility setting
(function () {
var checkbox = document.getElementById("showPagesCount");
var pagesEl = document.getElementById("pages-count");
var key = "calibre.reader.showPages";
var saved = localStorage.getItem(key);
var show = saved === null ? true : saved === "true";
if (checkbox) checkbox.checked = show;
if (pagesEl) pagesEl.style.display = show ? "" : "none";
if (checkbox) {
checkbox.addEventListener("change", function () {
var val = checkbox.checked;
localStorage.setItem(key, String(val));
var target = document.getElementById("pages-count");
if (target) target.style.visibility = val ? "visible" : "hidden";
});
}
})();
</script>
<script type="text/javascript">
// Initialize custom theme UI and Pickr once Pickr is available
(function () {
var swatch = document.getElementById("customThemeSwatch");
var saved =
window.themes &&
window.themes.customTheme &&
window.themes.customTheme.bgColor
? window.themes.customTheme.bgColor
: "#ffffff";
if (swatch) swatch.style.background = saved;
function _hexToRgb(hex) {
hex = hex.replace("#", "");
if (hex.length === 3) {
hex = hex
.split("")
.map(function (h) {
return h + h;
})
.join("");
}
var bigint = parseInt(hex, 16);
return {
r: (bigint >> 16) & 255,
g: (bigint >> 8) & 255,
b: bigint & 255,
};
}
// Better contrast decision using WCAG relative luminance and contrast ratio
// Returns true if black text is the better choice (i.e. background is light)
function _isLight(hex) {
try {
var rgb = _hexToRgb(hex);
// convert 0-255 to 0-1
var srgb = { r: rgb.r / 255, g: rgb.g / 255, b: rgb.b / 255 };
function lin(c) {
return c <= 0.03928
? c / 12.92
: Math.pow((c + 0.055) / 1.055, 2.4);
}
var R = lin(srgb.r),
G = lin(srgb.g),
B = lin(srgb.b);
var L = 0.2126 * R + 0.7152 * G + 0.0722 * B; // relative luminance
// contrast ratios against black (L=0) and white (L=1)
var contrastWithBlack = (L + 0.05) / (0.0 + 0.05);
var contrastWithWhite = (1.0 + 0.05) / (L + 0.05);
// pick the text color that gives higher contrast. If black gives >= contrast, treat bg as light
return contrastWithBlack >= contrastWithWhite;
} catch (e) {
return true;
}
}
function applyCustomColor(hex) {
if (!hex) return;
if (hex[0] !== "#") hex = "#" + hex;
window.themes.customTheme.bgColor = hex;
try {
localStorage.setItem("calibre.reader.customTheme", hex);
} catch (e) {}
if (swatch) swatch.style.background = hex;
// Mark theme as selected
try {
localStorage.setItem("calibre.reader.theme", "customTheme");
} catch (e) {}
// Clear ticks and set custom tick
var tickSpans = document
.getElementById("themes")
.querySelectorAll("span");
tickSpans.forEach(function (ts) {
ts.textContent = "";
});
var customTick = document.getElementById("customSelected");
if (customTick) customTick.textContent = "✓";
// Compute title/text color based on contrast (black or white)
var titleColor = _isLight(hex) ? "#000000" : "#ffffff";
try {
document.getElementById("main").style.backgroundColor = hex;
document.getElementById("titlebar").style.color = titleColor;
document.getElementById("progress").style.color = titleColor;
} catch (e) {}
// Persist title-color in themes map so selectTheme reads a consistent value
try {
window.themes.customTheme["title-color"] = titleColor;
} catch (e) {}
// Register and select theme in epub rendition (include text color)
try {
if (reader && reader.rendition && reader.rendition.themes) {
reader.rendition.themes.register("customTheme", {
body: { background: hex, color: titleColor },
});
reader.rendition.themes.select("customTheme");
}
} catch (e) {
console.error("Failed to apply custom theme to reader", e);
}
}
// Delay init until Pickr is available
function ensurePickrAndInit() {
if (window.Pickr) {
try {
var pickr = Pickr.create({
el: "#customThemeSwatch",
theme: "classic",
default: saved,
components: {
preview: true,
opacity: false,
hue: true,
interaction: {
hex: true,
input: true,
save: true,
},
},
});
// Immediate apply when color changes in the picker
pickr.on("change", function (color, instance) {
try {
var hex = color.toHEXA().toString();
if (swatch) swatch.style.background = hex;
applyCustomColor(hex);
} catch (e) {}
});
// Also respond to save (some pickr configs use save)
pickr.on("save", function (color, instance) {
try {
var hex = color.toHEXA().toString();
if (swatch) swatch.style.background = hex;
applyCustomColor(hex);
pickr.hide();
} catch (e) {}
});
// Clicking swatch opens pickr
if (swatch)
swatch.addEventListener("click", function () {
pickr.show();
});
} catch (e) {
console.error("Pickr init failed", e);
}
return;
}
// wait a bit
setTimeout(ensurePickrAndInit, 150);
}
ensurePickrAndInit();
})();
</script> </script>
<script src="{{ url_for('static', filename='js/libs/screenfull.min.js') }}"></script> <script src="{{ url_for('static', filename='js/libs/screenfull.min.js') }}"></script>
<script src="{{ url_for('static', filename='js/libs/reader.min.js') }}"></script> <script src="{{ url_for('static', filename='js/libs/reader.min.js') }}"></script>
Binary file not shown.
+35 -27
View File
@@ -7,7 +7,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: 2025-12-06 11:51+0100\n" "POT-Creation-Date: 2025-12-14 14:44+0100\n"
"PO-Revision-Date: 2025-06-07 14:44+0300\n" "PO-Revision-Date: 2025-06-07 14:44+0300\n"
"Last-Translator: UsamaFoad <usamafoad@gmail.com>\n" "Last-Translator: UsamaFoad <usamafoad@gmail.com>\n"
"Language: ar\n" "Language: ar\n"
@@ -16,7 +16,7 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.17.0\n" "Generated-By: Babel 2.15.0\n"
#: cps/about.py:85 #: cps/about.py:85
msgid "Statistics" msgid "Statistics"
@@ -549,7 +549,7 @@ msgstr "غير مثبت"
msgid "Execution permissions missing" msgid "Execution permissions missing"
msgstr "أذونات التنفيذ مفقودة" msgstr "أذونات التنفيذ مفقودة"
#: cps/db.py:1046 cps/templates/config_edit.html:207 #: cps/db.py:1124 cps/templates/config_edit.html:207
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714 #: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714
#: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103 #: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103
@@ -966,7 +966,7 @@ msgstr "خطأ في OAuth الخاص بـ Google، يرجى المحاولة ل
msgid "Google Oauth error: {}" msgid "Google Oauth error: {}"
msgstr "خطأ في OAuth الخاص بـ Google: {}" msgstr "خطأ في OAuth الخاص بـ Google: {}"
#: cps/opds.py:308 #: cps/opds.py:307
#, python-brace-format #, python-brace-format
msgid "{} Stars" msgid "{} Stars"
msgstr "{} نجوم" msgstr "{} نجوم"
@@ -1925,12 +1925,12 @@ msgstr "تاريخ النشر"
msgid "Description:" msgid "Description:"
msgstr "الوصف:" msgstr "الوصف:"
#: cps/templates/basic_index.html:7 cps/templates/layout.html:174 #: cps/templates/basic_index.html:7 cps/templates/layout.html:173
msgid "Previous" msgid "Previous"
msgstr "السابق" msgstr "السابق"
#: cps/templates/basic_index.html:12 cps/templates/feed.xml:22 #: cps/templates/basic_index.html:12 cps/templates/feed.xml:22
#: cps/templates/layout.html:189 #: cps/templates/layout.html:187
msgid "Next" msgid "Next"
msgstr "التالي" msgstr "التالي"
@@ -1990,7 +1990,7 @@ msgid "Uploading..."
msgstr "جاري التحميل..." msgstr "جاري التحميل..."
#: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257 #: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257
#: cps/templates/layout.html:79 cps/templates/layout.html:205 #: cps/templates/layout.html:79 cps/templates/layout.html:203
#: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163 #: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163
msgid "Close" msgid "Close"
msgstr "إغلاق" msgstr "إغلاق"
@@ -3022,7 +3022,7 @@ msgstr "السمة البسيطة"
msgid "Account" msgid "Account"
msgstr "الحساب" msgstr "الحساب"
#: cps/templates/layout.html:93 cps/templates/read.html:78 #: cps/templates/layout.html:93 cps/templates/read.html:83
#: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96 #: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96
msgid "Settings" msgid "Settings"
msgstr "الإعدادات" msgstr "الإعدادات"
@@ -3039,7 +3039,7 @@ msgstr "تصفح"
msgid "About" msgid "About"
msgstr "حول" msgstr "حول"
#: cps/templates/layout.html:201 #: cps/templates/layout.html:199
msgid "Book Details" msgid "Book Details"
msgstr "تفاصيل الكتاب" msgstr "تفاصيل الكتاب"
@@ -3163,67 +3163,75 @@ msgstr "كتالوج الكتب الإلكترونية Calibre-Web"
msgid "epub Reader" msgid "epub Reader"
msgstr "قارئ epub" msgstr "قارئ epub"
#: cps/templates/read.html:80 #: cps/templates/read.html:85
msgid "Choose a theme below:" msgid "Choose a theme below:"
msgstr "اختر سمة أدناه:" msgstr "اختر سمة أدناه:"
#: cps/templates/read.html:84 cps/templates/readcbr.html:104 #: cps/templates/read.html:89 cps/templates/readcbr.html:104
msgid "Light" msgid "Light"
msgstr "فاتح" msgstr "فاتح"
#: cps/templates/read.html:86 cps/templates/readcbr.html:105 #: cps/templates/read.html:91 cps/templates/readcbr.html:105
msgid "Dark" msgid "Dark"
msgstr "داكن" msgstr "داكن"
#: cps/templates/read.html:88 #: cps/templates/read.html:93
msgid "Sepia" msgid "Sepia"
msgstr "بني داكن" msgstr "بني داكن"
#: cps/templates/read.html:90 #: cps/templates/read.html:95
msgid "Amber"
msgstr ""
#: cps/templates/read.html:97
msgid "Black" msgid "Black"
msgstr "أسود" msgstr "أسود"
#: cps/templates/read.html:95 #: cps/templates/read.html:109
msgid "Reflow text when sidebars are open." msgid "Reflow text when sidebars are open."
msgstr "إعادة تدفق النص عند فتح الأشرطة الجانبية." msgstr "إعادة تدفق النص عند فتح الأشرطة الجانبية."
#: cps/templates/read.html:100 #: cps/templates/read.html:114
msgid "Font Sizes" msgid "Show pages count"
msgstr "أحجام الخطوط" msgstr ""
#: cps/templates/read.html:105 #: cps/templates/read.html:118
msgid "Font Size"
msgstr ""
#: cps/templates/read.html:126
msgid "Font" msgid "Font"
msgstr "الخط" msgstr "الخط"
#: cps/templates/read.html:106 #: cps/templates/read.html:127
msgid "Default" msgid "Default"
msgstr "افتراضي" msgstr "افتراضي"
#: cps/templates/read.html:107 #: cps/templates/read.html:128
msgid "Yahei" msgid "Yahei"
msgstr "ياهاي" msgstr "ياهاي"
#: cps/templates/read.html:108 #: cps/templates/read.html:129
msgid "SimSun" msgid "SimSun"
msgstr "SimSun" msgstr "SimSun"
#: cps/templates/read.html:109 #: cps/templates/read.html:130
msgid "KaiTi" msgid "KaiTi"
msgstr "KaiTi" msgstr "KaiTi"
#: cps/templates/read.html:110 #: cps/templates/read.html:131
msgid "Arial" msgid "Arial"
msgstr "Arial" msgstr "Arial"
#: cps/templates/read.html:113 #: cps/templates/read.html:134
msgid "Spread" msgid "Spread"
msgstr "انتشار" msgstr "انتشار"
#: cps/templates/read.html:114 #: cps/templates/read.html:135
msgid "Two columns" msgid "Two columns"
msgstr "عمودان" msgstr "عمودان"
#: cps/templates/read.html:115 #: cps/templates/read.html:136
msgid "One column" msgid "One column"
msgstr "عمود واحد" msgstr "عمود واحد"
Binary file not shown.
+34 -26
View File
@@ -6,7 +6,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: 2025-12-06 11:51+0100\n" "POT-Creation-Date: 2025-12-14 14:44+0100\n"
"PO-Revision-Date: 2020-06-09 21:11+0100\n" "PO-Revision-Date: 2020-06-09 21:11+0100\n"
"Last-Translator: Lukas Heroudek <lukas.heroudek@gmail.com>\n" "Last-Translator: Lukas Heroudek <lukas.heroudek@gmail.com>\n"
"Language: cs_CZ\n" "Language: cs_CZ\n"
@@ -15,7 +15,7 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.17.0\n" "Generated-By: Babel 2.15.0\n"
#: cps/about.py:85 #: cps/about.py:85
msgid "Statistics" msgid "Statistics"
@@ -548,7 +548,7 @@ msgstr "není nainstalováno"
msgid "Execution permissions missing" msgid "Execution permissions missing"
msgstr "Chybí povolení k exekuci" msgstr "Chybí povolení k exekuci"
#: cps/db.py:1046 cps/templates/config_edit.html:207 #: cps/db.py:1124 cps/templates/config_edit.html:207
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714 #: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714
#: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103 #: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103
@@ -965,7 +965,7 @@ msgstr "Google Oauth chyba, prosím opakujte později."
msgid "Google Oauth error: {}" msgid "Google Oauth error: {}"
msgstr "" msgstr ""
#: cps/opds.py:308 #: cps/opds.py:307
#, python-brace-format #, python-brace-format
msgid "{} Stars" msgid "{} Stars"
msgstr "" msgstr ""
@@ -1924,12 +1924,12 @@ msgstr "Publikováno"
msgid "Description:" msgid "Description:"
msgstr "Popis:" msgstr "Popis:"
#: cps/templates/basic_index.html:7 cps/templates/layout.html:174 #: cps/templates/basic_index.html:7 cps/templates/layout.html:173
msgid "Previous" msgid "Previous"
msgstr "Předchozí" msgstr "Předchozí"
#: cps/templates/basic_index.html:12 cps/templates/feed.xml:22 #: cps/templates/basic_index.html:12 cps/templates/feed.xml:22
#: cps/templates/layout.html:189 #: cps/templates/layout.html:187
msgid "Next" msgid "Next"
msgstr "Další" msgstr "Další"
@@ -1989,7 +1989,7 @@ msgid "Uploading..."
msgstr "Nahrávání..." msgstr "Nahrávání..."
#: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257 #: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257
#: cps/templates/layout.html:79 cps/templates/layout.html:205 #: cps/templates/layout.html:79 cps/templates/layout.html:203
#: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163 #: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163
msgid "Close" msgid "Close"
msgstr "Zavřít" msgstr "Zavřít"
@@ -3021,7 +3021,7 @@ msgstr ""
msgid "Account" msgid "Account"
msgstr "Účet" msgstr "Účet"
#: cps/templates/layout.html:93 cps/templates/read.html:78 #: cps/templates/layout.html:93 cps/templates/read.html:83
#: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96 #: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96
msgid "Settings" msgid "Settings"
msgstr "Nastavení" msgstr "Nastavení"
@@ -3038,7 +3038,7 @@ msgstr "Procházet"
msgid "About" msgid "About"
msgstr "O knihovně" msgstr "O knihovně"
#: cps/templates/layout.html:201 #: cps/templates/layout.html:199
msgid "Book Details" msgid "Book Details"
msgstr "Podrobnosti o knize" msgstr "Podrobnosti o knize"
@@ -3162,67 +3162,75 @@ msgstr "Calibre-Web katalog eknih"
msgid "epub Reader" msgid "epub Reader"
msgstr "" msgstr ""
#: cps/templates/read.html:80 #: cps/templates/read.html:85
msgid "Choose a theme below:" msgid "Choose a theme below:"
msgstr "" msgstr ""
#: cps/templates/read.html:84 cps/templates/readcbr.html:104 #: cps/templates/read.html:89 cps/templates/readcbr.html:104
msgid "Light" msgid "Light"
msgstr "Světlý" msgstr "Světlý"
#: cps/templates/read.html:86 cps/templates/readcbr.html:105 #: cps/templates/read.html:91 cps/templates/readcbr.html:105
msgid "Dark" msgid "Dark"
msgstr "Tmavý" msgstr "Tmavý"
#: cps/templates/read.html:88 #: cps/templates/read.html:93
msgid "Sepia" msgid "Sepia"
msgstr "" msgstr ""
#: cps/templates/read.html:90 #: cps/templates/read.html:95
msgid "Amber"
msgstr ""
#: cps/templates/read.html:97
msgid "Black" msgid "Black"
msgstr "" msgstr ""
#: cps/templates/read.html:95 #: cps/templates/read.html:109
msgid "Reflow text when sidebars are open." msgid "Reflow text when sidebars are open."
msgstr "Po otevření postranních panelů přeformátujte text." msgstr "Po otevření postranních panelů přeformátujte text."
#: cps/templates/read.html:100 #: cps/templates/read.html:114
msgid "Font Sizes" msgid "Show pages count"
msgstr "" msgstr ""
#: cps/templates/read.html:105 #: cps/templates/read.html:118
msgid "Font Size"
msgstr ""
#: cps/templates/read.html:126
msgid "Font" msgid "Font"
msgstr "" msgstr ""
#: cps/templates/read.html:106 #: cps/templates/read.html:127
msgid "Default" msgid "Default"
msgstr "" msgstr ""
#: cps/templates/read.html:107 #: cps/templates/read.html:128
msgid "Yahei" msgid "Yahei"
msgstr "" msgstr ""
#: cps/templates/read.html:108 #: cps/templates/read.html:129
msgid "SimSun" msgid "SimSun"
msgstr "" msgstr ""
#: cps/templates/read.html:109 #: cps/templates/read.html:130
msgid "KaiTi" msgid "KaiTi"
msgstr "" msgstr ""
#: cps/templates/read.html:110 #: cps/templates/read.html:131
msgid "Arial" msgid "Arial"
msgstr "" msgstr ""
#: cps/templates/read.html:113 #: cps/templates/read.html:134
msgid "Spread" msgid "Spread"
msgstr "" msgstr ""
#: cps/templates/read.html:114 #: cps/templates/read.html:135
msgid "Two columns" msgid "Two columns"
msgstr "" msgstr ""
#: cps/templates/read.html:115 #: cps/templates/read.html:136
msgid "One column" msgid "One column"
msgstr "" msgstr ""
Binary file not shown.
+35 -27
View File
@@ -7,7 +7,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: 2025-12-06 11:51+0100\n" "POT-Creation-Date: 2025-12-14 14:44+0100\n"
"PO-Revision-Date: 2025-10-22 19:56+0200\n" "PO-Revision-Date: 2025-10-22 19:56+0200\n"
"Last-Translator: Sebastian Holzer\n" "Last-Translator: Sebastian Holzer\n"
"Language: de\n" "Language: de\n"
@@ -16,7 +16,7 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.17.0\n" "Generated-By: Babel 2.15.0\n"
#: cps/about.py:85 #: cps/about.py:85
msgid "Statistics" msgid "Statistics"
@@ -549,7 +549,7 @@ msgstr "Nicht installiert"
msgid "Execution permissions missing" msgid "Execution permissions missing"
msgstr "Ausführberechtigung fehlt" msgstr "Ausführberechtigung fehlt"
#: cps/db.py:1046 cps/templates/config_edit.html:207 #: cps/db.py:1124 cps/templates/config_edit.html:207
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714 #: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714
#: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103 #: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103
@@ -966,7 +966,7 @@ msgstr "Google OAuth Fehler, bitte später erneut versuchen."
msgid "Google Oauth error: {}" msgid "Google Oauth error: {}"
msgstr "Google OAuth Fehler: {}" msgstr "Google OAuth Fehler: {}"
#: cps/opds.py:308 #: cps/opds.py:307
#, python-brace-format #, python-brace-format
msgid "{} Stars" msgid "{} Stars"
msgstr "{} Sterne" msgstr "{} Sterne"
@@ -1925,12 +1925,12 @@ msgstr "Herausgabedatum"
msgid "Description:" msgid "Description:"
msgstr "Beschreibung:" msgstr "Beschreibung:"
#: cps/templates/basic_index.html:7 cps/templates/layout.html:174 #: cps/templates/basic_index.html:7 cps/templates/layout.html:173
msgid "Previous" msgid "Previous"
msgstr "Vorheriger Eintrag" msgstr "Vorheriger Eintrag"
#: cps/templates/basic_index.html:12 cps/templates/feed.xml:22 #: cps/templates/basic_index.html:12 cps/templates/feed.xml:22
#: cps/templates/layout.html:189 #: cps/templates/layout.html:187
msgid "Next" msgid "Next"
msgstr "Nächste" msgstr "Nächste"
@@ -1990,7 +1990,7 @@ msgid "Uploading..."
msgstr "Lade hoch..." msgstr "Lade hoch..."
#: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257 #: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257
#: cps/templates/layout.html:79 cps/templates/layout.html:205 #: cps/templates/layout.html:79 cps/templates/layout.html:203
#: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163 #: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163
msgid "Close" msgid "Close"
msgstr "Schließen" msgstr "Schließen"
@@ -3022,7 +3022,7 @@ msgstr "Einfaches Design"
msgid "Account" msgid "Account"
msgstr "Account" msgstr "Account"
#: cps/templates/layout.html:93 cps/templates/read.html:78 #: cps/templates/layout.html:93 cps/templates/read.html:83
#: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96 #: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96
msgid "Settings" msgid "Settings"
msgstr "Einstellungen" msgstr "Einstellungen"
@@ -3039,7 +3039,7 @@ msgstr "Durchsuchen"
msgid "About" msgid "About"
msgstr "Über" msgstr "Über"
#: cps/templates/layout.html:201 #: cps/templates/layout.html:199
msgid "Book Details" msgid "Book Details"
msgstr "Buchdetails" msgstr "Buchdetails"
@@ -3163,67 +3163,75 @@ msgstr "Calibre-Web E-Book-Katalog"
msgid "epub Reader" msgid "epub Reader"
msgstr "EPUB-Leser" msgstr "EPUB-Leser"
#: cps/templates/read.html:80 #: cps/templates/read.html:85
msgid "Choose a theme below:" msgid "Choose a theme below:"
msgstr "Wähle ein Design:" msgstr "Wähle ein Design:"
#: cps/templates/read.html:84 cps/templates/readcbr.html:104 #: cps/templates/read.html:89 cps/templates/readcbr.html:104
msgid "Light" msgid "Light"
msgstr "Hell" msgstr "Hell"
#: cps/templates/read.html:86 cps/templates/readcbr.html:105 #: cps/templates/read.html:91 cps/templates/readcbr.html:105
msgid "Dark" msgid "Dark"
msgstr "Dunkel" msgstr "Dunkel"
#: cps/templates/read.html:88 #: cps/templates/read.html:93
msgid "Sepia" msgid "Sepia"
msgstr "Sepia" msgstr "Sepia"
#: cps/templates/read.html:90 #: cps/templates/read.html:95
msgid "Amber"
msgstr ""
#: cps/templates/read.html:97
msgid "Black" msgid "Black"
msgstr "Schwarz" msgstr "Schwarz"
#: cps/templates/read.html:95 #: cps/templates/read.html:109
msgid "Reflow text when sidebars are open." msgid "Reflow text when sidebars are open."
msgstr "Text umbrechen, wenn Seitenleiste geöffnet ist." msgstr "Text umbrechen, wenn Seitenleiste geöffnet ist."
#: cps/templates/read.html:100 #: cps/templates/read.html:114
msgid "Font Sizes" msgid "Show pages count"
msgstr "Schriftgröße" msgstr ""
#: cps/templates/read.html:105 #: cps/templates/read.html:118
msgid "Font Size"
msgstr ""
#: cps/templates/read.html:126
msgid "Font" msgid "Font"
msgstr "Schriftart" msgstr "Schriftart"
#: cps/templates/read.html:106 #: cps/templates/read.html:127
msgid "Default" msgid "Default"
msgstr "Standard" msgstr "Standard"
#: cps/templates/read.html:107 #: cps/templates/read.html:128
msgid "Yahei" msgid "Yahei"
msgstr "Yahei" msgstr "Yahei"
#: cps/templates/read.html:108 #: cps/templates/read.html:129
msgid "SimSun" msgid "SimSun"
msgstr "SimSun" msgstr "SimSun"
#: cps/templates/read.html:109 #: cps/templates/read.html:130
msgid "KaiTi" msgid "KaiTi"
msgstr "KaiTi" msgstr "KaiTi"
#: cps/templates/read.html:110 #: cps/templates/read.html:131
msgid "Arial" msgid "Arial"
msgstr "Arial" msgstr "Arial"
#: cps/templates/read.html:113 #: cps/templates/read.html:134
msgid "Spread" msgid "Spread"
msgstr "Aufteilung" msgstr "Aufteilung"
#: cps/templates/read.html:114 #: cps/templates/read.html:135
msgid "Two columns" msgid "Two columns"
msgstr "Zwei Spalten" msgstr "Zwei Spalten"
#: cps/templates/read.html:115 #: cps/templates/read.html:136
msgid "One column" msgid "One column"
msgstr "Eine Spalte" msgstr "Eine Spalte"
Binary file not shown.
+34 -26
View File
@@ -6,7 +6,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: 2025-12-06 11:51+0100\n" "POT-Creation-Date: 2025-12-14 14:44+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Depountis Georgios\n" "Last-Translator: Depountis Georgios\n"
"Language: el\n" "Language: el\n"
@@ -15,7 +15,7 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.17.0\n" "Generated-By: Babel 2.15.0\n"
#: cps/about.py:85 #: cps/about.py:85
msgid "Statistics" msgid "Statistics"
@@ -548,7 +548,7 @@ msgstr "δεν εγκαταστάθηκε"
msgid "Execution permissions missing" msgid "Execution permissions missing"
msgstr "Λείπουν άδειες εκτέλεσης" msgstr "Λείπουν άδειες εκτέλεσης"
#: cps/db.py:1046 cps/templates/config_edit.html:207 #: cps/db.py:1124 cps/templates/config_edit.html:207
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714 #: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714
#: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103 #: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103
@@ -965,7 +965,7 @@ msgstr "Google Oauth σφάλμα, παρακαλούμε δοκίμασε ξα
msgid "Google Oauth error: {}" msgid "Google Oauth error: {}"
msgstr "" msgstr ""
#: cps/opds.py:308 #: cps/opds.py:307
#, python-brace-format #, python-brace-format
msgid "{} Stars" msgid "{} Stars"
msgstr "" msgstr ""
@@ -1924,12 +1924,12 @@ msgstr "Εκδόθηκε"
msgid "Description:" msgid "Description:"
msgstr "Περιγραφή" msgstr "Περιγραφή"
#: cps/templates/basic_index.html:7 cps/templates/layout.html:174 #: cps/templates/basic_index.html:7 cps/templates/layout.html:173
msgid "Previous" msgid "Previous"
msgstr "Προηγούμενο" msgstr "Προηγούμενο"
#: cps/templates/basic_index.html:12 cps/templates/feed.xml:22 #: cps/templates/basic_index.html:12 cps/templates/feed.xml:22
#: cps/templates/layout.html:189 #: cps/templates/layout.html:187
msgid "Next" msgid "Next"
msgstr "Επόμενο" msgstr "Επόμενο"
@@ -1989,7 +1989,7 @@ msgid "Uploading..."
msgstr "Φόρτωση..." msgstr "Φόρτωση..."
#: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257 #: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257
#: cps/templates/layout.html:79 cps/templates/layout.html:205 #: cps/templates/layout.html:79 cps/templates/layout.html:203
#: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163 #: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163
msgid "Close" msgid "Close"
msgstr "Κλείσιμο" msgstr "Κλείσιμο"
@@ -3021,7 +3021,7 @@ msgstr ""
msgid "Account" msgid "Account"
msgstr "Λογαριασμός" msgstr "Λογαριασμός"
#: cps/templates/layout.html:93 cps/templates/read.html:78 #: cps/templates/layout.html:93 cps/templates/read.html:83
#: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96 #: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96
msgid "Settings" msgid "Settings"
msgstr "Ρυθμίσεις" msgstr "Ρυθμίσεις"
@@ -3038,7 +3038,7 @@ msgstr "Περιήγηση"
msgid "About" msgid "About"
msgstr "Σχετικά" msgstr "Σχετικά"
#: cps/templates/layout.html:201 #: cps/templates/layout.html:199
msgid "Book Details" msgid "Book Details"
msgstr "Λεπτομέρειες Βιβλίου" msgstr "Λεπτομέρειες Βιβλίου"
@@ -3162,67 +3162,75 @@ msgstr "Calibre-Web Κατάλογος eBook"
msgid "epub Reader" msgid "epub Reader"
msgstr "" msgstr ""
#: cps/templates/read.html:80 #: cps/templates/read.html:85
msgid "Choose a theme below:" msgid "Choose a theme below:"
msgstr "" msgstr ""
#: cps/templates/read.html:84 cps/templates/readcbr.html:104 #: cps/templates/read.html:89 cps/templates/readcbr.html:104
msgid "Light" msgid "Light"
msgstr "Φωτεινό" msgstr "Φωτεινό"
#: cps/templates/read.html:86 cps/templates/readcbr.html:105 #: cps/templates/read.html:91 cps/templates/readcbr.html:105
msgid "Dark" msgid "Dark"
msgstr "Σκοτεινό" msgstr "Σκοτεινό"
#: cps/templates/read.html:88 #: cps/templates/read.html:93
msgid "Sepia" msgid "Sepia"
msgstr "" msgstr ""
#: cps/templates/read.html:90 #: cps/templates/read.html:95
msgid "Amber"
msgstr ""
#: cps/templates/read.html:97
msgid "Black" msgid "Black"
msgstr "" msgstr ""
#: cps/templates/read.html:95 #: cps/templates/read.html:109
msgid "Reflow text when sidebars are open." msgid "Reflow text when sidebars are open."
msgstr "Επανάληψη ροής κειμένου όταν οι μπάρες στο πλάι είναι ανοιχτές." msgstr "Επανάληψη ροής κειμένου όταν οι μπάρες στο πλάι είναι ανοιχτές."
#: cps/templates/read.html:100 #: cps/templates/read.html:114
msgid "Font Sizes" msgid "Show pages count"
msgstr "" msgstr ""
#: cps/templates/read.html:105 #: cps/templates/read.html:118
msgid "Font Size"
msgstr ""
#: cps/templates/read.html:126
msgid "Font" msgid "Font"
msgstr "" msgstr ""
#: cps/templates/read.html:106 #: cps/templates/read.html:127
msgid "Default" msgid "Default"
msgstr "" msgstr ""
#: cps/templates/read.html:107 #: cps/templates/read.html:128
msgid "Yahei" msgid "Yahei"
msgstr "" msgstr ""
#: cps/templates/read.html:108 #: cps/templates/read.html:129
msgid "SimSun" msgid "SimSun"
msgstr "" msgstr ""
#: cps/templates/read.html:109 #: cps/templates/read.html:130
msgid "KaiTi" msgid "KaiTi"
msgstr "" msgstr ""
#: cps/templates/read.html:110 #: cps/templates/read.html:131
msgid "Arial" msgid "Arial"
msgstr "" msgstr ""
#: cps/templates/read.html:113 #: cps/templates/read.html:134
msgid "Spread" msgid "Spread"
msgstr "" msgstr ""
#: cps/templates/read.html:114 #: cps/templates/read.html:135
msgid "Two columns" msgid "Two columns"
msgstr "" msgstr ""
#: cps/templates/read.html:115 #: cps/templates/read.html:136
msgid "One column" msgid "One column"
msgstr "" msgstr ""
Binary file not shown.
+35 -27
View File
@@ -10,7 +10,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: 2025-12-06 11:51+0100\n" "POT-Creation-Date: 2025-12-14 14:44+0100\n"
"PO-Revision-Date: 2024-10-29 15:26+0100\n" "PO-Revision-Date: 2024-10-29 15:26+0100\n"
"Last-Translator: adruki <adruki@gmail.com>\n" "Last-Translator: adruki <adruki@gmail.com>\n"
"Language: es\n" "Language: es\n"
@@ -19,7 +19,7 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.17.0\n" "Generated-By: Babel 2.15.0\n"
#: cps/about.py:85 #: cps/about.py:85
msgid "Statistics" msgid "Statistics"
@@ -552,7 +552,7 @@ msgstr "no instalado"
msgid "Execution permissions missing" msgid "Execution permissions missing"
msgstr "Faltan permisos de ejecución" msgstr "Faltan permisos de ejecución"
#: cps/db.py:1046 cps/templates/config_edit.html:207 #: cps/db.py:1124 cps/templates/config_edit.html:207
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714 #: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714
#: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103 #: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103
@@ -969,7 +969,7 @@ msgstr "Error en Google Oauth, por favor vuelve a intentarlo más tarde."
msgid "Google Oauth error: {}" msgid "Google Oauth error: {}"
msgstr "Error Google Oauth {}" msgstr "Error Google Oauth {}"
#: cps/opds.py:308 #: cps/opds.py:307
#, python-brace-format #, python-brace-format
msgid "{} Stars" msgid "{} Stars"
msgstr "{} estrellas" msgstr "{} estrellas"
@@ -1928,12 +1928,12 @@ msgstr "Publicado"
msgid "Description:" msgid "Description:"
msgstr "Descripción:" msgstr "Descripción:"
#: cps/templates/basic_index.html:7 cps/templates/layout.html:174 #: cps/templates/basic_index.html:7 cps/templates/layout.html:173
msgid "Previous" msgid "Previous"
msgstr "Anterior" msgstr "Anterior"
#: cps/templates/basic_index.html:12 cps/templates/feed.xml:22 #: cps/templates/basic_index.html:12 cps/templates/feed.xml:22
#: cps/templates/layout.html:189 #: cps/templates/layout.html:187
msgid "Next" msgid "Next"
msgstr "Siguiente" msgstr "Siguiente"
@@ -1993,7 +1993,7 @@ msgid "Uploading..."
msgstr "Subiendo..." msgstr "Subiendo..."
#: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257 #: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257
#: cps/templates/layout.html:79 cps/templates/layout.html:205 #: cps/templates/layout.html:79 cps/templates/layout.html:203
#: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163 #: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163
msgid "Close" msgid "Close"
msgstr "Cerrar" msgstr "Cerrar"
@@ -3025,7 +3025,7 @@ msgstr "Tema simple"
msgid "Account" msgid "Account"
msgstr "Cuenta" msgstr "Cuenta"
#: cps/templates/layout.html:93 cps/templates/read.html:78 #: cps/templates/layout.html:93 cps/templates/read.html:83
#: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96 #: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96
msgid "Settings" msgid "Settings"
msgstr "Ajustes" msgstr "Ajustes"
@@ -3042,7 +3042,7 @@ msgstr "Navegar"
msgid "About" msgid "About"
msgstr "Acerca de" msgstr "Acerca de"
#: cps/templates/layout.html:201 #: cps/templates/layout.html:199
msgid "Book Details" msgid "Book Details"
msgstr "Detalles del libro" msgstr "Detalles del libro"
@@ -3166,67 +3166,75 @@ msgstr "Catálogo de ebooks de Calibre-Web"
msgid "epub Reader" msgid "epub Reader"
msgstr "Lector epub" msgstr "Lector epub"
#: cps/templates/read.html:80 #: cps/templates/read.html:85
msgid "Choose a theme below:" msgid "Choose a theme below:"
msgstr "Elije un tema:" msgstr "Elije un tema:"
#: cps/templates/read.html:84 cps/templates/readcbr.html:104 #: cps/templates/read.html:89 cps/templates/readcbr.html:104
msgid "Light" msgid "Light"
msgstr "Claro" msgstr "Claro"
#: cps/templates/read.html:86 cps/templates/readcbr.html:105 #: cps/templates/read.html:91 cps/templates/readcbr.html:105
msgid "Dark" msgid "Dark"
msgstr "Oscuro" msgstr "Oscuro"
#: cps/templates/read.html:88 #: cps/templates/read.html:93
msgid "Sepia" msgid "Sepia"
msgstr "Sepia" msgstr "Sepia"
#: cps/templates/read.html:90 #: cps/templates/read.html:95
msgid "Amber"
msgstr ""
#: cps/templates/read.html:97
msgid "Black" msgid "Black"
msgstr "Negro" msgstr "Negro"
#: cps/templates/read.html:95 #: cps/templates/read.html:109
msgid "Reflow text when sidebars are open." msgid "Reflow text when sidebars are open."
msgstr "Reformatear el texto cuando las barras laterales están abiertas." msgstr "Reformatear el texto cuando las barras laterales están abiertas."
#: cps/templates/read.html:100 #: cps/templates/read.html:114
msgid "Font Sizes" msgid "Show pages count"
msgstr "Tamaños de la fuente" msgstr ""
#: cps/templates/read.html:105 #: cps/templates/read.html:118
msgid "Font Size"
msgstr ""
#: cps/templates/read.html:126
msgid "Font" msgid "Font"
msgstr "Fuente" msgstr "Fuente"
#: cps/templates/read.html:106 #: cps/templates/read.html:127
msgid "Default" msgid "Default"
msgstr "Predeterminada" msgstr "Predeterminada"
#: cps/templates/read.html:107 #: cps/templates/read.html:128
msgid "Yahei" msgid "Yahei"
msgstr "Yahei" msgstr "Yahei"
#: cps/templates/read.html:108 #: cps/templates/read.html:129
msgid "SimSun" msgid "SimSun"
msgstr "SimSun" msgstr "SimSun"
#: cps/templates/read.html:109 #: cps/templates/read.html:130
msgid "KaiTi" msgid "KaiTi"
msgstr "KaiTi" msgstr "KaiTi"
#: cps/templates/read.html:110 #: cps/templates/read.html:131
msgid "Arial" msgid "Arial"
msgstr "Arial" msgstr "Arial"
#: cps/templates/read.html:113 #: cps/templates/read.html:134
msgid "Spread" msgid "Spread"
msgstr "Extensión" msgstr "Extensión"
#: cps/templates/read.html:114 #: cps/templates/read.html:135
msgid "Two columns" msgid "Two columns"
msgstr "Dos columnas" msgstr "Dos columnas"
#: cps/templates/read.html:115 #: cps/templates/read.html:136
msgid "One column" msgid "One column"
msgstr "Una columna" msgstr "Una columna"
Binary file not shown.
+34 -26
View File
@@ -7,7 +7,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: 2025-12-06 11:51+0100\n" "POT-Creation-Date: 2025-12-14 14:44+0100\n"
"PO-Revision-Date: 2020-01-12 13:56+0100\n" "PO-Revision-Date: 2020-01-12 13:56+0100\n"
"Last-Translator: Samuli Valavuo <svalavuo@gmail.com>\n" "Last-Translator: Samuli Valavuo <svalavuo@gmail.com>\n"
"Language: fi\n" "Language: fi\n"
@@ -16,7 +16,7 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.17.0\n" "Generated-By: Babel 2.15.0\n"
#: cps/about.py:85 #: cps/about.py:85
msgid "Statistics" msgid "Statistics"
@@ -549,7 +549,7 @@ msgstr "ei asennettu"
msgid "Execution permissions missing" msgid "Execution permissions missing"
msgstr "" msgstr ""
#: cps/db.py:1046 cps/templates/config_edit.html:207 #: cps/db.py:1124 cps/templates/config_edit.html:207
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714 #: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714
#: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103 #: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103
@@ -966,7 +966,7 @@ msgstr "Google Oauth virhe, yritä myöhemmin uudelleen."
msgid "Google Oauth error: {}" msgid "Google Oauth error: {}"
msgstr "" msgstr ""
#: cps/opds.py:308 #: cps/opds.py:307
#, python-brace-format #, python-brace-format
msgid "{} Stars" msgid "{} Stars"
msgstr "" msgstr ""
@@ -1925,12 +1925,12 @@ msgstr ""
msgid "Description:" msgid "Description:"
msgstr "Kuvaus:" msgstr "Kuvaus:"
#: cps/templates/basic_index.html:7 cps/templates/layout.html:174 #: cps/templates/basic_index.html:7 cps/templates/layout.html:173
msgid "Previous" msgid "Previous"
msgstr "Edellinen" msgstr "Edellinen"
#: cps/templates/basic_index.html:12 cps/templates/feed.xml:22 #: cps/templates/basic_index.html:12 cps/templates/feed.xml:22
#: cps/templates/layout.html:189 #: cps/templates/layout.html:187
msgid "Next" msgid "Next"
msgstr "Seuraava" msgstr "Seuraava"
@@ -1990,7 +1990,7 @@ msgid "Uploading..."
msgstr "Ladataan..." msgstr "Ladataan..."
#: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257 #: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257
#: cps/templates/layout.html:79 cps/templates/layout.html:205 #: cps/templates/layout.html:79 cps/templates/layout.html:203
#: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163 #: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163
msgid "Close" msgid "Close"
msgstr "Sulje" msgstr "Sulje"
@@ -3022,7 +3022,7 @@ msgstr ""
msgid "Account" msgid "Account"
msgstr "Tili" msgstr "Tili"
#: cps/templates/layout.html:93 cps/templates/read.html:78 #: cps/templates/layout.html:93 cps/templates/read.html:83
#: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96 #: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96
msgid "Settings" msgid "Settings"
msgstr "Asetukset" msgstr "Asetukset"
@@ -3039,7 +3039,7 @@ msgstr "Selaa"
msgid "About" msgid "About"
msgstr "Tietoja" msgstr "Tietoja"
#: cps/templates/layout.html:201 #: cps/templates/layout.html:199
msgid "Book Details" msgid "Book Details"
msgstr "Kirjan tiedot" msgstr "Kirjan tiedot"
@@ -3163,67 +3163,75 @@ msgstr "Calibre-Web e-kirjaluettelo"
msgid "epub Reader" msgid "epub Reader"
msgstr "" msgstr ""
#: cps/templates/read.html:80 #: cps/templates/read.html:85
msgid "Choose a theme below:" msgid "Choose a theme below:"
msgstr "" msgstr ""
#: cps/templates/read.html:84 cps/templates/readcbr.html:104 #: cps/templates/read.html:89 cps/templates/readcbr.html:104
msgid "Light" msgid "Light"
msgstr "Vaalea" msgstr "Vaalea"
#: cps/templates/read.html:86 cps/templates/readcbr.html:105 #: cps/templates/read.html:91 cps/templates/readcbr.html:105
msgid "Dark" msgid "Dark"
msgstr "Tumma" msgstr "Tumma"
#: cps/templates/read.html:88 #: cps/templates/read.html:93
msgid "Sepia" msgid "Sepia"
msgstr "" msgstr ""
#: cps/templates/read.html:90 #: cps/templates/read.html:95
msgid "Amber"
msgstr ""
#: cps/templates/read.html:97
msgid "Black" msgid "Black"
msgstr "" msgstr ""
#: cps/templates/read.html:95 #: cps/templates/read.html:109
msgid "Reflow text when sidebars are open." msgid "Reflow text when sidebars are open."
msgstr "Uudelleenjärjestä teksti kun sivut on auki." msgstr "Uudelleenjärjestä teksti kun sivut on auki."
#: cps/templates/read.html:100 #: cps/templates/read.html:114
msgid "Font Sizes" msgid "Show pages count"
msgstr "" msgstr ""
#: cps/templates/read.html:105 #: cps/templates/read.html:118
msgid "Font Size"
msgstr ""
#: cps/templates/read.html:126
msgid "Font" msgid "Font"
msgstr "" msgstr ""
#: cps/templates/read.html:106 #: cps/templates/read.html:127
msgid "Default" msgid "Default"
msgstr "" msgstr ""
#: cps/templates/read.html:107 #: cps/templates/read.html:128
msgid "Yahei" msgid "Yahei"
msgstr "" msgstr ""
#: cps/templates/read.html:108 #: cps/templates/read.html:129
msgid "SimSun" msgid "SimSun"
msgstr "" msgstr ""
#: cps/templates/read.html:109 #: cps/templates/read.html:130
msgid "KaiTi" msgid "KaiTi"
msgstr "" msgstr ""
#: cps/templates/read.html:110 #: cps/templates/read.html:131
msgid "Arial" msgid "Arial"
msgstr "" msgstr ""
#: cps/templates/read.html:113 #: cps/templates/read.html:134
msgid "Spread" msgid "Spread"
msgstr "" msgstr ""
#: cps/templates/read.html:114 #: cps/templates/read.html:135
msgid "Two columns" msgid "Two columns"
msgstr "" msgstr ""
#: cps/templates/read.html:115 #: cps/templates/read.html:136
msgid "One column" msgid "One column"
msgstr "" msgstr ""
Binary file not shown.
+35 -27
View File
@@ -3,7 +3,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Calibre-Web\n" "Project-Id-Version: Calibre-Web\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2025-12-06 11:51+0100\n" "POT-Creation-Date: 2025-12-14 14:44+0100\n"
"PO-Revision-Date: 2025-09-10 19:25+0000\n" "PO-Revision-Date: 2025-09-10 19:25+0000\n"
"Last-Translator: <thovi98@gmail.com>\n" "Last-Translator: <thovi98@gmail.com>\n"
"Language: fr\n" "Language: fr\n"
@@ -12,7 +12,7 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.17.0\n" "Generated-By: Babel 2.15.0\n"
#: cps/about.py:85 #: cps/about.py:85
msgid "Statistics" msgid "Statistics"
@@ -545,7 +545,7 @@ msgstr "non installé"
msgid "Execution permissions missing" msgid "Execution permissions missing"
msgstr "Les permissions d'exécutions manquantes" msgstr "Les permissions d'exécutions manquantes"
#: cps/db.py:1046 cps/templates/config_edit.html:207 #: cps/db.py:1124 cps/templates/config_edit.html:207
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714 #: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714
#: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103 #: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103
@@ -962,7 +962,7 @@ msgstr "Erreur Oauth Google, veuillez réessayer plus tard."
msgid "Google Oauth error: {}" msgid "Google Oauth error: {}"
msgstr "Erreur Oauth Google : {}" msgstr "Erreur Oauth Google : {}"
#: cps/opds.py:308 #: cps/opds.py:307
#, python-brace-format #, python-brace-format
msgid "{} Stars" msgid "{} Stars"
msgstr "{} Étoiles" msgstr "{} Étoiles"
@@ -1921,12 +1921,12 @@ msgstr "Publié"
msgid "Description:" msgid "Description:"
msgstr "Description :" msgstr "Description :"
#: cps/templates/basic_index.html:7 cps/templates/layout.html:174 #: cps/templates/basic_index.html:7 cps/templates/layout.html:173
msgid "Previous" msgid "Previous"
msgstr "Précédent" msgstr "Précédent"
#: cps/templates/basic_index.html:12 cps/templates/feed.xml:22 #: cps/templates/basic_index.html:12 cps/templates/feed.xml:22
#: cps/templates/layout.html:189 #: cps/templates/layout.html:187
msgid "Next" msgid "Next"
msgstr "Suivant" msgstr "Suivant"
@@ -1986,7 +1986,7 @@ msgid "Uploading..."
msgstr "Téléversement en cours..." msgstr "Téléversement en cours..."
#: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257 #: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257
#: cps/templates/layout.html:79 cps/templates/layout.html:205 #: cps/templates/layout.html:79 cps/templates/layout.html:203
#: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163 #: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163
msgid "Close" msgid "Close"
msgstr "Fermer" msgstr "Fermer"
@@ -3018,7 +3018,7 @@ msgstr "Thème simple"
msgid "Account" msgid "Account"
msgstr "Compte" msgstr "Compte"
#: cps/templates/layout.html:93 cps/templates/read.html:78 #: cps/templates/layout.html:93 cps/templates/read.html:83
#: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96 #: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96
msgid "Settings" msgid "Settings"
msgstr "Paramètres" msgstr "Paramètres"
@@ -3035,7 +3035,7 @@ msgstr "Explorer"
msgid "About" msgid "About"
msgstr "À propos" msgstr "À propos"
#: cps/templates/layout.html:201 #: cps/templates/layout.html:199
msgid "Book Details" msgid "Book Details"
msgstr "Détails du livre" msgstr "Détails du livre"
@@ -3159,67 +3159,75 @@ msgstr "Catalogue de livres électroniques Calibre-Web"
msgid "epub Reader" msgid "epub Reader"
msgstr "Lecteur ePub" msgstr "Lecteur ePub"
#: cps/templates/read.html:80 #: cps/templates/read.html:85
msgid "Choose a theme below:" msgid "Choose a theme below:"
msgstr "Choisissez un thème ci-dessous :" msgstr "Choisissez un thème ci-dessous :"
#: cps/templates/read.html:84 cps/templates/readcbr.html:104 #: cps/templates/read.html:89 cps/templates/readcbr.html:104
msgid "Light" msgid "Light"
msgstr "Clair" msgstr "Clair"
#: cps/templates/read.html:86 cps/templates/readcbr.html:105 #: cps/templates/read.html:91 cps/templates/readcbr.html:105
msgid "Dark" msgid "Dark"
msgstr "Sombre" msgstr "Sombre"
#: cps/templates/read.html:88 #: cps/templates/read.html:93
msgid "Sepia" msgid "Sepia"
msgstr "Sepia" msgstr "Sepia"
#: cps/templates/read.html:90 #: cps/templates/read.html:95
msgid "Amber"
msgstr ""
#: cps/templates/read.html:97
msgid "Black" msgid "Black"
msgstr "Noir" msgstr "Noir"
#: cps/templates/read.html:95 #: cps/templates/read.html:109
msgid "Reflow text when sidebars are open." msgid "Reflow text when sidebars are open."
msgstr "Mettre à jour la mise en page du texte quand les bandeaux latéraux sont ouverts." msgstr "Mettre à jour la mise en page du texte quand les bandeaux latéraux sont ouverts."
#: cps/templates/read.html:100 #: cps/templates/read.html:114
msgid "Font Sizes" msgid "Show pages count"
msgstr "Tailles des polices" msgstr ""
#: cps/templates/read.html:105 #: cps/templates/read.html:118
msgid "Font Size"
msgstr ""
#: cps/templates/read.html:126
msgid "Font" msgid "Font"
msgstr "Police" msgstr "Police"
#: cps/templates/read.html:106 #: cps/templates/read.html:127
msgid "Default" msgid "Default"
msgstr "Défaut" msgstr "Défaut"
#: cps/templates/read.html:107 #: cps/templates/read.html:128
msgid "Yahei" msgid "Yahei"
msgstr "Yahei" msgstr "Yahei"
#: cps/templates/read.html:108 #: cps/templates/read.html:129
msgid "SimSun" msgid "SimSun"
msgstr "SimSun" msgstr "SimSun"
#: cps/templates/read.html:109 #: cps/templates/read.html:130
msgid "KaiTi" msgid "KaiTi"
msgstr "KaiTi" msgstr "KaiTi"
#: cps/templates/read.html:110 #: cps/templates/read.html:131
msgid "Arial" msgid "Arial"
msgstr "Arial" msgstr "Arial"
#: cps/templates/read.html:113 #: cps/templates/read.html:134
msgid "Spread" msgid "Spread"
msgstr "" msgstr ""
#: cps/templates/read.html:114 #: cps/templates/read.html:135
msgid "Two columns" msgid "Two columns"
msgstr "Deux colonnes" msgstr "Deux colonnes"
#: cps/templates/read.html:115 #: cps/templates/read.html:136
msgid "One column" msgid "One column"
msgstr "Une colonne" msgstr "Une colonne"
Binary file not shown.
+35 -27
View File
@@ -5,7 +5,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: 2025-12-06 11:51+0100\n" "POT-Creation-Date: 2025-12-14 14:44+0100\n"
"PO-Revision-Date: 2024-12-08 13:50+0100\n" "PO-Revision-Date: 2024-12-08 13:50+0100\n"
"Last-Translator: pollitor@gmx.com\n" "Last-Translator: pollitor@gmx.com\n"
"Language: gl\n" "Language: gl\n"
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.17.0\n" "Generated-By: Babel 2.15.0\n"
#: cps/about.py:85 #: cps/about.py:85
msgid "Statistics" msgid "Statistics"
@@ -547,7 +547,7 @@ msgstr "non instalado"
msgid "Execution permissions missing" msgid "Execution permissions missing"
msgstr "Faltan permisos de execución" msgstr "Faltan permisos de execución"
#: cps/db.py:1046 cps/templates/config_edit.html:207 #: cps/db.py:1124 cps/templates/config_edit.html:207
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714 #: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714
#: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103 #: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103
@@ -964,7 +964,7 @@ msgstr "Erro de Google Oauth. Téntao de novo máis tarde."
msgid "Google Oauth error: {}" msgid "Google Oauth error: {}"
msgstr "Erro de Google Oauth: {}" msgstr "Erro de Google Oauth: {}"
#: cps/opds.py:308 #: cps/opds.py:307
#, python-brace-format #, python-brace-format
msgid "{} Stars" msgid "{} Stars"
msgstr "{} estrelas" msgstr "{} estrelas"
@@ -1923,12 +1923,12 @@ msgstr "Publicado"
msgid "Description:" msgid "Description:"
msgstr "Descrición:" msgstr "Descrición:"
#: cps/templates/basic_index.html:7 cps/templates/layout.html:174 #: cps/templates/basic_index.html:7 cps/templates/layout.html:173
msgid "Previous" msgid "Previous"
msgstr "Anterior" msgstr "Anterior"
#: cps/templates/basic_index.html:12 cps/templates/feed.xml:22 #: cps/templates/basic_index.html:12 cps/templates/feed.xml:22
#: cps/templates/layout.html:189 #: cps/templates/layout.html:187
msgid "Next" msgid "Next"
msgstr "A continuación" msgstr "A continuación"
@@ -1988,7 +1988,7 @@ msgid "Uploading..."
msgstr "Cargando..." msgstr "Cargando..."
#: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257 #: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257
#: cps/templates/layout.html:79 cps/templates/layout.html:205 #: cps/templates/layout.html:79 cps/templates/layout.html:203
#: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163 #: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163
msgid "Close" msgid "Close"
msgstr "Pechar" msgstr "Pechar"
@@ -3020,7 +3020,7 @@ msgstr "Tema sinxelo"
msgid "Account" msgid "Account"
msgstr "Conta" msgstr "Conta"
#: cps/templates/layout.html:93 cps/templates/read.html:78 #: cps/templates/layout.html:93 cps/templates/read.html:83
#: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96 #: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96
msgid "Settings" msgid "Settings"
msgstr "Configuración" msgstr "Configuración"
@@ -3037,7 +3037,7 @@ msgstr "Explorar"
msgid "About" msgid "About"
msgstr "Sobre" msgstr "Sobre"
#: cps/templates/layout.html:201 #: cps/templates/layout.html:199
msgid "Book Details" msgid "Book Details"
msgstr "Detalles do libro" msgstr "Detalles do libro"
@@ -3161,67 +3161,75 @@ msgstr "Catálogo de libros electrónicos Calibre-Web"
msgid "epub Reader" msgid "epub Reader"
msgstr "lector epub" msgstr "lector epub"
#: cps/templates/read.html:80 #: cps/templates/read.html:85
msgid "Choose a theme below:" msgid "Choose a theme below:"
msgstr "Escolle un tema a continuación:" msgstr "Escolle un tema a continuación:"
#: cps/templates/read.html:84 cps/templates/readcbr.html:104 #: cps/templates/read.html:89 cps/templates/readcbr.html:104
msgid "Light" msgid "Light"
msgstr "Claro" msgstr "Claro"
#: cps/templates/read.html:86 cps/templates/readcbr.html:105 #: cps/templates/read.html:91 cps/templates/readcbr.html:105
msgid "Dark" msgid "Dark"
msgstr "Escuro" msgstr "Escuro"
#: cps/templates/read.html:88 #: cps/templates/read.html:93
msgid "Sepia" msgid "Sepia"
msgstr "Sepia" msgstr "Sepia"
#: cps/templates/read.html:90 #: cps/templates/read.html:95
msgid "Amber"
msgstr ""
#: cps/templates/read.html:97
msgid "Black" msgid "Black"
msgstr "Negro" msgstr "Negro"
#: cps/templates/read.html:95 #: cps/templates/read.html:109
msgid "Reflow text when sidebars are open." msgid "Reflow text when sidebars are open."
msgstr "Redistribuír o texto cando as barras laterais estean abertas." msgstr "Redistribuír o texto cando as barras laterais estean abertas."
#: cps/templates/read.html:100 #: cps/templates/read.html:114
msgid "Font Sizes" msgid "Show pages count"
msgstr "Tamaños de letra" msgstr ""
#: cps/templates/read.html:105 #: cps/templates/read.html:118
msgid "Font Size"
msgstr ""
#: cps/templates/read.html:126
msgid "Font" msgid "Font"
msgstr "Fonte" msgstr "Fonte"
#: cps/templates/read.html:106 #: cps/templates/read.html:127
msgid "Default" msgid "Default"
msgstr "Por defecto" msgstr "Por defecto"
#: cps/templates/read.html:107 #: cps/templates/read.html:128
msgid "Yahei" msgid "Yahei"
msgstr "Yahei" msgstr "Yahei"
#: cps/templates/read.html:108 #: cps/templates/read.html:129
msgid "SimSun" msgid "SimSun"
msgstr "SimSun" msgstr "SimSun"
#: cps/templates/read.html:109 #: cps/templates/read.html:130
msgid "KaiTi" msgid "KaiTi"
msgstr "KaiTi" msgstr "KaiTi"
#: cps/templates/read.html:110 #: cps/templates/read.html:131
msgid "Arial" msgid "Arial"
msgstr "Arial" msgstr "Arial"
#: cps/templates/read.html:113 #: cps/templates/read.html:134
msgid "Spread" msgid "Spread"
msgstr "Espallamento" msgstr "Espallamento"
#: cps/templates/read.html:114 #: cps/templates/read.html:135
msgid "Two columns" msgid "Two columns"
msgstr "Dúas columnas" msgstr "Dúas columnas"
#: cps/templates/read.html:115 #: cps/templates/read.html:136
msgid "One column" msgid "One column"
msgstr "Unha columna" msgstr "Unha columna"
Binary file not shown.
+34 -26
View File
@@ -7,7 +7,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: 2025-12-06 11:51+0100\n" "POT-Creation-Date: 2025-12-14 14:44+0100\n"
"PO-Revision-Date: 2019-04-06 23:36+0200\n" "PO-Revision-Date: 2019-04-06 23:36+0200\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language: hu\n" "Language: hu\n"
@@ -16,7 +16,7 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.17.0\n" "Generated-By: Babel 2.15.0\n"
#: cps/about.py:85 #: cps/about.py:85
msgid "Statistics" msgid "Statistics"
@@ -549,7 +549,7 @@ msgstr "nincs telepítve"
msgid "Execution permissions missing" msgid "Execution permissions missing"
msgstr "" msgstr ""
#: cps/db.py:1046 cps/templates/config_edit.html:207 #: cps/db.py:1124 cps/templates/config_edit.html:207
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714 #: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714
#: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103 #: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103
@@ -966,7 +966,7 @@ msgstr ""
msgid "Google Oauth error: {}" msgid "Google Oauth error: {}"
msgstr "" msgstr ""
#: cps/opds.py:308 #: cps/opds.py:307
#, python-brace-format #, python-brace-format
msgid "{} Stars" msgid "{} Stars"
msgstr "" msgstr ""
@@ -1925,12 +1925,12 @@ msgstr ""
msgid "Description:" msgid "Description:"
msgstr "Ismertető:" msgstr "Ismertető:"
#: cps/templates/basic_index.html:7 cps/templates/layout.html:174 #: cps/templates/basic_index.html:7 cps/templates/layout.html:173
msgid "Previous" msgid "Previous"
msgstr "Előző" msgstr "Előző"
#: cps/templates/basic_index.html:12 cps/templates/feed.xml:22 #: cps/templates/basic_index.html:12 cps/templates/feed.xml:22
#: cps/templates/layout.html:189 #: cps/templates/layout.html:187
msgid "Next" msgid "Next"
msgstr "Következő" msgstr "Következő"
@@ -1990,7 +1990,7 @@ msgid "Uploading..."
msgstr "Feltöltés..." msgstr "Feltöltés..."
#: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257 #: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257
#: cps/templates/layout.html:79 cps/templates/layout.html:205 #: cps/templates/layout.html:79 cps/templates/layout.html:203
#: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163 #: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163
msgid "Close" msgid "Close"
msgstr "Bezárás" msgstr "Bezárás"
@@ -3022,7 +3022,7 @@ msgstr ""
msgid "Account" msgid "Account"
msgstr "Felhasználói fiók" msgstr "Felhasználói fiók"
#: cps/templates/layout.html:93 cps/templates/read.html:78 #: cps/templates/layout.html:93 cps/templates/read.html:83
#: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96 #: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96
msgid "Settings" msgid "Settings"
msgstr "Beállítások" msgstr "Beállítások"
@@ -3039,7 +3039,7 @@ msgstr "Böngészés"
msgid "About" msgid "About"
msgstr "Névjegy" msgstr "Névjegy"
#: cps/templates/layout.html:201 #: cps/templates/layout.html:199
msgid "Book Details" msgid "Book Details"
msgstr "Könyv részletei" msgstr "Könyv részletei"
@@ -3163,67 +3163,75 @@ msgstr "Calibre-Web e-könyv katalógus"
msgid "epub Reader" msgid "epub Reader"
msgstr "" msgstr ""
#: cps/templates/read.html:80 #: cps/templates/read.html:85
msgid "Choose a theme below:" msgid "Choose a theme below:"
msgstr "" msgstr ""
#: cps/templates/read.html:84 cps/templates/readcbr.html:104 #: cps/templates/read.html:89 cps/templates/readcbr.html:104
msgid "Light" msgid "Light"
msgstr "Világos" msgstr "Világos"
#: cps/templates/read.html:86 cps/templates/readcbr.html:105 #: cps/templates/read.html:91 cps/templates/readcbr.html:105
msgid "Dark" msgid "Dark"
msgstr "Sötét" msgstr "Sötét"
#: cps/templates/read.html:88 #: cps/templates/read.html:93
msgid "Sepia" msgid "Sepia"
msgstr "" msgstr ""
#: cps/templates/read.html:90 #: cps/templates/read.html:95
msgid "Amber"
msgstr ""
#: cps/templates/read.html:97
msgid "Black" msgid "Black"
msgstr "" msgstr ""
#: cps/templates/read.html:95 #: cps/templates/read.html:109
msgid "Reflow text when sidebars are open." msgid "Reflow text when sidebars are open."
msgstr "Szöveg újratördelése amikor az oldalsávok nyitva vannak" msgstr "Szöveg újratördelése amikor az oldalsávok nyitva vannak"
#: cps/templates/read.html:100 #: cps/templates/read.html:114
msgid "Font Sizes" msgid "Show pages count"
msgstr "" msgstr ""
#: cps/templates/read.html:105 #: cps/templates/read.html:118
msgid "Font Size"
msgstr ""
#: cps/templates/read.html:126
msgid "Font" msgid "Font"
msgstr "" msgstr ""
#: cps/templates/read.html:106 #: cps/templates/read.html:127
msgid "Default" msgid "Default"
msgstr "" msgstr ""
#: cps/templates/read.html:107 #: cps/templates/read.html:128
msgid "Yahei" msgid "Yahei"
msgstr "" msgstr ""
#: cps/templates/read.html:108 #: cps/templates/read.html:129
msgid "SimSun" msgid "SimSun"
msgstr "" msgstr ""
#: cps/templates/read.html:109 #: cps/templates/read.html:130
msgid "KaiTi" msgid "KaiTi"
msgstr "" msgstr ""
#: cps/templates/read.html:110 #: cps/templates/read.html:131
msgid "Arial" msgid "Arial"
msgstr "" msgstr ""
#: cps/templates/read.html:113 #: cps/templates/read.html:134
msgid "Spread" msgid "Spread"
msgstr "" msgstr ""
#: cps/templates/read.html:114 #: cps/templates/read.html:135
msgid "Two columns" msgid "Two columns"
msgstr "" msgstr ""
#: cps/templates/read.html:115 #: cps/templates/read.html:136
msgid "One column" msgid "One column"
msgstr "" msgstr ""
Binary file not shown.
+34 -26
View File
@@ -7,7 +7,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: 2025-12-06 11:51+0100\n" "POT-Creation-Date: 2025-12-14 14:44+0100\n"
"PO-Revision-Date: 2023-01-21 10:00+0700\n" "PO-Revision-Date: 2023-01-21 10:00+0700\n"
"Last-Translator: Arief Hidayat<arihid95@gmail.com>\n" "Last-Translator: Arief Hidayat<arihid95@gmail.com>\n"
"Language: id\n" "Language: id\n"
@@ -16,7 +16,7 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.17.0\n" "Generated-By: Babel 2.15.0\n"
#: cps/about.py:85 #: cps/about.py:85
msgid "Statistics" msgid "Statistics"
@@ -549,7 +549,7 @@ msgstr "belum dipasang"
msgid "Execution permissions missing" msgid "Execution permissions missing"
msgstr "Izin eksekusi hilang" msgstr "Izin eksekusi hilang"
#: cps/db.py:1046 cps/templates/config_edit.html:207 #: cps/db.py:1124 cps/templates/config_edit.html:207
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714 #: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714
#: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103 #: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103
@@ -966,7 +966,7 @@ msgstr "Kesalahan Google Oauth, harap coba lagi nanti."
msgid "Google Oauth error: {}" msgid "Google Oauth error: {}"
msgstr "Kesalahan Google OAuth: {}" msgstr "Kesalahan Google OAuth: {}"
#: cps/opds.py:308 #: cps/opds.py:307
#, python-brace-format #, python-brace-format
msgid "{} Stars" msgid "{} Stars"
msgstr "{}★" msgstr "{}★"
@@ -1925,12 +1925,12 @@ msgstr "Diterbitkan"
msgid "Description:" msgid "Description:"
msgstr "Deskripsi:" msgstr "Deskripsi:"
#: cps/templates/basic_index.html:7 cps/templates/layout.html:174 #: cps/templates/basic_index.html:7 cps/templates/layout.html:173
msgid "Previous" msgid "Previous"
msgstr "Sebelumnya" msgstr "Sebelumnya"
#: cps/templates/basic_index.html:12 cps/templates/feed.xml:22 #: cps/templates/basic_index.html:12 cps/templates/feed.xml:22
#: cps/templates/layout.html:189 #: cps/templates/layout.html:187
msgid "Next" msgid "Next"
msgstr "Selanjutnya" msgstr "Selanjutnya"
@@ -1990,7 +1990,7 @@ msgid "Uploading..."
msgstr "Mengunggah..." msgstr "Mengunggah..."
#: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257 #: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257
#: cps/templates/layout.html:79 cps/templates/layout.html:205 #: cps/templates/layout.html:79 cps/templates/layout.html:203
#: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163 #: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163
msgid "Close" msgid "Close"
msgstr "Tutup" msgstr "Tutup"
@@ -3022,7 +3022,7 @@ msgstr ""
msgid "Account" msgid "Account"
msgstr "Akun" msgstr "Akun"
#: cps/templates/layout.html:93 cps/templates/read.html:78 #: cps/templates/layout.html:93 cps/templates/read.html:83
#: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96 #: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96
msgid "Settings" msgid "Settings"
msgstr "Pengaturan" msgstr "Pengaturan"
@@ -3039,7 +3039,7 @@ msgstr "Jelajahi"
msgid "About" msgid "About"
msgstr "Tentang" msgstr "Tentang"
#: cps/templates/layout.html:201 #: cps/templates/layout.html:199
msgid "Book Details" msgid "Book Details"
msgstr "Detail Buku" msgstr "Detail Buku"
@@ -3163,67 +3163,75 @@ msgstr "Katalog eBook Calibre-Web"
msgid "epub Reader" msgid "epub Reader"
msgstr "Pembaca EPUB" msgstr "Pembaca EPUB"
#: cps/templates/read.html:80 #: cps/templates/read.html:85
msgid "Choose a theme below:" msgid "Choose a theme below:"
msgstr "" msgstr ""
#: cps/templates/read.html:84 cps/templates/readcbr.html:104 #: cps/templates/read.html:89 cps/templates/readcbr.html:104
msgid "Light" msgid "Light"
msgstr "Terang" msgstr "Terang"
#: cps/templates/read.html:86 cps/templates/readcbr.html:105 #: cps/templates/read.html:91 cps/templates/readcbr.html:105
msgid "Dark" msgid "Dark"
msgstr "Gelap" msgstr "Gelap"
#: cps/templates/read.html:88 #: cps/templates/read.html:93
msgid "Sepia" msgid "Sepia"
msgstr "Sepia" msgstr "Sepia"
#: cps/templates/read.html:90 #: cps/templates/read.html:95
msgid "Amber"
msgstr ""
#: cps/templates/read.html:97
msgid "Black" msgid "Black"
msgstr "Hitam" msgstr "Hitam"
#: cps/templates/read.html:95 #: cps/templates/read.html:109
msgid "Reflow text when sidebars are open." msgid "Reflow text when sidebars are open."
msgstr "Reflow teks saat sidebar terbuka." msgstr "Reflow teks saat sidebar terbuka."
#: cps/templates/read.html:100 #: cps/templates/read.html:114
msgid "Font Sizes" msgid "Show pages count"
msgstr "" msgstr ""
#: cps/templates/read.html:105 #: cps/templates/read.html:118
msgid "Font Size"
msgstr ""
#: cps/templates/read.html:126
msgid "Font" msgid "Font"
msgstr "" msgstr ""
#: cps/templates/read.html:106 #: cps/templates/read.html:127
msgid "Default" msgid "Default"
msgstr "" msgstr ""
#: cps/templates/read.html:107 #: cps/templates/read.html:128
msgid "Yahei" msgid "Yahei"
msgstr "" msgstr ""
#: cps/templates/read.html:108 #: cps/templates/read.html:129
msgid "SimSun" msgid "SimSun"
msgstr "" msgstr ""
#: cps/templates/read.html:109 #: cps/templates/read.html:130
msgid "KaiTi" msgid "KaiTi"
msgstr "" msgstr ""
#: cps/templates/read.html:110 #: cps/templates/read.html:131
msgid "Arial" msgid "Arial"
msgstr "" msgstr ""
#: cps/templates/read.html:113 #: cps/templates/read.html:134
msgid "Spread" msgid "Spread"
msgstr "" msgstr ""
#: cps/templates/read.html:114 #: cps/templates/read.html:135
msgid "Two columns" msgid "Two columns"
msgstr "" msgstr ""
#: cps/templates/read.html:115 #: cps/templates/read.html:136
msgid "One column" msgid "One column"
msgstr "" msgstr ""
Binary file not shown.
+39 -31
View File
@@ -2,13 +2,13 @@
# Copyright (C) 2016 Smart Cities Community # Copyright (C) 2016 Smart Cities Community
# This file is distributed under the same license as the Calibre-Web # This file is distributed under the same license as the Calibre-Web
# Juan F. Villa <juan.villa@paisdelconocimiento.org>, 2016. # Juan F. Villa <juan.villa@paisdelconocimiento.org>, 2016.
# SPDX-FileCopyrightText: 2023, 2024, 2025 Massimo Pissarello <mapi68@gmail.com> # SPDX-FileCopyrightText: 2023, 2024, 2025, 2026 Massimo Pissarello <mapi68@gmail.com>
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Calibre-Web\n" "Project-Id-Version: Calibre-Web\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2025-12-06 11:51+0100\n" "POT-Creation-Date: 2025-12-14 14:44+0100\n"
"PO-Revision-Date: 2025-09-11 01:30+0200\n" "PO-Revision-Date: 2026-01-04 02:22+0100\n"
"Last-Translator: Massimo Pissarello <mapi68@gmail.com>\n" "Last-Translator: Massimo Pissarello <mapi68@gmail.com>\n"
"Language: it\n" "Language: it\n"
"Language-Team: Italian <>\n" "Language-Team: Italian <>\n"
@@ -16,7 +16,7 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.17.0\n" "Generated-By: Babel 2.15.0\n"
#: cps/about.py:85 #: cps/about.py:85
msgid "Statistics" msgid "Statistics"
@@ -549,7 +549,7 @@ msgstr "non installato"
msgid "Execution permissions missing" msgid "Execution permissions missing"
msgstr "Mancano i permessi di esecuzione" msgstr "Mancano i permessi di esecuzione"
#: cps/db.py:1046 cps/templates/config_edit.html:207 #: cps/db.py:1124 cps/templates/config_edit.html:207
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714 #: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714
#: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103 #: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103
@@ -966,7 +966,7 @@ msgstr "Errore OAuth di Google, riprova più tardi."
msgid "Google Oauth error: {}" msgid "Google Oauth error: {}"
msgstr "Errore OAuth di Google: {}" msgstr "Errore OAuth di Google: {}"
#: cps/opds.py:308 #: cps/opds.py:307
#, python-brace-format #, python-brace-format
msgid "{} Stars" msgid "{} Stars"
msgstr "{} stelle" msgstr "{} stelle"
@@ -1925,12 +1925,12 @@ msgstr "Pubblicato"
msgid "Description:" msgid "Description:"
msgstr "Descrizione:" msgstr "Descrizione:"
#: cps/templates/basic_index.html:7 cps/templates/layout.html:174 #: cps/templates/basic_index.html:7 cps/templates/layout.html:173
msgid "Previous" msgid "Previous"
msgstr "Precedente" msgstr "Precedente"
#: cps/templates/basic_index.html:12 cps/templates/feed.xml:22 #: cps/templates/basic_index.html:12 cps/templates/feed.xml:22
#: cps/templates/layout.html:189 #: cps/templates/layout.html:187
msgid "Next" msgid "Next"
msgstr "Successivo" msgstr "Successivo"
@@ -1990,7 +1990,7 @@ msgid "Uploading..."
msgstr "Caricamento in corso..." msgstr "Caricamento in corso..."
#: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257 #: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257
#: cps/templates/layout.html:79 cps/templates/layout.html:205 #: cps/templates/layout.html:79 cps/templates/layout.html:203
#: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163 #: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163
msgid "Close" msgid "Close"
msgstr "Chiudi" msgstr "Chiudi"
@@ -2451,7 +2451,7 @@ msgstr "Chiave API Goodreads"
#: cps/templates/config_edit.html:167 #: cps/templates/config_edit.html:167
msgid "Google Books API Key" msgid "Google Books API Key"
msgstr "" msgstr "Chiave API di Google Libri"
#: cps/templates/config_edit.html:172 #: cps/templates/config_edit.html:172
msgid "Allow Reverse Proxy Authentication" msgid "Allow Reverse Proxy Authentication"
@@ -3022,7 +3022,7 @@ msgstr "Tema semplice"
msgid "Account" msgid "Account"
msgstr "Account" msgstr "Account"
#: cps/templates/layout.html:93 cps/templates/read.html:78 #: cps/templates/layout.html:93 cps/templates/read.html:83
#: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96 #: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96
msgid "Settings" msgid "Settings"
msgstr "Impostazioni" msgstr "Impostazioni"
@@ -3039,7 +3039,7 @@ msgstr "Naviga"
msgid "About" msgid "About"
msgstr "Informazioni su" msgstr "Informazioni su"
#: cps/templates/layout.html:201 #: cps/templates/layout.html:199
msgid "Book Details" msgid "Book Details"
msgstr "Dettagli del libro" msgstr "Dettagli del libro"
@@ -3117,7 +3117,7 @@ msgstr "Questo formato di libro verrà definitivamente cancellato dal database"
#: cps/templates/modal_dialogs.html:51 #: cps/templates/modal_dialogs.html:51
msgid "This book will be permanently erased from database and hard disk" msgid "This book will be permanently erased from database and hard disk"
msgstr "" msgstr "Questo libro verrà cancellato definitivamente dal database e dal disco rigido"
#: cps/templates/modal_dialogs.html:55 #: cps/templates/modal_dialogs.html:55
msgid "Important Kobo Note: deleted books will remain on any paired Kobo device." msgid "Important Kobo Note: deleted books will remain on any paired Kobo device."
@@ -3163,67 +3163,75 @@ msgstr "Catalogo eBook Calibre-Web"
msgid "epub Reader" msgid "epub Reader"
msgstr "Lettore epub" msgstr "Lettore epub"
#: cps/templates/read.html:80 #: cps/templates/read.html:85
msgid "Choose a theme below:" msgid "Choose a theme below:"
msgstr "Scegli un tema qui sotto:" msgstr "Scegli un tema qui sotto:"
#: cps/templates/read.html:84 cps/templates/readcbr.html:104 #: cps/templates/read.html:89 cps/templates/readcbr.html:104
msgid "Light" msgid "Light"
msgstr "Chiaro" msgstr "Chiaro"
#: cps/templates/read.html:86 cps/templates/readcbr.html:105 #: cps/templates/read.html:91 cps/templates/readcbr.html:105
msgid "Dark" msgid "Dark"
msgstr "Scuro" msgstr "Scuro"
#: cps/templates/read.html:88 #: cps/templates/read.html:93
msgid "Sepia" msgid "Sepia"
msgstr "Seppia" msgstr "Seppia"
#: cps/templates/read.html:90 #: cps/templates/read.html:95
msgid "Amber"
msgstr "Ambra"
#: cps/templates/read.html:97
msgid "Black" msgid "Black"
msgstr "Nero" msgstr "Nero"
#: cps/templates/read.html:95 #: cps/templates/read.html:109
msgid "Reflow text when sidebars are open." msgid "Reflow text when sidebars are open."
msgstr "Adatta il testo quando le barre laterali sono aperte." msgstr "Adatta il testo quando le barre laterali sono aperte."
#: cps/templates/read.html:100 #: cps/templates/read.html:114
msgid "Font Sizes" msgid "Show pages count"
msgstr "Dimensioni caratteri" msgstr "Mostra conteggio delle pagine"
#: cps/templates/read.html:105 #: cps/templates/read.html:118
msgid "Font Size"
msgstr "Dimensione carattere"
#: cps/templates/read.html:126
msgid "Font" msgid "Font"
msgstr "Carattere" msgstr "Carattere"
#: cps/templates/read.html:106 #: cps/templates/read.html:127
msgid "Default" msgid "Default"
msgstr "Predefinito" msgstr "Predefinito"
#: cps/templates/read.html:107 #: cps/templates/read.html:128
msgid "Yahei" msgid "Yahei"
msgstr "Yahei" msgstr "Yahei"
#: cps/templates/read.html:108 #: cps/templates/read.html:129
msgid "SimSun" msgid "SimSun"
msgstr "SimSun" msgstr "SimSun"
#: cps/templates/read.html:109 #: cps/templates/read.html:130
msgid "KaiTi" msgid "KaiTi"
msgstr "KaiTi" msgstr "KaiTi"
#: cps/templates/read.html:110 #: cps/templates/read.html:131
msgid "Arial" msgid "Arial"
msgstr "Arial" msgstr "Arial"
#: cps/templates/read.html:113 #: cps/templates/read.html:134
msgid "Spread" msgid "Spread"
msgstr "Doppia pagina" msgstr "Doppia pagina"
#: cps/templates/read.html:114 #: cps/templates/read.html:135
msgid "Two columns" msgid "Two columns"
msgstr "Due colonne" msgstr "Due colonne"
#: cps/templates/read.html:115 #: cps/templates/read.html:136
msgid "One column" msgid "One column"
msgstr "Una colonna" msgstr "Una colonna"
Binary file not shown.
+34 -26
View File
@@ -7,7 +7,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: 2025-12-06 11:51+0100\n" "POT-Creation-Date: 2025-12-14 14:44+0100\n"
"PO-Revision-Date: 2018-02-07 02:20-0500\n" "PO-Revision-Date: 2018-02-07 02:20-0500\n"
"Last-Translator: subdiox <subdiox@gmail.com>\n" "Last-Translator: subdiox <subdiox@gmail.com>\n"
"Language: ja\n" "Language: ja\n"
@@ -16,7 +16,7 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.17.0\n" "Generated-By: Babel 2.15.0\n"
#: cps/about.py:85 #: cps/about.py:85
msgid "Statistics" msgid "Statistics"
@@ -549,7 +549,7 @@ msgstr "インストールされていません"
msgid "Execution permissions missing" msgid "Execution permissions missing"
msgstr "実行権限がありません" msgstr "実行権限がありません"
#: cps/db.py:1046 cps/templates/config_edit.html:207 #: cps/db.py:1124 cps/templates/config_edit.html:207
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714 #: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714
#: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103 #: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103
@@ -966,7 +966,7 @@ msgstr "Google OAuth エラー、再度お試しください。"
msgid "Google Oauth error: {}" msgid "Google Oauth error: {}"
msgstr "Google OAuth エラー: {}" msgstr "Google OAuth エラー: {}"
#: cps/opds.py:308 #: cps/opds.py:307
#, python-brace-format #, python-brace-format
msgid "{} Stars" msgid "{} Stars"
msgstr "星{}" msgstr "星{}"
@@ -1925,12 +1925,12 @@ msgstr "発売日"
msgid "Description:" msgid "Description:"
msgstr "詳細:" msgstr "詳細:"
#: cps/templates/basic_index.html:7 cps/templates/layout.html:174 #: cps/templates/basic_index.html:7 cps/templates/layout.html:173
msgid "Previous" msgid "Previous"
msgstr "前" msgstr "前"
#: cps/templates/basic_index.html:12 cps/templates/feed.xml:22 #: cps/templates/basic_index.html:12 cps/templates/feed.xml:22
#: cps/templates/layout.html:189 #: cps/templates/layout.html:187
msgid "Next" msgid "Next"
msgstr "次" msgstr "次"
@@ -1990,7 +1990,7 @@ msgid "Uploading..."
msgstr "アップロード中..." msgstr "アップロード中..."
#: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257 #: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257
#: cps/templates/layout.html:79 cps/templates/layout.html:205 #: cps/templates/layout.html:79 cps/templates/layout.html:203
#: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163 #: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163
msgid "Close" msgid "Close"
msgstr "閉じる" msgstr "閉じる"
@@ -3022,7 +3022,7 @@ msgstr ""
msgid "Account" msgid "Account"
msgstr "アカウント" msgstr "アカウント"
#: cps/templates/layout.html:93 cps/templates/read.html:78 #: cps/templates/layout.html:93 cps/templates/read.html:83
#: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96 #: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96
msgid "Settings" msgid "Settings"
msgstr "設定" msgstr "設定"
@@ -3039,7 +3039,7 @@ msgstr "閲覧"
msgid "About" msgid "About"
msgstr "このサイトについて" msgstr "このサイトについて"
#: cps/templates/layout.html:201 #: cps/templates/layout.html:199
msgid "Book Details" msgid "Book Details"
msgstr "本の詳細" msgstr "本の詳細"
@@ -3163,67 +3163,75 @@ msgstr "Calibre-WebのeBookカタログ"
msgid "epub Reader" msgid "epub Reader"
msgstr "EPUBリーダー" msgstr "EPUBリーダー"
#: cps/templates/read.html:80 #: cps/templates/read.html:85
msgid "Choose a theme below:" msgid "Choose a theme below:"
msgstr "" msgstr ""
#: cps/templates/read.html:84 cps/templates/readcbr.html:104 #: cps/templates/read.html:89 cps/templates/readcbr.html:104
msgid "Light" msgid "Light"
msgstr "ライト" msgstr "ライト"
#: cps/templates/read.html:86 cps/templates/readcbr.html:105 #: cps/templates/read.html:91 cps/templates/readcbr.html:105
msgid "Dark" msgid "Dark"
msgstr "ダーク" msgstr "ダーク"
#: cps/templates/read.html:88 #: cps/templates/read.html:93
msgid "Sepia" msgid "Sepia"
msgstr "セピア" msgstr "セピア"
#: cps/templates/read.html:90 #: cps/templates/read.html:95
msgid "Amber"
msgstr ""
#: cps/templates/read.html:97
msgid "Black" msgid "Black"
msgstr "ブラック" msgstr "ブラック"
#: cps/templates/read.html:95 #: cps/templates/read.html:109
msgid "Reflow text when sidebars are open." msgid "Reflow text when sidebars are open."
msgstr "サイドバーが開いているとき、テキストを再度流し込みます。" msgstr "サイドバーが開いているとき、テキストを再度流し込みます。"
#: cps/templates/read.html:100 #: cps/templates/read.html:114
msgid "Font Sizes" msgid "Show pages count"
msgstr "" msgstr ""
#: cps/templates/read.html:105 #: cps/templates/read.html:118
msgid "Font Size"
msgstr ""
#: cps/templates/read.html:126
msgid "Font" msgid "Font"
msgstr "" msgstr ""
#: cps/templates/read.html:106 #: cps/templates/read.html:127
msgid "Default" msgid "Default"
msgstr "" msgstr ""
#: cps/templates/read.html:107 #: cps/templates/read.html:128
msgid "Yahei" msgid "Yahei"
msgstr "" msgstr ""
#: cps/templates/read.html:108 #: cps/templates/read.html:129
msgid "SimSun" msgid "SimSun"
msgstr "" msgstr ""
#: cps/templates/read.html:109 #: cps/templates/read.html:130
msgid "KaiTi" msgid "KaiTi"
msgstr "" msgstr ""
#: cps/templates/read.html:110 #: cps/templates/read.html:131
msgid "Arial" msgid "Arial"
msgstr "" msgstr ""
#: cps/templates/read.html:113 #: cps/templates/read.html:134
msgid "Spread" msgid "Spread"
msgstr "" msgstr ""
#: cps/templates/read.html:114 #: cps/templates/read.html:135
msgid "Two columns" msgid "Two columns"
msgstr "" msgstr ""
#: cps/templates/read.html:115 #: cps/templates/read.html:136
msgid "One column" msgid "One column"
msgstr "" msgstr ""
Binary file not shown.
+34 -26
View File
@@ -8,7 +8,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: 2025-12-06 11:51+0100\n" "POT-Creation-Date: 2025-12-14 14:44+0100\n"
"PO-Revision-Date: 2018-08-27 17:06+0700\n" "PO-Revision-Date: 2018-08-27 17:06+0700\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language: km_KH\n" "Language: km_KH\n"
@@ -17,7 +17,7 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.17.0\n" "Generated-By: Babel 2.15.0\n"
#: cps/about.py:85 #: cps/about.py:85
msgid "Statistics" msgid "Statistics"
@@ -550,7 +550,7 @@ msgstr "មិនបានតម្លើង"
msgid "Execution permissions missing" msgid "Execution permissions missing"
msgstr "" msgstr ""
#: cps/db.py:1046 cps/templates/config_edit.html:207 #: cps/db.py:1124 cps/templates/config_edit.html:207
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714 #: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714
#: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103 #: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103
@@ -967,7 +967,7 @@ msgstr ""
msgid "Google Oauth error: {}" msgid "Google Oauth error: {}"
msgstr "" msgstr ""
#: cps/opds.py:308 #: cps/opds.py:307
#, python-brace-format #, python-brace-format
msgid "{} Stars" msgid "{} Stars"
msgstr "" msgstr ""
@@ -1926,12 +1926,12 @@ msgstr ""
msgid "Description:" msgid "Description:"
msgstr "ពិពណ៌នា" msgstr "ពិពណ៌នា"
#: cps/templates/basic_index.html:7 cps/templates/layout.html:174 #: cps/templates/basic_index.html:7 cps/templates/layout.html:173
msgid "Previous" msgid "Previous"
msgstr "មុន" msgstr "មុន"
#: cps/templates/basic_index.html:12 cps/templates/feed.xml:22 #: cps/templates/basic_index.html:12 cps/templates/feed.xml:22
#: cps/templates/layout.html:189 #: cps/templates/layout.html:187
msgid "Next" msgid "Next"
msgstr "បន្ទាប់" msgstr "បន្ទាប់"
@@ -1991,7 +1991,7 @@ msgid "Uploading..."
msgstr "កំពុងអាប់ឡូត..." msgstr "កំពុងអាប់ឡូត..."
#: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257 #: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257
#: cps/templates/layout.html:79 cps/templates/layout.html:205 #: cps/templates/layout.html:79 cps/templates/layout.html:203
#: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163 #: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163
msgid "Close" msgid "Close"
msgstr "បិទ" msgstr "បិទ"
@@ -3023,7 +3023,7 @@ msgstr ""
msgid "Account" msgid "Account"
msgstr "" msgstr ""
#: cps/templates/layout.html:93 cps/templates/read.html:78 #: cps/templates/layout.html:93 cps/templates/read.html:83
#: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96 #: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96
msgid "Settings" msgid "Settings"
msgstr "ការកំណត់" msgstr "ការកំណត់"
@@ -3040,7 +3040,7 @@ msgstr "រុករក"
msgid "About" msgid "About"
msgstr "អំពី" msgstr "អំពី"
#: cps/templates/layout.html:201 #: cps/templates/layout.html:199
msgid "Book Details" msgid "Book Details"
msgstr "ព័ត៌មានលម្អិតរបស់សៀវភៅ" msgstr "ព័ត៌មានលម្អិតរបស់សៀវភៅ"
@@ -3164,67 +3164,75 @@ msgstr ""
msgid "epub Reader" msgid "epub Reader"
msgstr "" msgstr ""
#: cps/templates/read.html:80 #: cps/templates/read.html:85
msgid "Choose a theme below:" msgid "Choose a theme below:"
msgstr "" msgstr ""
#: cps/templates/read.html:84 cps/templates/readcbr.html:104 #: cps/templates/read.html:89 cps/templates/readcbr.html:104
msgid "Light" msgid "Light"
msgstr "" msgstr ""
#: cps/templates/read.html:86 cps/templates/readcbr.html:105 #: cps/templates/read.html:91 cps/templates/readcbr.html:105
msgid "Dark" msgid "Dark"
msgstr "" msgstr ""
#: cps/templates/read.html:88 #: cps/templates/read.html:93
msgid "Sepia" msgid "Sepia"
msgstr "" msgstr ""
#: cps/templates/read.html:90 #: cps/templates/read.html:95
msgid "Amber"
msgstr ""
#: cps/templates/read.html:97
msgid "Black" msgid "Black"
msgstr "" msgstr ""
#: cps/templates/read.html:95 #: cps/templates/read.html:109
msgid "Reflow text when sidebars are open." msgid "Reflow text when sidebars are open."
msgstr "សេរេអត្ថបទនៅពេលបើកផ្ទាំងចំហៀង។" msgstr "សេរេអត្ថបទនៅពេលបើកផ្ទាំងចំហៀង។"
#: cps/templates/read.html:100 #: cps/templates/read.html:114
msgid "Font Sizes" msgid "Show pages count"
msgstr "" msgstr ""
#: cps/templates/read.html:105 #: cps/templates/read.html:118
msgid "Font Size"
msgstr ""
#: cps/templates/read.html:126
msgid "Font" msgid "Font"
msgstr "" msgstr ""
#: cps/templates/read.html:106 #: cps/templates/read.html:127
msgid "Default" msgid "Default"
msgstr "" msgstr ""
#: cps/templates/read.html:107 #: cps/templates/read.html:128
msgid "Yahei" msgid "Yahei"
msgstr "" msgstr ""
#: cps/templates/read.html:108 #: cps/templates/read.html:129
msgid "SimSun" msgid "SimSun"
msgstr "" msgstr ""
#: cps/templates/read.html:109 #: cps/templates/read.html:130
msgid "KaiTi" msgid "KaiTi"
msgstr "" msgstr ""
#: cps/templates/read.html:110 #: cps/templates/read.html:131
msgid "Arial" msgid "Arial"
msgstr "" msgstr ""
#: cps/templates/read.html:113 #: cps/templates/read.html:134
msgid "Spread" msgid "Spread"
msgstr "" msgstr ""
#: cps/templates/read.html:114 #: cps/templates/read.html:135
msgid "Two columns" msgid "Two columns"
msgstr "" msgstr ""
#: cps/templates/read.html:115 #: cps/templates/read.html:136
msgid "One column" msgid "One column"
msgstr "" msgstr ""
Binary file not shown.
+35 -27
View File
@@ -7,7 +7,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: 2025-12-06 11:51+0100\n" "POT-Creation-Date: 2025-12-14 14:44+0100\n"
"PO-Revision-Date: 2024-11-01 17:50+0900\n" "PO-Revision-Date: 2024-11-01 17:50+0900\n"
"Last-Translator: limeade23 <admin@limeade.me>\n" "Last-Translator: limeade23 <admin@limeade.me>\n"
"Language: ko\n" "Language: ko\n"
@@ -16,7 +16,7 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.17.0\n" "Generated-By: Babel 2.15.0\n"
#: cps/about.py:85 #: cps/about.py:85
msgid "Statistics" msgid "Statistics"
@@ -549,7 +549,7 @@ msgstr "설치되지 않았습니다."
msgid "Execution permissions missing" msgid "Execution permissions missing"
msgstr "실행 권한이 없습니다." msgstr "실행 권한이 없습니다."
#: cps/db.py:1046 cps/templates/config_edit.html:207 #: cps/db.py:1124 cps/templates/config_edit.html:207
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714 #: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714
#: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103 #: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103
@@ -966,7 +966,7 @@ msgstr "Google 인증 오류입니다. 잠시 후 다시 시도해 주세요."
msgid "Google Oauth error: {}" msgid "Google Oauth error: {}"
msgstr "Google 인증 오류가 발생했습니다: {}" msgstr "Google 인증 오류가 발생했습니다: {}"
#: cps/opds.py:308 #: cps/opds.py:307
#, python-brace-format #, python-brace-format
msgid "{} Stars" msgid "{} Stars"
msgstr "{} Stars" msgstr "{} Stars"
@@ -1925,12 +1925,12 @@ msgstr "발행일"
msgid "Description:" msgid "Description:"
msgstr "설명:" msgstr "설명:"
#: cps/templates/basic_index.html:7 cps/templates/layout.html:174 #: cps/templates/basic_index.html:7 cps/templates/layout.html:173
msgid "Previous" msgid "Previous"
msgstr "이전" msgstr "이전"
#: cps/templates/basic_index.html:12 cps/templates/feed.xml:22 #: cps/templates/basic_index.html:12 cps/templates/feed.xml:22
#: cps/templates/layout.html:189 #: cps/templates/layout.html:187
msgid "Next" msgid "Next"
msgstr "다음" msgstr "다음"
@@ -1990,7 +1990,7 @@ msgid "Uploading..."
msgstr "업로드 중" msgstr "업로드 중"
#: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257 #: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257
#: cps/templates/layout.html:79 cps/templates/layout.html:205 #: cps/templates/layout.html:79 cps/templates/layout.html:203
#: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163 #: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163
msgid "Close" msgid "Close"
msgstr "닫기" msgstr "닫기"
@@ -3022,7 +3022,7 @@ msgstr "간단한 테마"
msgid "Account" msgid "Account"
msgstr "계정" msgstr "계정"
#: cps/templates/layout.html:93 cps/templates/read.html:78 #: cps/templates/layout.html:93 cps/templates/read.html:83
#: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96 #: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96
msgid "Settings" msgid "Settings"
msgstr "설정" msgstr "설정"
@@ -3039,7 +3039,7 @@ msgstr "탐색"
msgid "About" msgid "About"
msgstr "서재 정보" msgstr "서재 정보"
#: cps/templates/layout.html:201 #: cps/templates/layout.html:199
msgid "Book Details" msgid "Book Details"
msgstr "책 상세정보" msgstr "책 상세정보"
@@ -3163,67 +3163,75 @@ msgstr "Calibre-Web 책 목록"
msgid "epub Reader" msgid "epub Reader"
msgstr "epub 리더" msgstr "epub 리더"
#: cps/templates/read.html:80 #: cps/templates/read.html:85
msgid "Choose a theme below:" msgid "Choose a theme below:"
msgstr "테마를 선택해주세요:" msgstr "테마를 선택해주세요:"
#: cps/templates/read.html:84 cps/templates/readcbr.html:104 #: cps/templates/read.html:89 cps/templates/readcbr.html:104
msgid "Light" msgid "Light"
msgstr "밝은색" msgstr "밝은색"
#: cps/templates/read.html:86 cps/templates/readcbr.html:105 #: cps/templates/read.html:91 cps/templates/readcbr.html:105
msgid "Dark" msgid "Dark"
msgstr "어두운색" msgstr "어두운색"
#: cps/templates/read.html:88 #: cps/templates/read.html:93
msgid "Sepia" msgid "Sepia"
msgstr "세피아" msgstr "세피아"
#: cps/templates/read.html:90 #: cps/templates/read.html:95
msgid "Amber"
msgstr ""
#: cps/templates/read.html:97
msgid "Black" msgid "Black"
msgstr "검은색" msgstr "검은색"
#: cps/templates/read.html:95 #: cps/templates/read.html:109
msgid "Reflow text when sidebars are open." msgid "Reflow text when sidebars are open."
msgstr "사이드바가 열릴 경우 텍스트를 재정렬합니다." msgstr "사이드바가 열릴 경우 텍스트를 재정렬합니다."
#: cps/templates/read.html:100 #: cps/templates/read.html:114
msgid "Font Sizes" msgid "Show pages count"
msgstr "글자 크기" msgstr ""
#: cps/templates/read.html:105 #: cps/templates/read.html:118
msgid "Font Size"
msgstr ""
#: cps/templates/read.html:126
msgid "Font" msgid "Font"
msgstr "글꼴" msgstr "글꼴"
#: cps/templates/read.html:106 #: cps/templates/read.html:127
msgid "Default" msgid "Default"
msgstr "기본값" msgstr "기본값"
#: cps/templates/read.html:107 #: cps/templates/read.html:128
msgid "Yahei" msgid "Yahei"
msgstr "Yahei" msgstr "Yahei"
#: cps/templates/read.html:108 #: cps/templates/read.html:129
msgid "SimSun" msgid "SimSun"
msgstr "SimSun" msgstr "SimSun"
#: cps/templates/read.html:109 #: cps/templates/read.html:130
msgid "KaiTi" msgid "KaiTi"
msgstr "KaiTi" msgstr "KaiTi"
#: cps/templates/read.html:110 #: cps/templates/read.html:131
msgid "Arial" msgid "Arial"
msgstr "Arial" msgstr "Arial"
#: cps/templates/read.html:113 #: cps/templates/read.html:134
msgid "Spread" msgid "Spread"
msgstr "페이지 보기" msgstr "페이지 보기"
#: cps/templates/read.html:114 #: cps/templates/read.html:135
msgid "Two columns" msgid "Two columns"
msgstr "두쪽 보기" msgstr "두쪽 보기"
#: cps/templates/read.html:115 #: cps/templates/read.html:136
msgid "One column" msgid "One column"
msgstr "한쪽 보기" msgstr "한쪽 보기"
Binary file not shown.
+35 -27
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Calibre-Web (GPLV3)\n" "Project-Id-Version: Calibre-Web (GPLV3)\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: 2025-12-06 11:51+0100\n" "POT-Creation-Date: 2025-12-14 14:44+0100\n"
"PO-Revision-Date: 2023-12-20 22:00+0100\n" "PO-Revision-Date: 2023-12-20 22:00+0100\n"
"Last-Translator: Michiel Cornelissen <michiel.cornelissen+gitbhun at proton.me>\n" "Last-Translator: Michiel Cornelissen <michiel.cornelissen+gitbhun at proton.me>\n"
"Language: nl\n" "Language: nl\n"
@@ -17,7 +17,7 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.17.0\n" "Generated-By: Babel 2.15.0\n"
#: cps/about.py:85 #: cps/about.py:85
msgid "Statistics" msgid "Statistics"
@@ -550,7 +550,7 @@ msgstr "niet geïnstalleerd"
msgid "Execution permissions missing" msgid "Execution permissions missing"
msgstr "Kan programma niet uitvoeren" msgstr "Kan programma niet uitvoeren"
#: cps/db.py:1046 cps/templates/config_edit.html:207 #: cps/db.py:1124 cps/templates/config_edit.html:207
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714 #: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714
#: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103 #: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103
@@ -967,7 +967,7 @@ msgstr "Google OAuth fout, probeer het later nog eens."
msgid "Google Oauth error: {}" msgid "Google Oauth error: {}"
msgstr "Google OAuth foutmelding: {}" msgstr "Google OAuth foutmelding: {}"
#: cps/opds.py:308 #: cps/opds.py:307
#, python-brace-format #, python-brace-format
msgid "{} Stars" msgid "{} Stars"
msgstr "{} sterren" msgstr "{} sterren"
@@ -1926,12 +1926,12 @@ msgstr "Gepubliceerd"
msgid "Description:" msgid "Description:"
msgstr "Beschrijving:" msgstr "Beschrijving:"
#: cps/templates/basic_index.html:7 cps/templates/layout.html:174 #: cps/templates/basic_index.html:7 cps/templates/layout.html:173
msgid "Previous" msgid "Previous"
msgstr "Vorige" msgstr "Vorige"
#: cps/templates/basic_index.html:12 cps/templates/feed.xml:22 #: cps/templates/basic_index.html:12 cps/templates/feed.xml:22
#: cps/templates/layout.html:189 #: cps/templates/layout.html:187
msgid "Next" msgid "Next"
msgstr "Volgende" msgstr "Volgende"
@@ -1991,7 +1991,7 @@ msgid "Uploading..."
msgstr "Bezig met uploaden..." msgstr "Bezig met uploaden..."
#: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257 #: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257
#: cps/templates/layout.html:79 cps/templates/layout.html:205 #: cps/templates/layout.html:79 cps/templates/layout.html:203
#: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163 #: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163
msgid "Close" msgid "Close"
msgstr "Sluiten" msgstr "Sluiten"
@@ -3023,7 +3023,7 @@ msgstr ""
msgid "Account" msgid "Account"
msgstr "Account" msgstr "Account"
#: cps/templates/layout.html:93 cps/templates/read.html:78 #: cps/templates/layout.html:93 cps/templates/read.html:83
#: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96 #: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96
msgid "Settings" msgid "Settings"
msgstr "Instellingen" msgstr "Instellingen"
@@ -3040,7 +3040,7 @@ msgstr "Verkennen"
msgid "About" msgid "About"
msgstr "Informatie" msgstr "Informatie"
#: cps/templates/layout.html:201 #: cps/templates/layout.html:199
msgid "Book Details" msgid "Book Details"
msgstr "Boekgegevens" msgstr "Boekgegevens"
@@ -3164,67 +3164,75 @@ msgstr "Calibre-Web - e-boekcatalogus"
msgid "epub Reader" msgid "epub Reader"
msgstr "" msgstr ""
#: cps/templates/read.html:80 #: cps/templates/read.html:85
msgid "Choose a theme below:" msgid "Choose a theme below:"
msgstr "" msgstr ""
#: cps/templates/read.html:84 cps/templates/readcbr.html:104 #: cps/templates/read.html:89 cps/templates/readcbr.html:104
msgid "Light" msgid "Light"
msgstr "Licht" msgstr "Licht"
#: cps/templates/read.html:86 cps/templates/readcbr.html:105 #: cps/templates/read.html:91 cps/templates/readcbr.html:105
msgid "Dark" msgid "Dark"
msgstr "Donker" msgstr "Donker"
#: cps/templates/read.html:88 #: cps/templates/read.html:93
msgid "Sepia" msgid "Sepia"
msgstr "Sepia" msgstr "Sepia"
#: cps/templates/read.html:90 #: cps/templates/read.html:95
msgid "Amber"
msgstr ""
#: cps/templates/read.html:97
msgid "Black" msgid "Black"
msgstr "" msgstr ""
#: cps/templates/read.html:95 #: cps/templates/read.html:109
msgid "Reflow text when sidebars are open." msgid "Reflow text when sidebars are open."
msgstr "Tekstindeling automatisch aanpassen als het zijpaneel geopend is." msgstr "Tekstindeling automatisch aanpassen als het zijpaneel geopend is."
#: cps/templates/read.html:100 #: cps/templates/read.html:114
msgid "Font Sizes" msgid "Show pages count"
msgstr "Lettertypegrootte" msgstr ""
#: cps/templates/read.html:105 #: cps/templates/read.html:118
msgid "Font Size"
msgstr ""
#: cps/templates/read.html:126
msgid "Font" msgid "Font"
msgstr "Lettertype" msgstr "Lettertype"
#: cps/templates/read.html:106 #: cps/templates/read.html:127
msgid "Default" msgid "Default"
msgstr "" msgstr ""
#: cps/templates/read.html:107 #: cps/templates/read.html:128
msgid "Yahei" msgid "Yahei"
msgstr "" msgstr ""
#: cps/templates/read.html:108 #: cps/templates/read.html:129
msgid "SimSun" msgid "SimSun"
msgstr "" msgstr ""
#: cps/templates/read.html:109 #: cps/templates/read.html:130
msgid "KaiTi" msgid "KaiTi"
msgstr "" msgstr ""
#: cps/templates/read.html:110 #: cps/templates/read.html:131
msgid "Arial" msgid "Arial"
msgstr "" msgstr ""
#: cps/templates/read.html:113 #: cps/templates/read.html:134
msgid "Spread" msgid "Spread"
msgstr "" msgstr ""
#: cps/templates/read.html:114 #: cps/templates/read.html:135
msgid "Two columns" msgid "Two columns"
msgstr "Twee kolommen" msgstr "Twee kolommen"
#: cps/templates/read.html:115 #: cps/templates/read.html:136
msgid "One column" msgid "One column"
msgstr "" msgstr ""
Binary file not shown.
+34 -26
View File
@@ -7,7 +7,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: 2025-12-06 11:51+0100\n" "POT-Creation-Date: 2025-12-14 14:44+0100\n"
"PO-Revision-Date: 2023-01-06 11:00+0000\n" "PO-Revision-Date: 2023-01-06 11:00+0000\n"
"Last-Translator: Vegard Fladby <vegard.fladby@gmail.com>\n" "Last-Translator: Vegard Fladby <vegard.fladby@gmail.com>\n"
"Language: no\n" "Language: no\n"
@@ -16,7 +16,7 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.17.0\n" "Generated-By: Babel 2.15.0\n"
#: cps/about.py:85 #: cps/about.py:85
msgid "Statistics" msgid "Statistics"
@@ -549,7 +549,7 @@ msgstr "ikke installert"
msgid "Execution permissions missing" msgid "Execution permissions missing"
msgstr "Utførelsestillatelser mangler" msgstr "Utførelsestillatelser mangler"
#: cps/db.py:1046 cps/templates/config_edit.html:207 #: cps/db.py:1124 cps/templates/config_edit.html:207
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714 #: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714
#: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103 #: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103
@@ -966,7 +966,7 @@ msgstr "Google Oauth-feil, prøv igjen senere."
msgid "Google Oauth error: {}" msgid "Google Oauth error: {}"
msgstr "Google Oauth-feil: {}" msgstr "Google Oauth-feil: {}"
#: cps/opds.py:308 #: cps/opds.py:307
#, python-brace-format #, python-brace-format
msgid "{} Stars" msgid "{} Stars"
msgstr "{} Stjerner" msgstr "{} Stjerner"
@@ -1925,12 +1925,12 @@ msgstr ""
msgid "Description:" msgid "Description:"
msgstr "" msgstr ""
#: cps/templates/basic_index.html:7 cps/templates/layout.html:174 #: cps/templates/basic_index.html:7 cps/templates/layout.html:173
msgid "Previous" msgid "Previous"
msgstr "" msgstr ""
#: cps/templates/basic_index.html:12 cps/templates/feed.xml:22 #: cps/templates/basic_index.html:12 cps/templates/feed.xml:22
#: cps/templates/layout.html:189 #: cps/templates/layout.html:187
msgid "Next" msgid "Next"
msgstr "" msgstr ""
@@ -1990,7 +1990,7 @@ msgid "Uploading..."
msgstr "" msgstr ""
#: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257 #: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257
#: cps/templates/layout.html:79 cps/templates/layout.html:205 #: cps/templates/layout.html:79 cps/templates/layout.html:203
#: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163 #: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163
msgid "Close" msgid "Close"
msgstr "Lukk" msgstr "Lukk"
@@ -3022,7 +3022,7 @@ msgstr ""
msgid "Account" msgid "Account"
msgstr "" msgstr ""
#: cps/templates/layout.html:93 cps/templates/read.html:78 #: cps/templates/layout.html:93 cps/templates/read.html:83
#: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96 #: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96
msgid "Settings" msgid "Settings"
msgstr "" msgstr ""
@@ -3039,7 +3039,7 @@ msgstr ""
msgid "About" msgid "About"
msgstr "" msgstr ""
#: cps/templates/layout.html:201 #: cps/templates/layout.html:199
msgid "Book Details" msgid "Book Details"
msgstr "" msgstr ""
@@ -3163,67 +3163,75 @@ msgstr ""
msgid "epub Reader" msgid "epub Reader"
msgstr "" msgstr ""
#: cps/templates/read.html:80 #: cps/templates/read.html:85
msgid "Choose a theme below:" msgid "Choose a theme below:"
msgstr "" msgstr ""
#: cps/templates/read.html:84 cps/templates/readcbr.html:104 #: cps/templates/read.html:89 cps/templates/readcbr.html:104
msgid "Light" msgid "Light"
msgstr "" msgstr ""
#: cps/templates/read.html:86 cps/templates/readcbr.html:105 #: cps/templates/read.html:91 cps/templates/readcbr.html:105
msgid "Dark" msgid "Dark"
msgstr "" msgstr ""
#: cps/templates/read.html:88 #: cps/templates/read.html:93
msgid "Sepia" msgid "Sepia"
msgstr "" msgstr ""
#: cps/templates/read.html:90 #: cps/templates/read.html:95
msgid "Amber"
msgstr ""
#: cps/templates/read.html:97
msgid "Black" msgid "Black"
msgstr "" msgstr ""
#: cps/templates/read.html:95 #: cps/templates/read.html:109
msgid "Reflow text when sidebars are open." msgid "Reflow text when sidebars are open."
msgstr "" msgstr ""
#: cps/templates/read.html:100 #: cps/templates/read.html:114
msgid "Font Sizes" msgid "Show pages count"
msgstr "" msgstr ""
#: cps/templates/read.html:105 #: cps/templates/read.html:118
msgid "Font Size"
msgstr ""
#: cps/templates/read.html:126
msgid "Font" msgid "Font"
msgstr "" msgstr ""
#: cps/templates/read.html:106 #: cps/templates/read.html:127
msgid "Default" msgid "Default"
msgstr "" msgstr ""
#: cps/templates/read.html:107 #: cps/templates/read.html:128
msgid "Yahei" msgid "Yahei"
msgstr "" msgstr ""
#: cps/templates/read.html:108 #: cps/templates/read.html:129
msgid "SimSun" msgid "SimSun"
msgstr "" msgstr ""
#: cps/templates/read.html:109 #: cps/templates/read.html:130
msgid "KaiTi" msgid "KaiTi"
msgstr "" msgstr ""
#: cps/templates/read.html:110 #: cps/templates/read.html:131
msgid "Arial" msgid "Arial"
msgstr "" msgstr ""
#: cps/templates/read.html:113 #: cps/templates/read.html:134
msgid "Spread" msgid "Spread"
msgstr "" msgstr ""
#: cps/templates/read.html:114 #: cps/templates/read.html:135
msgid "Two columns" msgid "Two columns"
msgstr "" msgstr ""
#: cps/templates/read.html:115 #: cps/templates/read.html:136
msgid "One column" msgid "One column"
msgstr "" msgstr ""
Binary file not shown.
File diff suppressed because it is too large Load Diff
Binary file not shown.
+35 -27
View File
@@ -4,7 +4,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: 2025-12-06 11:51+0100\n" "POT-Creation-Date: 2025-12-14 14:44+0100\n"
"PO-Revision-Date: 2023-07-25 11:30+0100\n" "PO-Revision-Date: 2023-07-25 11:30+0100\n"
"Last-Translator: horus68 <https://github.com/horus68>\n" "Last-Translator: horus68 <https://github.com/horus68>\n"
"Language: pt\n" "Language: pt\n"
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.17.0\n" "Generated-By: Babel 2.15.0\n"
#: cps/about.py:85 #: cps/about.py:85
msgid "Statistics" msgid "Statistics"
@@ -546,7 +546,7 @@ msgstr "não instalado"
msgid "Execution permissions missing" msgid "Execution permissions missing"
msgstr "Falta de permissões de execução" msgstr "Falta de permissões de execução"
#: cps/db.py:1046 cps/templates/config_edit.html:207 #: cps/db.py:1124 cps/templates/config_edit.html:207
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714 #: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714
#: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103 #: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103
@@ -963,7 +963,7 @@ msgstr "Erro no Google Oauth, tente novamente mais tarde."
msgid "Google Oauth error: {}" msgid "Google Oauth error: {}"
msgstr "Erro no Oauth do Google: {}" msgstr "Erro no Oauth do Google: {}"
#: cps/opds.py:308 #: cps/opds.py:307
#, python-brace-format #, python-brace-format
msgid "{} Stars" msgid "{} Stars"
msgstr "{} Estrelas" msgstr "{} Estrelas"
@@ -1922,12 +1922,12 @@ msgstr "Publicado em"
msgid "Description:" msgid "Description:"
msgstr "Descrição:" msgstr "Descrição:"
#: cps/templates/basic_index.html:7 cps/templates/layout.html:174 #: cps/templates/basic_index.html:7 cps/templates/layout.html:173
msgid "Previous" msgid "Previous"
msgstr "Anterior" msgstr "Anterior"
#: cps/templates/basic_index.html:12 cps/templates/feed.xml:22 #: cps/templates/basic_index.html:12 cps/templates/feed.xml:22
#: cps/templates/layout.html:189 #: cps/templates/layout.html:187
msgid "Next" msgid "Next"
msgstr "Seguinte" msgstr "Seguinte"
@@ -1987,7 +1987,7 @@ msgid "Uploading..."
msgstr "A carregar..." msgstr "A carregar..."
#: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257 #: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257
#: cps/templates/layout.html:79 cps/templates/layout.html:205 #: cps/templates/layout.html:79 cps/templates/layout.html:203
#: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163 #: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163
msgid "Close" msgid "Close"
msgstr "Fechar" msgstr "Fechar"
@@ -3019,7 +3019,7 @@ msgstr ""
msgid "Account" msgid "Account"
msgstr "Conta" msgstr "Conta"
#: cps/templates/layout.html:93 cps/templates/read.html:78 #: cps/templates/layout.html:93 cps/templates/read.html:83
#: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96 #: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96
msgid "Settings" msgid "Settings"
msgstr "Configurações" msgstr "Configurações"
@@ -3036,7 +3036,7 @@ msgstr "Navegar"
msgid "About" msgid "About"
msgstr "Sobre" msgstr "Sobre"
#: cps/templates/layout.html:201 #: cps/templates/layout.html:199
msgid "Book Details" msgid "Book Details"
msgstr "Detalhes do livro" msgstr "Detalhes do livro"
@@ -3160,67 +3160,75 @@ msgstr "Catálogo de ebooks Calibre-Web"
msgid "epub Reader" msgid "epub Reader"
msgstr "leitor de epub" msgstr "leitor de epub"
#: cps/templates/read.html:80 #: cps/templates/read.html:85
msgid "Choose a theme below:" msgid "Choose a theme below:"
msgstr "" msgstr ""
#: cps/templates/read.html:84 cps/templates/readcbr.html:104 #: cps/templates/read.html:89 cps/templates/readcbr.html:104
msgid "Light" msgid "Light"
msgstr "Claro" msgstr "Claro"
#: cps/templates/read.html:86 cps/templates/readcbr.html:105 #: cps/templates/read.html:91 cps/templates/readcbr.html:105
msgid "Dark" msgid "Dark"
msgstr "Escuro" msgstr "Escuro"
#: cps/templates/read.html:88 #: cps/templates/read.html:93
msgid "Sepia" msgid "Sepia"
msgstr "Sépia" msgstr "Sépia"
#: cps/templates/read.html:90 #: cps/templates/read.html:95
msgid "Amber"
msgstr ""
#: cps/templates/read.html:97
msgid "Black" msgid "Black"
msgstr "Preto" msgstr "Preto"
#: cps/templates/read.html:95 #: cps/templates/read.html:109
msgid "Reflow text when sidebars are open." msgid "Reflow text when sidebars are open."
msgstr "Refluir o texto quando as barras laterais estiverem abertas." msgstr "Refluir o texto quando as barras laterais estiverem abertas."
#: cps/templates/read.html:100 #: cps/templates/read.html:114
msgid "Font Sizes" msgid "Show pages count"
msgstr "Tamanhos de letra" msgstr ""
#: cps/templates/read.html:105 #: cps/templates/read.html:118
msgid "Font Size"
msgstr ""
#: cps/templates/read.html:126
msgid "Font" msgid "Font"
msgstr "" msgstr ""
#: cps/templates/read.html:106 #: cps/templates/read.html:127
msgid "Default" msgid "Default"
msgstr "" msgstr ""
#: cps/templates/read.html:107 #: cps/templates/read.html:128
msgid "Yahei" msgid "Yahei"
msgstr "" msgstr ""
#: cps/templates/read.html:108 #: cps/templates/read.html:129
msgid "SimSun" msgid "SimSun"
msgstr "" msgstr ""
#: cps/templates/read.html:109 #: cps/templates/read.html:130
msgid "KaiTi" msgid "KaiTi"
msgstr "" msgstr ""
#: cps/templates/read.html:110 #: cps/templates/read.html:131
msgid "Arial" msgid "Arial"
msgstr "" msgstr ""
#: cps/templates/read.html:113 #: cps/templates/read.html:134
msgid "Spread" msgid "Spread"
msgstr "" msgstr ""
#: cps/templates/read.html:114 #: cps/templates/read.html:135
msgid "Two columns" msgid "Two columns"
msgstr "" msgstr ""
#: cps/templates/read.html:115 #: cps/templates/read.html:136
msgid "One column" msgid "One column"
msgstr "" msgstr ""
Binary file not shown.
+34 -26
View File
@@ -4,7 +4,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: 2025-12-06 11:51+0100\n" "POT-Creation-Date: 2025-12-14 14:44+0100\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: br\n" "Language: br\n"
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.17.0\n" "Generated-By: Babel 2.15.0\n"
#: cps/about.py:85 #: cps/about.py:85
msgid "Statistics" msgid "Statistics"
@@ -546,7 +546,7 @@ msgstr "não instalado"
msgid "Execution permissions missing" msgid "Execution permissions missing"
msgstr "Faltam as permissões de execução" msgstr "Faltam as permissões de execução"
#: cps/db.py:1046 cps/templates/config_edit.html:207 #: cps/db.py:1124 cps/templates/config_edit.html:207
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714 #: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714
#: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103 #: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103
@@ -963,7 +963,7 @@ msgstr "Erro no Google Oauth, tente novamente mais tarde."
msgid "Google Oauth error: {}" msgid "Google Oauth error: {}"
msgstr "Erro no Oauth do Google: {}" msgstr "Erro no Oauth do Google: {}"
#: cps/opds.py:308 #: cps/opds.py:307
#, python-brace-format #, python-brace-format
msgid "{} Stars" msgid "{} Stars"
msgstr "{} Estrelas" msgstr "{} Estrelas"
@@ -1922,12 +1922,12 @@ msgstr "Publicado em"
msgid "Description:" msgid "Description:"
msgstr "Descrição:" msgstr "Descrição:"
#: cps/templates/basic_index.html:7 cps/templates/layout.html:174 #: cps/templates/basic_index.html:7 cps/templates/layout.html:173
msgid "Previous" msgid "Previous"
msgstr "Anterior" msgstr "Anterior"
#: cps/templates/basic_index.html:12 cps/templates/feed.xml:22 #: cps/templates/basic_index.html:12 cps/templates/feed.xml:22
#: cps/templates/layout.html:189 #: cps/templates/layout.html:187
msgid "Next" msgid "Next"
msgstr "Próximo" msgstr "Próximo"
@@ -1987,7 +1987,7 @@ msgid "Uploading..."
msgstr "Enviando..." msgstr "Enviando..."
#: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257 #: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257
#: cps/templates/layout.html:79 cps/templates/layout.html:205 #: cps/templates/layout.html:79 cps/templates/layout.html:203
#: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163 #: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163
msgid "Close" msgid "Close"
msgstr "Fechar" msgstr "Fechar"
@@ -3019,7 +3019,7 @@ msgstr ""
msgid "Account" msgid "Account"
msgstr "Conta" msgstr "Conta"
#: cps/templates/layout.html:93 cps/templates/read.html:78 #: cps/templates/layout.html:93 cps/templates/read.html:83
#: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96 #: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96
msgid "Settings" msgid "Settings"
msgstr "Configurações" msgstr "Configurações"
@@ -3036,7 +3036,7 @@ msgstr "Navegue em"
msgid "About" msgid "About"
msgstr "Sobre" msgstr "Sobre"
#: cps/templates/layout.html:201 #: cps/templates/layout.html:199
msgid "Book Details" msgid "Book Details"
msgstr "Detalhes do Livro" msgstr "Detalhes do Livro"
@@ -3160,67 +3160,75 @@ msgstr "Catálogo de e-books Calibre-Web"
msgid "epub Reader" msgid "epub Reader"
msgstr "leitor de epub" msgstr "leitor de epub"
#: cps/templates/read.html:80 #: cps/templates/read.html:85
msgid "Choose a theme below:" msgid "Choose a theme below:"
msgstr "" msgstr ""
#: cps/templates/read.html:84 cps/templates/readcbr.html:104 #: cps/templates/read.html:89 cps/templates/readcbr.html:104
msgid "Light" msgid "Light"
msgstr "Claro" msgstr "Claro"
#: cps/templates/read.html:86 cps/templates/readcbr.html:105 #: cps/templates/read.html:91 cps/templates/readcbr.html:105
msgid "Dark" msgid "Dark"
msgstr "Escuro" msgstr "Escuro"
#: cps/templates/read.html:88 #: cps/templates/read.html:93
msgid "Sepia" msgid "Sepia"
msgstr "Sépia" msgstr "Sépia"
#: cps/templates/read.html:90 #: cps/templates/read.html:95
msgid "Amber"
msgstr ""
#: cps/templates/read.html:97
msgid "Black" msgid "Black"
msgstr "Preto" msgstr "Preto"
#: cps/templates/read.html:95 #: cps/templates/read.html:109
msgid "Reflow text when sidebars are open." msgid "Reflow text when sidebars are open."
msgstr "Refluir o texto quando as barras laterais estiverem abertas." msgstr "Refluir o texto quando as barras laterais estiverem abertas."
#: cps/templates/read.html:100 #: cps/templates/read.html:114
msgid "Font Sizes" msgid "Show pages count"
msgstr "" msgstr ""
#: cps/templates/read.html:105 #: cps/templates/read.html:118
msgid "Font Size"
msgstr ""
#: cps/templates/read.html:126
msgid "Font" msgid "Font"
msgstr "" msgstr ""
#: cps/templates/read.html:106 #: cps/templates/read.html:127
msgid "Default" msgid "Default"
msgstr "" msgstr ""
#: cps/templates/read.html:107 #: cps/templates/read.html:128
msgid "Yahei" msgid "Yahei"
msgstr "" msgstr ""
#: cps/templates/read.html:108 #: cps/templates/read.html:129
msgid "SimSun" msgid "SimSun"
msgstr "" msgstr ""
#: cps/templates/read.html:109 #: cps/templates/read.html:130
msgid "KaiTi" msgid "KaiTi"
msgstr "" msgstr ""
#: cps/templates/read.html:110 #: cps/templates/read.html:131
msgid "Arial" msgid "Arial"
msgstr "" msgstr ""
#: cps/templates/read.html:113 #: cps/templates/read.html:134
msgid "Spread" msgid "Spread"
msgstr "" msgstr ""
#: cps/templates/read.html:114 #: cps/templates/read.html:135
msgid "Two columns" msgid "Two columns"
msgstr "" msgstr ""
#: cps/templates/read.html:115 #: cps/templates/read.html:136
msgid "One column" msgid "One column"
msgstr "" msgstr ""
Binary file not shown.
+34 -26
View File
@@ -8,7 +8,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: 2025-12-06 11:51+0100\n" "POT-Creation-Date: 2025-12-14 14:44+0100\n"
"PO-Revision-Date: 2020-04-29 01:20+0400\n" "PO-Revision-Date: 2020-04-29 01:20+0400\n"
"Last-Translator: ZIZA\n" "Last-Translator: ZIZA\n"
"Language: ru\n" "Language: ru\n"
@@ -17,7 +17,7 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.17.0\n" "Generated-By: Babel 2.15.0\n"
#: cps/about.py:85 #: cps/about.py:85
msgid "Statistics" msgid "Statistics"
@@ -550,7 +550,7 @@ msgstr "не установлено"
msgid "Execution permissions missing" msgid "Execution permissions missing"
msgstr "" msgstr ""
#: cps/db.py:1046 cps/templates/config_edit.html:207 #: cps/db.py:1124 cps/templates/config_edit.html:207
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714 #: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714
#: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103 #: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103
@@ -967,7 +967,7 @@ msgstr "Ошибка Google Oauth, пожалуйста попробуйте п
msgid "Google Oauth error: {}" msgid "Google Oauth error: {}"
msgstr "" msgstr ""
#: cps/opds.py:308 #: cps/opds.py:307
#, python-brace-format #, python-brace-format
msgid "{} Stars" msgid "{} Stars"
msgstr "" msgstr ""
@@ -1926,12 +1926,12 @@ msgstr "Опубликованный"
msgid "Description:" msgid "Description:"
msgstr "Описание:" msgstr "Описание:"
#: cps/templates/basic_index.html:7 cps/templates/layout.html:174 #: cps/templates/basic_index.html:7 cps/templates/layout.html:173
msgid "Previous" msgid "Previous"
msgstr "Предыдущий" msgstr "Предыдущий"
#: cps/templates/basic_index.html:12 cps/templates/feed.xml:22 #: cps/templates/basic_index.html:12 cps/templates/feed.xml:22
#: cps/templates/layout.html:189 #: cps/templates/layout.html:187
msgid "Next" msgid "Next"
msgstr "Далее" msgstr "Далее"
@@ -1991,7 +1991,7 @@ msgid "Uploading..."
msgstr "Загружается..." msgstr "Загружается..."
#: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257 #: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257
#: cps/templates/layout.html:79 cps/templates/layout.html:205 #: cps/templates/layout.html:79 cps/templates/layout.html:203
#: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163 #: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163
msgid "Close" msgid "Close"
msgstr "Закрыть" msgstr "Закрыть"
@@ -3023,7 +3023,7 @@ msgstr ""
msgid "Account" msgid "Account"
msgstr "Учетная запись" msgstr "Учетная запись"
#: cps/templates/layout.html:93 cps/templates/read.html:78 #: cps/templates/layout.html:93 cps/templates/read.html:83
#: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96 #: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96
msgid "Settings" msgid "Settings"
msgstr "Настройки" msgstr "Настройки"
@@ -3040,7 +3040,7 @@ msgstr "Просмотр"
msgid "About" msgid "About"
msgstr "О программе" msgstr "О программе"
#: cps/templates/layout.html:201 #: cps/templates/layout.html:199
msgid "Book Details" msgid "Book Details"
msgstr "Подробнее о книге" msgstr "Подробнее о книге"
@@ -3164,67 +3164,75 @@ msgstr "Каталог электронных книг Caliber-Web"
msgid "epub Reader" msgid "epub Reader"
msgstr "" msgstr ""
#: cps/templates/read.html:80 #: cps/templates/read.html:85
msgid "Choose a theme below:" msgid "Choose a theme below:"
msgstr "" msgstr ""
#: cps/templates/read.html:84 cps/templates/readcbr.html:104 #: cps/templates/read.html:89 cps/templates/readcbr.html:104
msgid "Light" msgid "Light"
msgstr "Светлая" msgstr "Светлая"
#: cps/templates/read.html:86 cps/templates/readcbr.html:105 #: cps/templates/read.html:91 cps/templates/readcbr.html:105
msgid "Dark" msgid "Dark"
msgstr "Темная" msgstr "Темная"
#: cps/templates/read.html:88 #: cps/templates/read.html:93
msgid "Sepia" msgid "Sepia"
msgstr "" msgstr ""
#: cps/templates/read.html:90 #: cps/templates/read.html:95
msgid "Amber"
msgstr ""
#: cps/templates/read.html:97
msgid "Black" msgid "Black"
msgstr "" msgstr ""
#: cps/templates/read.html:95 #: cps/templates/read.html:109
msgid "Reflow text when sidebars are open." msgid "Reflow text when sidebars are open."
msgstr "Обновить размещение текста при открытии боковой панели." msgstr "Обновить размещение текста при открытии боковой панели."
#: cps/templates/read.html:100 #: cps/templates/read.html:114
msgid "Font Sizes" msgid "Show pages count"
msgstr "" msgstr ""
#: cps/templates/read.html:105 #: cps/templates/read.html:118
msgid "Font Size"
msgstr ""
#: cps/templates/read.html:126
msgid "Font" msgid "Font"
msgstr "" msgstr ""
#: cps/templates/read.html:106 #: cps/templates/read.html:127
msgid "Default" msgid "Default"
msgstr "" msgstr ""
#: cps/templates/read.html:107 #: cps/templates/read.html:128
msgid "Yahei" msgid "Yahei"
msgstr "" msgstr ""
#: cps/templates/read.html:108 #: cps/templates/read.html:129
msgid "SimSun" msgid "SimSun"
msgstr "" msgstr ""
#: cps/templates/read.html:109 #: cps/templates/read.html:130
msgid "KaiTi" msgid "KaiTi"
msgstr "" msgstr ""
#: cps/templates/read.html:110 #: cps/templates/read.html:131
msgid "Arial" msgid "Arial"
msgstr "" msgstr ""
#: cps/templates/read.html:113 #: cps/templates/read.html:134
msgid "Spread" msgid "Spread"
msgstr "" msgstr ""
#: cps/templates/read.html:114 #: cps/templates/read.html:135
msgid "Two columns" msgid "Two columns"
msgstr "" msgstr ""
#: cps/templates/read.html:115 #: cps/templates/read.html:136
msgid "One column" msgid "One column"
msgstr "" msgstr ""
Binary file not shown.
+35 -27
View File
@@ -7,7 +7,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: 2025-12-06 11:51+0100\n" "POT-Creation-Date: 2025-12-14 14:44+0100\n"
"PO-Revision-Date: 2023-11-01 06:12+0100\n" "PO-Revision-Date: 2023-11-01 06:12+0100\n"
"Last-Translator: Branislav Hanáček <brango@brango.sk>\n" "Last-Translator: Branislav Hanáček <brango@brango.sk>\n"
"Language: sk_SK\n" "Language: sk_SK\n"
@@ -16,7 +16,7 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.17.0\n" "Generated-By: Babel 2.15.0\n"
#: cps/about.py:85 #: cps/about.py:85
msgid "Statistics" msgid "Statistics"
@@ -549,7 +549,7 @@ msgstr "nie je naištalované"
msgid "Execution permissions missing" msgid "Execution permissions missing"
msgstr "Chýba právo na vykonanie" msgstr "Chýba právo na vykonanie"
#: cps/db.py:1046 cps/templates/config_edit.html:207 #: cps/db.py:1124 cps/templates/config_edit.html:207
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714 #: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714
#: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103 #: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103
@@ -966,7 +966,7 @@ msgstr "Chyba Google OAuth, skúste to prosím neskôr."
msgid "Google Oauth error: {}" msgid "Google Oauth error: {}"
msgstr "Chyba Google OAuth: {}" msgstr "Chyba Google OAuth: {}"
#: cps/opds.py:308 #: cps/opds.py:307
#, python-brace-format #, python-brace-format
msgid "{} Stars" msgid "{} Stars"
msgstr "{} Hviezdičiek" msgstr "{} Hviezdičiek"
@@ -1925,12 +1925,12 @@ msgstr "Vydané"
msgid "Description:" msgid "Description:"
msgstr "Popis:" msgstr "Popis:"
#: cps/templates/basic_index.html:7 cps/templates/layout.html:174 #: cps/templates/basic_index.html:7 cps/templates/layout.html:173
msgid "Previous" msgid "Previous"
msgstr "Predchádzajúci" msgstr "Predchádzajúci"
#: cps/templates/basic_index.html:12 cps/templates/feed.xml:22 #: cps/templates/basic_index.html:12 cps/templates/feed.xml:22
#: cps/templates/layout.html:189 #: cps/templates/layout.html:187
msgid "Next" msgid "Next"
msgstr "Ďalší" msgstr "Ďalší"
@@ -1990,7 +1990,7 @@ msgid "Uploading..."
msgstr "Nahráva sa..." msgstr "Nahráva sa..."
#: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257 #: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257
#: cps/templates/layout.html:79 cps/templates/layout.html:205 #: cps/templates/layout.html:79 cps/templates/layout.html:203
#: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163 #: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163
msgid "Close" msgid "Close"
msgstr "Zatvoriť" msgstr "Zatvoriť"
@@ -3022,7 +3022,7 @@ msgstr ""
msgid "Account" msgid "Account"
msgstr "Účet" msgstr "Účet"
#: cps/templates/layout.html:93 cps/templates/read.html:78 #: cps/templates/layout.html:93 cps/templates/read.html:83
#: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96 #: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96
msgid "Settings" msgid "Settings"
msgstr "Nastavenia" msgstr "Nastavenia"
@@ -3039,7 +3039,7 @@ msgstr "Prechádzať"
msgid "About" msgid "About"
msgstr "O programe" msgstr "O programe"
#: cps/templates/layout.html:201 #: cps/templates/layout.html:199
msgid "Book Details" msgid "Book Details"
msgstr "Detailu o knihe" msgstr "Detailu o knihe"
@@ -3163,67 +3163,75 @@ msgstr "Katalóg e-kníh Calibre-Web"
msgid "epub Reader" msgid "epub Reader"
msgstr "čítačka epub" msgstr "čítačka epub"
#: cps/templates/read.html:80 #: cps/templates/read.html:85
msgid "Choose a theme below:" msgid "Choose a theme below:"
msgstr "" msgstr ""
#: cps/templates/read.html:84 cps/templates/readcbr.html:104 #: cps/templates/read.html:89 cps/templates/readcbr.html:104
msgid "Light" msgid "Light"
msgstr "Svetlé" msgstr "Svetlé"
#: cps/templates/read.html:86 cps/templates/readcbr.html:105 #: cps/templates/read.html:91 cps/templates/readcbr.html:105
msgid "Dark" msgid "Dark"
msgstr "Tmavé" msgstr "Tmavé"
#: cps/templates/read.html:88 #: cps/templates/read.html:93
msgid "Sepia" msgid "Sepia"
msgstr "Sépia" msgstr "Sépia"
#: cps/templates/read.html:90 #: cps/templates/read.html:95
msgid "Amber"
msgstr ""
#: cps/templates/read.html:97
msgid "Black" msgid "Black"
msgstr "Čierne" msgstr "Čierne"
#: cps/templates/read.html:95 #: cps/templates/read.html:109
msgid "Reflow text when sidebars are open." msgid "Reflow text when sidebars are open."
msgstr "Preformátovať text keď sú otvorené bočné panely." msgstr "Preformátovať text keď sú otvorené bočné panely."
#: cps/templates/read.html:100 #: cps/templates/read.html:114
msgid "Font Sizes" msgid "Show pages count"
msgstr "Veľkosť písma" msgstr ""
#: cps/templates/read.html:105 #: cps/templates/read.html:118
msgid "Font Size"
msgstr ""
#: cps/templates/read.html:126
msgid "Font" msgid "Font"
msgstr "" msgstr ""
#: cps/templates/read.html:106 #: cps/templates/read.html:127
msgid "Default" msgid "Default"
msgstr "" msgstr ""
#: cps/templates/read.html:107 #: cps/templates/read.html:128
msgid "Yahei" msgid "Yahei"
msgstr "" msgstr ""
#: cps/templates/read.html:108 #: cps/templates/read.html:129
msgid "SimSun" msgid "SimSun"
msgstr "" msgstr ""
#: cps/templates/read.html:109 #: cps/templates/read.html:130
msgid "KaiTi" msgid "KaiTi"
msgstr "" msgstr ""
#: cps/templates/read.html:110 #: cps/templates/read.html:131
msgid "Arial" msgid "Arial"
msgstr "" msgstr ""
#: cps/templates/read.html:113 #: cps/templates/read.html:134
msgid "Spread" msgid "Spread"
msgstr "" msgstr ""
#: cps/templates/read.html:114 #: cps/templates/read.html:135
msgid "Two columns" msgid "Two columns"
msgstr "" msgstr ""
#: cps/templates/read.html:115 #: cps/templates/read.html:136
msgid "One column" msgid "One column"
msgstr "" msgstr ""
Binary file not shown.
+35 -27
View File
@@ -7,7 +7,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: 2025-12-06 11:51+0100\n" "POT-Creation-Date: 2025-12-14 14:44+0100\n"
"PO-Revision-Date: 2024-09-18 19:45+0200\n" "PO-Revision-Date: 2024-09-18 19:45+0200\n"
"Last-Translator: Andrej Kralj\n" "Last-Translator: Andrej Kralj\n"
"Language: sl\n" "Language: sl\n"
@@ -16,7 +16,7 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.17.0\n" "Generated-By: Babel 2.15.0\n"
#: cps/about.py:85 #: cps/about.py:85
msgid "Statistics" msgid "Statistics"
@@ -549,7 +549,7 @@ msgstr "ni nameščen"
msgid "Execution permissions missing" msgid "Execution permissions missing"
msgstr "Manjkajo dovoljenja za izvajanje" msgstr "Manjkajo dovoljenja za izvajanje"
#: cps/db.py:1046 cps/templates/config_edit.html:207 #: cps/db.py:1124 cps/templates/config_edit.html:207
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714 #: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714
#: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103 #: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103
@@ -966,7 +966,7 @@ msgstr "Napaka Google Oauth, poskusite pozneje."
msgid "Google Oauth error: {}" msgid "Google Oauth error: {}"
msgstr "Napaka Google Oauth: {}" msgstr "Napaka Google Oauth: {}"
#: cps/opds.py:308 #: cps/opds.py:307
#, python-brace-format #, python-brace-format
msgid "{} Stars" msgid "{} Stars"
msgstr "{} zvezdic" msgstr "{} zvezdic"
@@ -1925,12 +1925,12 @@ msgstr "Objavljeno"
msgid "Description:" msgid "Description:"
msgstr "Opis:" msgstr "Opis:"
#: cps/templates/basic_index.html:7 cps/templates/layout.html:174 #: cps/templates/basic_index.html:7 cps/templates/layout.html:173
msgid "Previous" msgid "Previous"
msgstr "Prejšnji" msgstr "Prejšnji"
#: cps/templates/basic_index.html:12 cps/templates/feed.xml:22 #: cps/templates/basic_index.html:12 cps/templates/feed.xml:22
#: cps/templates/layout.html:189 #: cps/templates/layout.html:187
msgid "Next" msgid "Next"
msgstr "Naslednji" msgstr "Naslednji"
@@ -1990,7 +1990,7 @@ msgid "Uploading..."
msgstr "Nalaganje..." msgstr "Nalaganje..."
#: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257 #: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257
#: cps/templates/layout.html:79 cps/templates/layout.html:205 #: cps/templates/layout.html:79 cps/templates/layout.html:203
#: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163 #: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163
msgid "Close" msgid "Close"
msgstr "Zapri" msgstr "Zapri"
@@ -3022,7 +3022,7 @@ msgstr ""
msgid "Account" msgid "Account"
msgstr "Račun" msgstr "Račun"
#: cps/templates/layout.html:93 cps/templates/read.html:78 #: cps/templates/layout.html:93 cps/templates/read.html:83
#: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96 #: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96
msgid "Settings" msgid "Settings"
msgstr "Nastavitve" msgstr "Nastavitve"
@@ -3039,7 +3039,7 @@ msgstr "Brskaj"
msgid "About" msgid "About"
msgstr "O programu" msgstr "O programu"
#: cps/templates/layout.html:201 #: cps/templates/layout.html:199
msgid "Book Details" msgid "Book Details"
msgstr "Podrobnosti o knjigi" msgstr "Podrobnosti o knjigi"
@@ -3163,67 +3163,75 @@ msgstr "Katalog e-knjig Calibre-Web"
msgid "epub Reader" msgid "epub Reader"
msgstr "epub bralnik" msgstr "epub bralnik"
#: cps/templates/read.html:80 #: cps/templates/read.html:85
msgid "Choose a theme below:" msgid "Choose a theme below:"
msgstr "" msgstr ""
#: cps/templates/read.html:84 cps/templates/readcbr.html:104 #: cps/templates/read.html:89 cps/templates/readcbr.html:104
msgid "Light" msgid "Light"
msgstr "Svetlo" msgstr "Svetlo"
#: cps/templates/read.html:86 cps/templates/readcbr.html:105 #: cps/templates/read.html:91 cps/templates/readcbr.html:105
msgid "Dark" msgid "Dark"
msgstr "Temno" msgstr "Temno"
#: cps/templates/read.html:88 #: cps/templates/read.html:93
msgid "Sepia" msgid "Sepia"
msgstr "Sepia" msgstr "Sepia"
#: cps/templates/read.html:90 #: cps/templates/read.html:95
msgid "Amber"
msgstr ""
#: cps/templates/read.html:97
msgid "Black" msgid "Black"
msgstr "Črno" msgstr "Črno"
#: cps/templates/read.html:95 #: cps/templates/read.html:109
msgid "Reflow text when sidebars are open." msgid "Reflow text when sidebars are open."
msgstr "Preusmerjanje besedila, ko so odprte stranske vrstice." msgstr "Preusmerjanje besedila, ko so odprte stranske vrstice."
#: cps/templates/read.html:100 #: cps/templates/read.html:114
msgid "Font Sizes" msgid "Show pages count"
msgstr "Velikosti pisave" msgstr ""
#: cps/templates/read.html:105 #: cps/templates/read.html:118
msgid "Font Size"
msgstr ""
#: cps/templates/read.html:126
msgid "Font" msgid "Font"
msgstr "Pisava" msgstr "Pisava"
#: cps/templates/read.html:106 #: cps/templates/read.html:127
msgid "Default" msgid "Default"
msgstr "Privzeto" msgstr "Privzeto"
#: cps/templates/read.html:107 #: cps/templates/read.html:128
msgid "Yahei" msgid "Yahei"
msgstr "Yahei" msgstr "Yahei"
#: cps/templates/read.html:108 #: cps/templates/read.html:129
msgid "SimSun" msgid "SimSun"
msgstr "SimSun" msgstr "SimSun"
#: cps/templates/read.html:109 #: cps/templates/read.html:130
msgid "KaiTi" msgid "KaiTi"
msgstr "KaiTi" msgstr "KaiTi"
#: cps/templates/read.html:110 #: cps/templates/read.html:131
msgid "Arial" msgid "Arial"
msgstr "Arial" msgstr "Arial"
#: cps/templates/read.html:113 #: cps/templates/read.html:134
msgid "Spread" msgid "Spread"
msgstr "Razprši" msgstr "Razprši"
#: cps/templates/read.html:114 #: cps/templates/read.html:135
msgid "Two columns" msgid "Two columns"
msgstr "Dva stolpca" msgstr "Dva stolpca"
#: cps/templates/read.html:115 #: cps/templates/read.html:136
msgid "One column" msgid "One column"
msgstr "En stolpec" msgstr "En stolpec"
Binary file not shown.
+34 -26
View File
@@ -7,7 +7,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: 2025-12-06 11:51+0100\n" "POT-Creation-Date: 2025-12-14 14:44+0100\n"
"PO-Revision-Date: 2021-05-13 11:00+0000\n" "PO-Revision-Date: 2021-05-13 11:00+0000\n"
"Last-Translator: Jonatan Nyberg <jonatan.nyberg.karl@gmail.com>\n" "Last-Translator: Jonatan Nyberg <jonatan.nyberg.karl@gmail.com>\n"
"Language: sv\n" "Language: sv\n"
@@ -16,7 +16,7 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.17.0\n" "Generated-By: Babel 2.15.0\n"
#: cps/about.py:85 #: cps/about.py:85
msgid "Statistics" msgid "Statistics"
@@ -549,7 +549,7 @@ msgstr "inte installerad"
msgid "Execution permissions missing" msgid "Execution permissions missing"
msgstr "Körningstillstånd saknas" msgstr "Körningstillstånd saknas"
#: cps/db.py:1046 cps/templates/config_edit.html:207 #: cps/db.py:1124 cps/templates/config_edit.html:207
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714 #: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714
#: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103 #: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103
@@ -966,7 +966,7 @@ msgstr "Google Oauth-fel, försök igen senare."
msgid "Google Oauth error: {}" msgid "Google Oauth error: {}"
msgstr "Google Oauth-fel: {}" msgstr "Google Oauth-fel: {}"
#: cps/opds.py:308 #: cps/opds.py:307
#, python-brace-format #, python-brace-format
msgid "{} Stars" msgid "{} Stars"
msgstr "{} stjärnor" msgstr "{} stjärnor"
@@ -1925,12 +1925,12 @@ msgstr "Publicerad"
msgid "Description:" msgid "Description:"
msgstr "Beskrivning:" msgstr "Beskrivning:"
#: cps/templates/basic_index.html:7 cps/templates/layout.html:174 #: cps/templates/basic_index.html:7 cps/templates/layout.html:173
msgid "Previous" msgid "Previous"
msgstr "Föregående" msgstr "Föregående"
#: cps/templates/basic_index.html:12 cps/templates/feed.xml:22 #: cps/templates/basic_index.html:12 cps/templates/feed.xml:22
#: cps/templates/layout.html:189 #: cps/templates/layout.html:187
msgid "Next" msgid "Next"
msgstr "Nästa" msgstr "Nästa"
@@ -1990,7 +1990,7 @@ msgid "Uploading..."
msgstr "Laddar upp..." msgstr "Laddar upp..."
#: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257 #: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257
#: cps/templates/layout.html:79 cps/templates/layout.html:205 #: cps/templates/layout.html:79 cps/templates/layout.html:203
#: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163 #: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163
msgid "Close" msgid "Close"
msgstr "Stäng" msgstr "Stäng"
@@ -3022,7 +3022,7 @@ msgstr ""
msgid "Account" msgid "Account"
msgstr "Konto" msgstr "Konto"
#: cps/templates/layout.html:93 cps/templates/read.html:78 #: cps/templates/layout.html:93 cps/templates/read.html:83
#: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96 #: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96
msgid "Settings" msgid "Settings"
msgstr "Inställningar" msgstr "Inställningar"
@@ -3039,7 +3039,7 @@ msgstr "Bläddra"
msgid "About" msgid "About"
msgstr "Om" msgstr "Om"
#: cps/templates/layout.html:201 #: cps/templates/layout.html:199
msgid "Book Details" msgid "Book Details"
msgstr "Bokdetaljer" msgstr "Bokdetaljer"
@@ -3163,67 +3163,75 @@ msgstr "Calibre-Web e-bokkatalog"
msgid "epub Reader" msgid "epub Reader"
msgstr "" msgstr ""
#: cps/templates/read.html:80 #: cps/templates/read.html:85
msgid "Choose a theme below:" msgid "Choose a theme below:"
msgstr "" msgstr ""
#: cps/templates/read.html:84 cps/templates/readcbr.html:104 #: cps/templates/read.html:89 cps/templates/readcbr.html:104
msgid "Light" msgid "Light"
msgstr "Ljust" msgstr "Ljust"
#: cps/templates/read.html:86 cps/templates/readcbr.html:105 #: cps/templates/read.html:91 cps/templates/readcbr.html:105
msgid "Dark" msgid "Dark"
msgstr "Mörkt" msgstr "Mörkt"
#: cps/templates/read.html:88 #: cps/templates/read.html:93
msgid "Sepia" msgid "Sepia"
msgstr "" msgstr ""
#: cps/templates/read.html:90 #: cps/templates/read.html:95
msgid "Amber"
msgstr ""
#: cps/templates/read.html:97
msgid "Black" msgid "Black"
msgstr "" msgstr ""
#: cps/templates/read.html:95 #: cps/templates/read.html:109
msgid "Reflow text when sidebars are open." msgid "Reflow text when sidebars are open."
msgstr "Fyll i texten igen när sidofält är öppna." msgstr "Fyll i texten igen när sidofält är öppna."
#: cps/templates/read.html:100 #: cps/templates/read.html:114
msgid "Font Sizes" msgid "Show pages count"
msgstr "" msgstr ""
#: cps/templates/read.html:105 #: cps/templates/read.html:118
msgid "Font Size"
msgstr ""
#: cps/templates/read.html:126
msgid "Font" msgid "Font"
msgstr "" msgstr ""
#: cps/templates/read.html:106 #: cps/templates/read.html:127
msgid "Default" msgid "Default"
msgstr "" msgstr ""
#: cps/templates/read.html:107 #: cps/templates/read.html:128
msgid "Yahei" msgid "Yahei"
msgstr "" msgstr ""
#: cps/templates/read.html:108 #: cps/templates/read.html:129
msgid "SimSun" msgid "SimSun"
msgstr "" msgstr ""
#: cps/templates/read.html:109 #: cps/templates/read.html:130
msgid "KaiTi" msgid "KaiTi"
msgstr "" msgstr ""
#: cps/templates/read.html:110 #: cps/templates/read.html:131
msgid "Arial" msgid "Arial"
msgstr "" msgstr ""
#: cps/templates/read.html:113 #: cps/templates/read.html:134
msgid "Spread" msgid "Spread"
msgstr "" msgstr ""
#: cps/templates/read.html:114 #: cps/templates/read.html:135
msgid "Two columns" msgid "Two columns"
msgstr "" msgstr ""
#: cps/templates/read.html:115 #: cps/templates/read.html:136
msgid "One column" msgid "One column"
msgstr "" msgstr ""
Binary file not shown.
+34 -26
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Calibre-Web\n" "Project-Id-Version: Calibre-Web\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2025-12-06 11:51+0100\n" "POT-Creation-Date: 2025-12-14 14:44+0100\n"
"PO-Revision-Date: 2020-04-23 22:47+0300\n" "PO-Revision-Date: 2020-04-23 22:47+0300\n"
"Last-Translator: iz <iz7iz7iz@protonmail.ch>\n" "Last-Translator: iz <iz7iz7iz@protonmail.ch>\n"
"Language: tr\n" "Language: tr\n"
@@ -16,7 +16,7 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.17.0\n" "Generated-By: Babel 2.15.0\n"
#: cps/about.py:85 #: cps/about.py:85
msgid "Statistics" msgid "Statistics"
@@ -549,7 +549,7 @@ msgstr "yüklü değil"
msgid "Execution permissions missing" msgid "Execution permissions missing"
msgstr "" msgstr ""
#: cps/db.py:1046 cps/templates/config_edit.html:207 #: cps/db.py:1124 cps/templates/config_edit.html:207
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714 #: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714
#: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103 #: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103
@@ -966,7 +966,7 @@ msgstr "Google Oauth hatası, lütfen tekrar deneyin."
msgid "Google Oauth error: {}" msgid "Google Oauth error: {}"
msgstr "" msgstr ""
#: cps/opds.py:308 #: cps/opds.py:307
#, python-brace-format #, python-brace-format
msgid "{} Stars" msgid "{} Stars"
msgstr "" msgstr ""
@@ -1925,12 +1925,12 @@ msgstr ""
msgid "Description:" msgid "Description:"
msgstr "Açıklama:" msgstr "Açıklama:"
#: cps/templates/basic_index.html:7 cps/templates/layout.html:174 #: cps/templates/basic_index.html:7 cps/templates/layout.html:173
msgid "Previous" msgid "Previous"
msgstr "Önceki" msgstr "Önceki"
#: cps/templates/basic_index.html:12 cps/templates/feed.xml:22 #: cps/templates/basic_index.html:12 cps/templates/feed.xml:22
#: cps/templates/layout.html:189 #: cps/templates/layout.html:187
msgid "Next" msgid "Next"
msgstr "Sonraki" msgstr "Sonraki"
@@ -1990,7 +1990,7 @@ msgid "Uploading..."
msgstr "Yükleniyor..." msgstr "Yükleniyor..."
#: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257 #: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257
#: cps/templates/layout.html:79 cps/templates/layout.html:205 #: cps/templates/layout.html:79 cps/templates/layout.html:203
#: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163 #: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163
msgid "Close" msgid "Close"
msgstr "Kapak" msgstr "Kapak"
@@ -3022,7 +3022,7 @@ msgstr ""
msgid "Account" msgid "Account"
msgstr "Hesap" msgstr "Hesap"
#: cps/templates/layout.html:93 cps/templates/read.html:78 #: cps/templates/layout.html:93 cps/templates/read.html:83
#: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96 #: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96
msgid "Settings" msgid "Settings"
msgstr "Ayarlar" msgstr "Ayarlar"
@@ -3039,7 +3039,7 @@ msgstr "Gözat"
msgid "About" msgid "About"
msgstr "Hakkında" msgstr "Hakkında"
#: cps/templates/layout.html:201 #: cps/templates/layout.html:199
msgid "Book Details" msgid "Book Details"
msgstr "eKitap Detayları" msgstr "eKitap Detayları"
@@ -3163,67 +3163,75 @@ msgstr ""
msgid "epub Reader" msgid "epub Reader"
msgstr "" msgstr ""
#: cps/templates/read.html:80 #: cps/templates/read.html:85
msgid "Choose a theme below:" msgid "Choose a theme below:"
msgstr "" msgstr ""
#: cps/templates/read.html:84 cps/templates/readcbr.html:104 #: cps/templates/read.html:89 cps/templates/readcbr.html:104
msgid "Light" msgid "Light"
msgstr "Açık" msgstr "Açık"
#: cps/templates/read.html:86 cps/templates/readcbr.html:105 #: cps/templates/read.html:91 cps/templates/readcbr.html:105
msgid "Dark" msgid "Dark"
msgstr "Koyu" msgstr "Koyu"
#: cps/templates/read.html:88 #: cps/templates/read.html:93
msgid "Sepia" msgid "Sepia"
msgstr "" msgstr ""
#: cps/templates/read.html:90 #: cps/templates/read.html:95
msgid "Amber"
msgstr ""
#: cps/templates/read.html:97
msgid "Black" msgid "Black"
msgstr "" msgstr ""
#: cps/templates/read.html:95 #: cps/templates/read.html:109
msgid "Reflow text when sidebars are open." msgid "Reflow text when sidebars are open."
msgstr "Kenar çubukları açıkken metni kaydır" msgstr "Kenar çubukları açıkken metni kaydır"
#: cps/templates/read.html:100 #: cps/templates/read.html:114
msgid "Font Sizes" msgid "Show pages count"
msgstr "" msgstr ""
#: cps/templates/read.html:105 #: cps/templates/read.html:118
msgid "Font Size"
msgstr ""
#: cps/templates/read.html:126
msgid "Font" msgid "Font"
msgstr "" msgstr ""
#: cps/templates/read.html:106 #: cps/templates/read.html:127
msgid "Default" msgid "Default"
msgstr "" msgstr ""
#: cps/templates/read.html:107 #: cps/templates/read.html:128
msgid "Yahei" msgid "Yahei"
msgstr "" msgstr ""
#: cps/templates/read.html:108 #: cps/templates/read.html:129
msgid "SimSun" msgid "SimSun"
msgstr "" msgstr ""
#: cps/templates/read.html:109 #: cps/templates/read.html:130
msgid "KaiTi" msgid "KaiTi"
msgstr "" msgstr ""
#: cps/templates/read.html:110 #: cps/templates/read.html:131
msgid "Arial" msgid "Arial"
msgstr "" msgstr ""
#: cps/templates/read.html:113 #: cps/templates/read.html:134
msgid "Spread" msgid "Spread"
msgstr "" msgstr ""
#: cps/templates/read.html:114 #: cps/templates/read.html:135
msgid "Two columns" msgid "Two columns"
msgstr "" msgstr ""
#: cps/templates/read.html:115 #: cps/templates/read.html:136
msgid "One column" msgid "One column"
msgstr "" msgstr ""
Binary file not shown.
+34 -26
View File
@@ -6,7 +6,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: 2025-12-06 11:51+0100\n" "POT-Creation-Date: 2025-12-14 14:44+0100\n"
"PO-Revision-Date: 2017-04-30 00:47+0300\n" "PO-Revision-Date: 2017-04-30 00:47+0300\n"
"Last-Translator: ABIS Team <biblio.if.abis@gmail.com>\n" "Last-Translator: ABIS Team <biblio.if.abis@gmail.com>\n"
"Language: uk\n" "Language: uk\n"
@@ -15,7 +15,7 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.17.0\n" "Generated-By: Babel 2.15.0\n"
#: cps/about.py:85 #: cps/about.py:85
msgid "Statistics" msgid "Statistics"
@@ -561,7 +561,7 @@ msgstr "не встановлено"
msgid "Execution permissions missing" msgid "Execution permissions missing"
msgstr "" msgstr ""
#: cps/db.py:1046 cps/templates/config_edit.html:207 #: cps/db.py:1124 cps/templates/config_edit.html:207
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714 #: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714
#: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103 #: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103
@@ -980,7 +980,7 @@ msgstr ""
msgid "Google Oauth error: {}" msgid "Google Oauth error: {}"
msgstr "" msgstr ""
#: cps/opds.py:308 #: cps/opds.py:307
#, python-brace-format #, python-brace-format
msgid "{} Stars" msgid "{} Stars"
msgstr "{} зірок" msgstr "{} зірок"
@@ -1957,12 +1957,12 @@ msgstr "Опубліковано"
msgid "Description:" msgid "Description:"
msgstr "Опис:" msgstr "Опис:"
#: cps/templates/basic_index.html:7 cps/templates/layout.html:174 #: cps/templates/basic_index.html:7 cps/templates/layout.html:173
msgid "Previous" msgid "Previous"
msgstr "Попередній перегляд" msgstr "Попередній перегляд"
#: cps/templates/basic_index.html:12 cps/templates/feed.xml:22 #: cps/templates/basic_index.html:12 cps/templates/feed.xml:22
#: cps/templates/layout.html:189 #: cps/templates/layout.html:187
msgid "Next" msgid "Next"
msgstr "Далі" msgstr "Далі"
@@ -2022,7 +2022,7 @@ msgid "Uploading..."
msgstr "Завантаження..." msgstr "Завантаження..."
#: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257 #: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257
#: cps/templates/layout.html:79 cps/templates/layout.html:205 #: cps/templates/layout.html:79 cps/templates/layout.html:203
#: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163 #: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163
msgid "Close" msgid "Close"
msgstr "Закрити" msgstr "Закрити"
@@ -3074,7 +3074,7 @@ msgstr ""
msgid "Account" msgid "Account"
msgstr "" msgstr ""
#: cps/templates/layout.html:93 cps/templates/read.html:78 #: cps/templates/layout.html:93 cps/templates/read.html:83
#: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96 #: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96
msgid "Settings" msgid "Settings"
msgstr "Налаштування" msgstr "Налаштування"
@@ -3091,7 +3091,7 @@ msgstr "Перегляд"
msgid "About" msgid "About"
msgstr "Про програму" msgstr "Про програму"
#: cps/templates/layout.html:201 #: cps/templates/layout.html:199
msgid "Book Details" msgid "Book Details"
msgstr "Деталі" msgstr "Деталі"
@@ -3216,73 +3216,81 @@ msgstr ""
msgid "epub Reader" msgid "epub Reader"
msgstr "" msgstr ""
#: cps/templates/read.html:80 #: cps/templates/read.html:85
#, fuzzy #, fuzzy
msgid "Choose a theme below:" msgid "Choose a theme below:"
msgstr "Виберіть ім'я користувача" msgstr "Виберіть ім'я користувача"
#: cps/templates/read.html:84 cps/templates/readcbr.html:104 #: cps/templates/read.html:89 cps/templates/readcbr.html:104
msgid "Light" msgid "Light"
msgstr "" msgstr ""
#: cps/templates/read.html:86 cps/templates/readcbr.html:105 #: cps/templates/read.html:91 cps/templates/readcbr.html:105
msgid "Dark" msgid "Dark"
msgstr "" msgstr ""
#: cps/templates/read.html:88 #: cps/templates/read.html:93
msgid "Sepia" msgid "Sepia"
msgstr "" msgstr ""
#: cps/templates/read.html:90 #: cps/templates/read.html:95
msgid "Amber"
msgstr ""
#: cps/templates/read.html:97
#, fuzzy #, fuzzy
msgid "Black" msgid "Black"
msgstr "Назад" msgstr "Назад"
#: cps/templates/read.html:95 #: cps/templates/read.html:109
msgid "Reflow text when sidebars are open." msgid "Reflow text when sidebars are open."
msgstr "Переформатувати текст, коли відкриті бічні панелі." msgstr "Переформатувати текст, коли відкриті бічні панелі."
#: cps/templates/read.html:100 #: cps/templates/read.html:114
msgid "Font Sizes" msgid "Show pages count"
msgstr "" msgstr ""
#: cps/templates/read.html:105 #: cps/templates/read.html:118
msgid "Font Size"
msgstr ""
#: cps/templates/read.html:126
msgid "Font" msgid "Font"
msgstr "" msgstr ""
#: cps/templates/read.html:106 #: cps/templates/read.html:127
#, fuzzy #, fuzzy
msgid "Default" msgid "Default"
msgstr "Видалити" msgstr "Видалити"
#: cps/templates/read.html:107 #: cps/templates/read.html:128
msgid "Yahei" msgid "Yahei"
msgstr "" msgstr ""
#: cps/templates/read.html:108 #: cps/templates/read.html:129
msgid "SimSun" msgid "SimSun"
msgstr "" msgstr ""
#: cps/templates/read.html:109 #: cps/templates/read.html:130
#, fuzzy #, fuzzy
msgid "KaiTi" msgid "KaiTi"
msgstr "Очікує" msgstr "Очікує"
#: cps/templates/read.html:110 #: cps/templates/read.html:131
#, fuzzy #, fuzzy
msgid "Arial" msgid "Arial"
msgstr "Вертикально" msgstr "Вертикально"
#: cps/templates/read.html:113 #: cps/templates/read.html:134
#, fuzzy #, fuzzy
msgid "Spread" msgid "Spread"
msgstr "Прочитано" msgstr "Прочитано"
#: cps/templates/read.html:114 #: cps/templates/read.html:135
msgid "Two columns" msgid "Two columns"
msgstr "" msgstr ""
#: cps/templates/read.html:115 #: cps/templates/read.html:136
msgid "One column" msgid "One column"
msgstr "" msgstr ""
Binary file not shown.
+34 -26
View File
@@ -4,7 +4,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: 2025-12-06 11:51+0100\n" "POT-Creation-Date: 2025-12-14 14:44+0100\n"
"PO-Revision-Date: 2022-09-20 21:36+0700\n" "PO-Revision-Date: 2022-09-20 21:36+0700\n"
"Last-Translator: Ha Link <halink0803@gmail.com>\n" "Last-Translator: Ha Link <halink0803@gmail.com>\n"
"Language: vi\n" "Language: vi\n"
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.17.0\n" "Generated-By: Babel 2.15.0\n"
#: cps/about.py:85 #: cps/about.py:85
msgid "Statistics" msgid "Statistics"
@@ -546,7 +546,7 @@ msgstr "chưa cài đặt"
msgid "Execution permissions missing" msgid "Execution permissions missing"
msgstr "" msgstr ""
#: cps/db.py:1046 cps/templates/config_edit.html:207 #: cps/db.py:1124 cps/templates/config_edit.html:207
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714 #: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714
#: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103 #: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103
@@ -963,7 +963,7 @@ msgstr "Google Oauth lỗi, làm ơn thử lại sau."
msgid "Google Oauth error: {}" msgid "Google Oauth error: {}"
msgstr "Google Oauth lỗi: {}" msgstr "Google Oauth lỗi: {}"
#: cps/opds.py:308 #: cps/opds.py:307
#, python-brace-format #, python-brace-format
msgid "{} Stars" msgid "{} Stars"
msgstr "{} sao" msgstr "{} sao"
@@ -1922,12 +1922,12 @@ msgstr "Đã phát hành"
msgid "Description:" msgid "Description:"
msgstr "Mô tả:" msgstr "Mô tả:"
#: cps/templates/basic_index.html:7 cps/templates/layout.html:174 #: cps/templates/basic_index.html:7 cps/templates/layout.html:173
msgid "Previous" msgid "Previous"
msgstr "Trước" msgstr "Trước"
#: cps/templates/basic_index.html:12 cps/templates/feed.xml:22 #: cps/templates/basic_index.html:12 cps/templates/feed.xml:22
#: cps/templates/layout.html:189 #: cps/templates/layout.html:187
msgid "Next" msgid "Next"
msgstr "Tiếp tục" msgstr "Tiếp tục"
@@ -1987,7 +1987,7 @@ msgid "Uploading..."
msgstr "Đang tải lên..." msgstr "Đang tải lên..."
#: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257 #: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257
#: cps/templates/layout.html:79 cps/templates/layout.html:205 #: cps/templates/layout.html:79 cps/templates/layout.html:203
#: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163 #: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163
msgid "Close" msgid "Close"
msgstr "Đóng" msgstr "Đóng"
@@ -3019,7 +3019,7 @@ msgstr ""
msgid "Account" msgid "Account"
msgstr "Tài khoản" msgstr "Tài khoản"
#: cps/templates/layout.html:93 cps/templates/read.html:78 #: cps/templates/layout.html:93 cps/templates/read.html:83
#: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96 #: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96
msgid "Settings" msgid "Settings"
msgstr "Thiết lập" msgstr "Thiết lập"
@@ -3036,7 +3036,7 @@ msgstr "Tìm kiếm"
msgid "About" msgid "About"
msgstr "About" msgstr "About"
#: cps/templates/layout.html:201 #: cps/templates/layout.html:199
msgid "Book Details" msgid "Book Details"
msgstr "Chi tiết sách" msgstr "Chi tiết sách"
@@ -3160,67 +3160,75 @@ msgstr ""
msgid "epub Reader" msgid "epub Reader"
msgstr "trình đọc epub" msgstr "trình đọc epub"
#: cps/templates/read.html:80 #: cps/templates/read.html:85
msgid "Choose a theme below:" msgid "Choose a theme below:"
msgstr "" msgstr ""
#: cps/templates/read.html:84 cps/templates/readcbr.html:104 #: cps/templates/read.html:89 cps/templates/readcbr.html:104
msgid "Light" msgid "Light"
msgstr "Sáng" msgstr "Sáng"
#: cps/templates/read.html:86 cps/templates/readcbr.html:105 #: cps/templates/read.html:91 cps/templates/readcbr.html:105
msgid "Dark" msgid "Dark"
msgstr "Tối" msgstr "Tối"
#: cps/templates/read.html:88 #: cps/templates/read.html:93
msgid "Sepia" msgid "Sepia"
msgstr "" msgstr ""
#: cps/templates/read.html:90 #: cps/templates/read.html:95
msgid "Amber"
msgstr ""
#: cps/templates/read.html:97
msgid "Black" msgid "Black"
msgstr "" msgstr ""
#: cps/templates/read.html:95 #: cps/templates/read.html:109
msgid "Reflow text when sidebars are open." msgid "Reflow text when sidebars are open."
msgstr "" msgstr ""
#: cps/templates/read.html:100 #: cps/templates/read.html:114
msgid "Font Sizes" msgid "Show pages count"
msgstr "" msgstr ""
#: cps/templates/read.html:105 #: cps/templates/read.html:118
msgid "Font Size"
msgstr ""
#: cps/templates/read.html:126
msgid "Font" msgid "Font"
msgstr "" msgstr ""
#: cps/templates/read.html:106 #: cps/templates/read.html:127
msgid "Default" msgid "Default"
msgstr "" msgstr ""
#: cps/templates/read.html:107 #: cps/templates/read.html:128
msgid "Yahei" msgid "Yahei"
msgstr "" msgstr ""
#: cps/templates/read.html:108 #: cps/templates/read.html:129
msgid "SimSun" msgid "SimSun"
msgstr "" msgstr ""
#: cps/templates/read.html:109 #: cps/templates/read.html:130
msgid "KaiTi" msgid "KaiTi"
msgstr "" msgstr ""
#: cps/templates/read.html:110 #: cps/templates/read.html:131
msgid "Arial" msgid "Arial"
msgstr "" msgstr ""
#: cps/templates/read.html:113 #: cps/templates/read.html:134
msgid "Spread" msgid "Spread"
msgstr "" msgstr ""
#: cps/templates/read.html:114 #: cps/templates/read.html:135
msgid "Two columns" msgid "Two columns"
msgstr "" msgstr ""
#: cps/templates/read.html:115 #: cps/templates/read.html:136
msgid "One column" msgid "One column"
msgstr "" msgstr ""
Binary file not shown.
@@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Calibre-Web\n" "Project-Id-Version: Calibre-Web\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2025-12-06 11:51+0100\n" "POT-Creation-Date: 2025-12-14 14:44+0100\n"
"PO-Revision-Date: 2025-12-06 13:53+0800\n" "PO-Revision-Date: 2025-12-06 13:53+0800\n"
"Last-Translator: qx100\n" "Last-Translator: qx100\n"
"Language: zh_CN\n" "Language: zh_CN\n"
@@ -16,7 +16,7 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.17.0\n" "Generated-By: Babel 2.15.0\n"
#: cps/about.py:85 #: cps/about.py:85
msgid "Statistics" msgid "Statistics"
@@ -549,7 +549,7 @@ msgstr "未安装"
msgid "Execution permissions missing" msgid "Execution permissions missing"
msgstr "缺少执行权限" msgstr "缺少执行权限"
#: cps/db.py:1046 cps/templates/config_edit.html:207 #: cps/db.py:1124 cps/templates/config_edit.html:207
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714 #: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714
#: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103 #: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103
@@ -966,7 +966,7 @@ msgstr "Google Oauth 错误,请重试。"
msgid "Google Oauth error: {}" msgid "Google Oauth error: {}"
msgstr "Google Oauth 错误: {}" msgstr "Google Oauth 错误: {}"
#: cps/opds.py:308 #: cps/opds.py:307
#, python-brace-format #, python-brace-format
msgid "{} Stars" msgid "{} Stars"
msgstr "{} 星" msgstr "{} 星"
@@ -1925,12 +1925,12 @@ msgstr "出版日期"
msgid "Description:" msgid "Description:"
msgstr "简介:" msgstr "简介:"
#: cps/templates/basic_index.html:7 cps/templates/layout.html:174 #: cps/templates/basic_index.html:7 cps/templates/layout.html:173
msgid "Previous" msgid "Previous"
msgstr "上一个" msgstr "上一个"
#: cps/templates/basic_index.html:12 cps/templates/feed.xml:22 #: cps/templates/basic_index.html:12 cps/templates/feed.xml:22
#: cps/templates/layout.html:189 #: cps/templates/layout.html:187
msgid "Next" msgid "Next"
msgstr "下一个" msgstr "下一个"
@@ -1990,7 +1990,7 @@ msgid "Uploading..."
msgstr "正在上传..." msgstr "正在上传..."
#: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257 #: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257
#: cps/templates/layout.html:79 cps/templates/layout.html:205 #: cps/templates/layout.html:79 cps/templates/layout.html:203
#: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163 #: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163
msgid "Close" msgid "Close"
msgstr "关闭" msgstr "关闭"
@@ -3022,7 +3022,7 @@ msgstr "简易主题"
msgid "Account" msgid "Account"
msgstr "账号" msgstr "账号"
#: cps/templates/layout.html:93 cps/templates/read.html:78 #: cps/templates/layout.html:93 cps/templates/read.html:83
#: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96 #: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96
msgid "Settings" msgid "Settings"
msgstr "设置" msgstr "设置"
@@ -3039,7 +3039,7 @@ msgstr "按条件浏览"
msgid "About" msgid "About"
msgstr "关于" msgstr "关于"
#: cps/templates/layout.html:201 #: cps/templates/layout.html:199
msgid "Book Details" msgid "Book Details"
msgstr "书籍详情" msgstr "书籍详情"
@@ -3163,67 +3163,75 @@ msgstr "Caliebre-Web 电子书路径"
msgid "epub Reader" msgid "epub Reader"
msgstr "epub 阅读器" msgstr "epub 阅读器"
#: cps/templates/read.html:80 #: cps/templates/read.html:85
msgid "Choose a theme below:" msgid "Choose a theme below:"
msgstr "请从下方选取一个主题:" msgstr "请从下方选取一个主题:"
#: cps/templates/read.html:84 cps/templates/readcbr.html:104 #: cps/templates/read.html:89 cps/templates/readcbr.html:104
msgid "Light" msgid "Light"
msgstr "浅色" msgstr "浅色"
#: cps/templates/read.html:86 cps/templates/readcbr.html:105 #: cps/templates/read.html:91 cps/templates/readcbr.html:105
msgid "Dark" msgid "Dark"
msgstr "深色" msgstr "深色"
#: cps/templates/read.html:88 #: cps/templates/read.html:93
msgid "Sepia" msgid "Sepia"
msgstr "棕色" msgstr "棕色"
#: cps/templates/read.html:90 #: cps/templates/read.html:95
msgid "Amber"
msgstr ""
#: cps/templates/read.html:97
msgid "Black" msgid "Black"
msgstr "黑色" msgstr "黑色"
#: cps/templates/read.html:95 #: cps/templates/read.html:109
msgid "Reflow text when sidebars are open." msgid "Reflow text when sidebars are open."
msgstr "打开侧栏时重排文本。" msgstr "打开侧栏时重排文本。"
#: cps/templates/read.html:100 #: cps/templates/read.html:114
msgid "Font Sizes" msgid "Show pages count"
msgstr "字体大小" msgstr ""
#: cps/templates/read.html:105 #: cps/templates/read.html:118
msgid "Font Size"
msgstr ""
#: cps/templates/read.html:126
msgid "Font" msgid "Font"
msgstr "字体" msgstr "字体"
#: cps/templates/read.html:106 #: cps/templates/read.html:127
msgid "Default" msgid "Default"
msgstr "默认" msgstr "默认"
#: cps/templates/read.html:107 #: cps/templates/read.html:128
msgid "Yahei" msgid "Yahei"
msgstr "微软雅黑" msgstr "微软雅黑"
#: cps/templates/read.html:108 #: cps/templates/read.html:129
msgid "SimSun" msgid "SimSun"
msgstr "宋体" msgstr "宋体"
#: cps/templates/read.html:109 #: cps/templates/read.html:130
msgid "KaiTi" msgid "KaiTi"
msgstr "楷体" msgstr "楷体"
#: cps/templates/read.html:110 #: cps/templates/read.html:131
msgid "Arial" msgid "Arial"
msgstr "Arial" msgstr "Arial"
#: cps/templates/read.html:113 #: cps/templates/read.html:134
msgid "Spread" msgid "Spread"
msgstr "分配" msgstr "分配"
#: cps/templates/read.html:114 #: cps/templates/read.html:135
msgid "Two columns" msgid "Two columns"
msgstr "双栏" msgstr "双栏"
#: cps/templates/read.html:115 #: cps/templates/read.html:136
msgid "One column" msgid "One column"
msgstr "单栏" msgstr "单栏"
Binary file not shown.
@@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Calibre-Web\n" "Project-Id-Version: Calibre-Web\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2025-12-06 11:51+0100\n" "POT-Creation-Date: 2025-12-14 14:44+0100\n"
"PO-Revision-Date: 2025-09-10 03:46+0000\n" "PO-Revision-Date: 2025-09-10 03:46+0000\n"
"Last-Translator: finrodchen <me@finrod.xyz>\n" "Last-Translator: finrodchen <me@finrod.xyz>\n"
"Language: zh_TW\n" "Language: zh_TW\n"
@@ -16,7 +16,7 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.17.0\n" "Generated-By: Babel 2.15.0\n"
#: cps/about.py:85 #: cps/about.py:85
msgid "Statistics" msgid "Statistics"
@@ -549,7 +549,7 @@ msgstr "未安裝"
msgid "Execution permissions missing" msgid "Execution permissions missing"
msgstr "缺少執行權限" msgstr "缺少執行權限"
#: cps/db.py:1046 cps/templates/config_edit.html:207 #: cps/db.py:1124 cps/templates/config_edit.html:207
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714 #: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714
#: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103 #: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103
@@ -966,7 +966,7 @@ msgstr "Google Oauth 錯誤,請重試。"
msgid "Google Oauth error: {}" msgid "Google Oauth error: {}"
msgstr "Google Oauth 錯誤: {}" msgstr "Google Oauth 錯誤: {}"
#: cps/opds.py:308 #: cps/opds.py:307
#, python-brace-format #, python-brace-format
msgid "{} Stars" msgid "{} Stars"
msgstr "{} 星" msgstr "{} 星"
@@ -1925,12 +1925,12 @@ msgstr "出版日期"
msgid "Description:" msgid "Description:"
msgstr "簡介:" msgstr "簡介:"
#: cps/templates/basic_index.html:7 cps/templates/layout.html:174 #: cps/templates/basic_index.html:7 cps/templates/layout.html:173
msgid "Previous" msgid "Previous"
msgstr "上一個" msgstr "上一個"
#: cps/templates/basic_index.html:12 cps/templates/feed.xml:22 #: cps/templates/basic_index.html:12 cps/templates/feed.xml:22
#: cps/templates/layout.html:189 #: cps/templates/layout.html:187
msgid "Next" msgid "Next"
msgstr "下一個" msgstr "下一個"
@@ -1990,7 +1990,7 @@ msgid "Uploading..."
msgstr "正在上傳..." msgstr "正在上傳..."
#: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257 #: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257
#: cps/templates/layout.html:79 cps/templates/layout.html:205 #: cps/templates/layout.html:79 cps/templates/layout.html:203
#: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163 #: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163
msgid "Close" msgid "Close"
msgstr "關閉" msgstr "關閉"
@@ -3022,7 +3022,7 @@ msgstr ""
msgid "Account" msgid "Account"
msgstr "賬號" msgstr "賬號"
#: cps/templates/layout.html:93 cps/templates/read.html:78 #: cps/templates/layout.html:93 cps/templates/read.html:83
#: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96 #: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96
msgid "Settings" msgid "Settings"
msgstr "設置" msgstr "設置"
@@ -3039,7 +3039,7 @@ msgstr "瀏覽"
msgid "About" msgid "About"
msgstr "關於" msgstr "關於"
#: cps/templates/layout.html:201 #: cps/templates/layout.html:199
msgid "Book Details" msgid "Book Details"
msgstr "書籍詳情" msgstr "書籍詳情"
@@ -3163,67 +3163,75 @@ msgstr "Caliebre-Web電子書路徑"
msgid "epub Reader" msgid "epub Reader"
msgstr "epub閱讀器" msgstr "epub閱讀器"
#: cps/templates/read.html:80 #: cps/templates/read.html:85
msgid "Choose a theme below:" msgid "Choose a theme below:"
msgstr "" msgstr ""
#: cps/templates/read.html:84 cps/templates/readcbr.html:104 #: cps/templates/read.html:89 cps/templates/readcbr.html:104
msgid "Light" msgid "Light"
msgstr "淺色" msgstr "淺色"
#: cps/templates/read.html:86 cps/templates/readcbr.html:105 #: cps/templates/read.html:91 cps/templates/readcbr.html:105
msgid "Dark" msgid "Dark"
msgstr "深色" msgstr "深色"
#: cps/templates/read.html:88 #: cps/templates/read.html:93
msgid "Sepia" msgid "Sepia"
msgstr "Sepia" msgstr "Sepia"
#: cps/templates/read.html:90 #: cps/templates/read.html:95
msgid "Amber"
msgstr ""
#: cps/templates/read.html:97
msgid "Black" msgid "Black"
msgstr "" msgstr ""
#: cps/templates/read.html:95 #: cps/templates/read.html:109
msgid "Reflow text when sidebars are open." msgid "Reflow text when sidebars are open."
msgstr "打開側欄時重排文本。" msgstr "打開側欄時重排文本。"
#: cps/templates/read.html:100 #: cps/templates/read.html:114
msgid "Font Sizes" msgid "Show pages count"
msgstr "字體大小" msgstr ""
#: cps/templates/read.html:105 #: cps/templates/read.html:118
msgid "Font Size"
msgstr ""
#: cps/templates/read.html:126
msgid "Font" msgid "Font"
msgstr "字體" msgstr "字體"
#: cps/templates/read.html:106 #: cps/templates/read.html:127
msgid "Default" msgid "Default"
msgstr "" msgstr ""
#: cps/templates/read.html:107 #: cps/templates/read.html:128
msgid "Yahei" msgid "Yahei"
msgstr "雅黑體" msgstr "雅黑體"
#: cps/templates/read.html:108 #: cps/templates/read.html:129
msgid "SimSun" msgid "SimSun"
msgstr "新宋體" msgstr "新宋體"
#: cps/templates/read.html:109 #: cps/templates/read.html:130
msgid "KaiTi" msgid "KaiTi"
msgstr "" msgstr ""
#: cps/templates/read.html:110 #: cps/templates/read.html:131
msgid "Arial" msgid "Arial"
msgstr "" msgstr ""
#: cps/templates/read.html:113 #: cps/templates/read.html:134
msgid "Spread" msgid "Spread"
msgstr "" msgstr ""
#: cps/templates/read.html:114 #: cps/templates/read.html:135
msgid "Two columns" msgid "Two columns"
msgstr "兩欄" msgstr "兩欄"
#: cps/templates/read.html:115 #: cps/templates/read.html:136
msgid "One column" msgid "One column"
msgstr "" msgstr ""
+33 -25
View File
@@ -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: 2025-12-06 11:51+0100\n" "POT-Creation-Date: 2025-12-14 14:44+0100\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"
@@ -548,7 +548,7 @@ msgstr ""
msgid "Execution permissions missing" msgid "Execution permissions missing"
msgstr "" msgstr ""
#: cps/db.py:1046 cps/templates/config_edit.html:207 #: cps/db.py:1124 cps/templates/config_edit.html:207
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714 #: cps/web.py:568 cps/web.py:602 cps/web.py:647 cps/web.py:687 cps/web.py:714
#: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103 #: cps/web.py:1000 cps/web.py:1030 cps/web.py:1075 cps/web.py:1103
@@ -965,7 +965,7 @@ msgstr ""
msgid "Google Oauth error: {}" msgid "Google Oauth error: {}"
msgstr "" msgstr ""
#: cps/opds.py:308 #: cps/opds.py:307
#, python-brace-format #, python-brace-format
msgid "{} Stars" msgid "{} Stars"
msgstr "" msgstr ""
@@ -1924,12 +1924,12 @@ msgstr ""
msgid "Description:" msgid "Description:"
msgstr "" msgstr ""
#: cps/templates/basic_index.html:7 cps/templates/layout.html:174 #: cps/templates/basic_index.html:7 cps/templates/layout.html:173
msgid "Previous" msgid "Previous"
msgstr "" msgstr ""
#: cps/templates/basic_index.html:12 cps/templates/feed.xml:22 #: cps/templates/basic_index.html:12 cps/templates/feed.xml:22
#: cps/templates/layout.html:189 #: cps/templates/layout.html:187
msgid "Next" msgid "Next"
msgstr "" msgstr ""
@@ -1989,7 +1989,7 @@ msgid "Uploading..."
msgstr "" msgstr ""
#: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257 #: cps/templates/book_edit.html:53 cps/templates/book_edit.html:257
#: cps/templates/layout.html:79 cps/templates/layout.html:205 #: cps/templates/layout.html:79 cps/templates/layout.html:203
#: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163 #: cps/templates/modal_dialogs.html:34 cps/templates/user_edit.html:163
msgid "Close" msgid "Close"
msgstr "" msgstr ""
@@ -3021,7 +3021,7 @@ msgstr ""
msgid "Account" msgid "Account"
msgstr "" msgstr ""
#: cps/templates/layout.html:93 cps/templates/read.html:78 #: cps/templates/layout.html:93 cps/templates/read.html:83
#: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96 #: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96
msgid "Settings" msgid "Settings"
msgstr "" msgstr ""
@@ -3038,7 +3038,7 @@ msgstr ""
msgid "About" msgid "About"
msgstr "" msgstr ""
#: cps/templates/layout.html:201 #: cps/templates/layout.html:199
msgid "Book Details" msgid "Book Details"
msgstr "" msgstr ""
@@ -3162,67 +3162,75 @@ msgstr ""
msgid "epub Reader" msgid "epub Reader"
msgstr "" msgstr ""
#: cps/templates/read.html:80 #: cps/templates/read.html:85
msgid "Choose a theme below:" msgid "Choose a theme below:"
msgstr "" msgstr ""
#: cps/templates/read.html:84 cps/templates/readcbr.html:104 #: cps/templates/read.html:89 cps/templates/readcbr.html:104
msgid "Light" msgid "Light"
msgstr "" msgstr ""
#: cps/templates/read.html:86 cps/templates/readcbr.html:105 #: cps/templates/read.html:91 cps/templates/readcbr.html:105
msgid "Dark" msgid "Dark"
msgstr "" msgstr ""
#: cps/templates/read.html:88 #: cps/templates/read.html:93
msgid "Sepia" msgid "Sepia"
msgstr "" msgstr ""
#: cps/templates/read.html:90 #: cps/templates/read.html:95
msgid "Amber"
msgstr ""
#: cps/templates/read.html:97
msgid "Black" msgid "Black"
msgstr "" msgstr ""
#: cps/templates/read.html:95 #: cps/templates/read.html:109
msgid "Reflow text when sidebars are open." msgid "Reflow text when sidebars are open."
msgstr "" msgstr ""
#: cps/templates/read.html:100 #: cps/templates/read.html:114
msgid "Font Sizes" msgid "Show pages count"
msgstr "" msgstr ""
#: cps/templates/read.html:105 #: cps/templates/read.html:118
msgid "Font Size"
msgstr ""
#: cps/templates/read.html:126
msgid "Font" msgid "Font"
msgstr "" msgstr ""
#: cps/templates/read.html:106 #: cps/templates/read.html:127
msgid "Default" msgid "Default"
msgstr "" msgstr ""
#: cps/templates/read.html:107 #: cps/templates/read.html:128
msgid "Yahei" msgid "Yahei"
msgstr "" msgstr ""
#: cps/templates/read.html:108 #: cps/templates/read.html:129
msgid "SimSun" msgid "SimSun"
msgstr "" msgstr ""
#: cps/templates/read.html:109 #: cps/templates/read.html:130
msgid "KaiTi" msgid "KaiTi"
msgstr "" msgstr ""
#: cps/templates/read.html:110 #: cps/templates/read.html:131
msgid "Arial" msgid "Arial"
msgstr "" msgstr ""
#: cps/templates/read.html:113 #: cps/templates/read.html:134
msgid "Spread" msgid "Spread"
msgstr "" msgstr ""
#: cps/templates/read.html:114 #: cps/templates/read.html:135
msgid "Two columns" msgid "Two columns"
msgstr "" msgstr ""
#: cps/templates/read.html:115 #: cps/templates/read.html:136
msgid "One column" msgid "One column"
msgstr "" msgstr ""
+31 -92
View File
@@ -37,20 +37,20 @@
<div class="row"> <div class="row">
<div class="col-xs-6 col-md-6 col-sm-offset-3" style="margin-top:50px;"> <div class="col-xs-6 col-md-6 col-sm-offset-3" style="margin-top:50px;">
<p class='text-justify attribute'><strong>Start Time: </strong>2025-12-06 19:29:38</p> <p class='text-justify attribute'><strong>Start Time: </strong>2026-01-07 20:39:44</p>
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-xs-6 col-md-6 col-sm-offset-3"> <div class="col-xs-6 col-md-6 col-sm-offset-3">
<p class='text-justify attribute'><strong>Stop Time: </strong>2025-12-07 02:46:00</p> <p class='text-justify attribute'><strong>Stop Time: </strong>2026-01-08 04:01:04</p>
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-xs-6 col-md-6 col-sm-offset-3"> <div class="col-xs-6 col-md-6 col-sm-offset-3">
<p class='text-justify attribute'><strong>Duration: </strong>6h 5 min</p> <p class='text-justify attribute'><strong>Duration: </strong>6h 7 min</p>
</div> </div>
</div> </div>
</div> </div>
@@ -2249,13 +2249,13 @@
<tr id="su" class="failClass"> <tr id="su" class="passClass">
<td>TestLoadMetadataScholar</td> <td>TestLoadMetadataScholar</td>
<td class="text-center">1</td> <td class="text-center">1</td>
<td class="text-center">0</td>
<td class="text-center">1</td> <td class="text-center">1</td>
<td class="text-center">0</td> <td class="text-center">0</td>
<td class="text-center">0</td> <td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center"> <td class="text-center">
<a onclick="showClassDetail('c20', 1)">Detail</a> <a onclick="showClassDetail('c20', 1)">Detail</a>
</td> </td>
@@ -2263,31 +2263,11 @@
<tr id="ft20.1" class="none bg-danger"> <tr id='pt20.1' class='hiddenRow bg-success'>
<td> <td>
<div class='testcase'>TestLoadMetadataScholar - test_load_metadata</div> <div class='testcase'>TestLoadMetadataScholar - test_load_metadata</div>
</td> </td>
<td colspan='6'> <td colspan='6' align='center'>PASS</td>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft20.1')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft20.1" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_ft20.1').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_edit_metadata_scholar.py&#34;, line 74, in test_load_metadata
self.assertEqual(30, len(results))
AssertionError: 30 != 20</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr> </tr>
@@ -2590,12 +2570,12 @@ AssertionError: 30 != 20</pre>
<tr id="su" class="errorClass"> <tr id="su" class="skipClass">
<td>TestFilePicker</td> <td>TestFilePicker</td>
<td class="text-center">3</td> <td class="text-center">3</td>
<td class="text-center">1</td> <td class="text-center">2</td>
<td class="text-center">0</td>
<td class="text-center">0</td> <td class="text-center">0</td>
<td class="text-center">1</td>
<td class="text-center">1</td> <td class="text-center">1</td>
<td class="text-center"> <td class="text-center">
<a onclick="showClassDetail('c27', 3)">Detail</a> <a onclick="showClassDetail('c27', 3)">Detail</a>
@@ -2639,32 +2619,11 @@ AssertionError: 30 != 20</pre>
<tr id="et27.3" class="none bg-info"> <tr id='pt27.3' class='hiddenRow bg-success'>
<td> <td>
<div class='testcase'>TestFilePicker - test_two_filepickers</div> <div class='testcase'>TestFilePicker - test_two_filepickers</div>
</td> </td>
<td colspan='6'> <td colspan='6' align='center'>PASS</td>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et27.3')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et27.3" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_et27.3').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_filepicker.py&#34;, line 88, in test_two_filepickers
accordions[0].click()
~~~~~~~~~~^^^
IndexError: list index out of range</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr> </tr>
@@ -4726,11 +4685,11 @@ AssertionError: 7 != 2</pre>
<tr id="su" class="failClass"> <tr id="su" class="skipClass">
<td>TestThumbnails</td> <td>TestThumbnails</td>
<td class="text-center">8</td> <td class="text-center">8</td>
<td class="text-center">6</td> <td class="text-center">7</td>
<td class="text-center">1</td> <td class="text-center">0</td>
<td class="text-center">0</td> <td class="text-center">0</td>
<td class="text-center">1</td> <td class="text-center">1</td>
<td class="text-center"> <td class="text-center">
@@ -4803,31 +4762,11 @@ AssertionError: 7 != 2</pre>
<tr id="ft52.8" class="none bg-danger"> <tr id='pt52.8' class='hiddenRow bg-success'>
<td> <td>
<div class='testcase'>TestThumbnails - test_sideloaded_book</div> <div class='testcase'>TestThumbnails - test_sideloaded_book</div>
</td> </td>
<td colspan='6'> <td colspan='6' align='center'>PASS</td>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft52.8')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft52.8" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_ft52.8').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_thumbnails.py&#34;, line 317, in test_sideloaded_book
self.assertAlmostEqual(diff(BytesIO(list_cover), BytesIO(old_list_cover), delete_diff_file=True), 0.0,
AssertionError: 0.049274509803921576 != 0.0 within 0.0001 delta (0.049274509803921576 difference)</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr> </tr>
@@ -6294,9 +6233,9 @@ AssertionError: 12 != 1</pre>
<tr id='total_row' class="text-center bg-grey"> <tr id='total_row' class="text-center bg-grey">
<td>Total</td> <td>Total</td>
<td>538</td> <td>538</td>
<td>513</td> <td>516</td>
<td>17</td> <td>15</td>
<td>1</td> <td>0</td>
<td>7</td> <td>7</td>
<td>&nbsp;</td> <td>&nbsp;</td>
</tr> </tr>
@@ -6325,7 +6264,7 @@ AssertionError: 12 != 1</pre>
<tr> <tr>
<th>Platform</th> <th>Platform</th>
<td>Linux 6.8.0-88-generic #89-Ubuntu SMP PREEMPT_DYNAMIC Sat Oct 11 01:02:46 UTC 2025 x86_64 x86_64</td> <td>Linux 6.8.0-90-generic #91-Ubuntu SMP PREEMPT_DYNAMIC Tue Nov 18 14:14:30 UTC 2025 x86_64 x86_64</td>
<td>Basic</td> <td>Basic</td>
</tr> </tr>
@@ -6337,7 +6276,7 @@ AssertionError: 12 != 1</pre>
<tr> <tr>
<th>APScheduler</th> <th>APScheduler</th>
<td>3.11.1</td> <td>3.11.2</td>
<td>Basic</td> <td>Basic</td>
</tr> </tr>
@@ -6439,7 +6378,7 @@ AssertionError: 12 != 1</pre>
<tr> <tr>
<th>pypdf</th> <th>pypdf</th>
<td>6.4.0</td> <td>6.4.2</td>
<td>Basic</td> <td>Basic</td>
</tr> </tr>
@@ -6469,13 +6408,13 @@ AssertionError: 12 != 1</pre>
<tr> <tr>
<th>SQLAlchemy</th> <th>SQLAlchemy</th>
<td>2.0.44</td> <td>2.0.45</td>
<td>Basic</td> <td>Basic</td>
</tr> </tr>
<tr> <tr>
<th>tornado</th> <th>tornado</th>
<td>6.5.2</td> <td>6.5.4</td>
<td>Basic</td> <td>Basic</td>
</tr> </tr>
@@ -6487,7 +6426,7 @@ AssertionError: 12 != 1</pre>
<tr> <tr>
<th>urllib3</th> <th>urllib3</th>
<td>2.6.0</td> <td>2.6.3</td>
<td>Basic</td> <td>Basic</td>
</tr> </tr>
@@ -6787,13 +6726,13 @@ AssertionError: 12 != 1</pre>
<tr> <tr>
<th>jsonschema</th> <th>jsonschema</th>
<td>4.25.1</td> <td>4.26.0</td>
<td>TestKoboSync</td> <td>TestKoboSync</td>
</tr> </tr>
<tr> <tr>
<th>jsonschema</th> <th>jsonschema</th>
<td>4.25.1</td> <td>4.26.0</td>
<td>TestKoboSyncBig</td> <td>TestKoboSyncBig</td>
</tr> </tr>
@@ -6805,7 +6744,7 @@ AssertionError: 12 != 1</pre>
<tr> <tr>
<th>jsonschema</th> <th>jsonschema</th>
<td>4.25.1</td> <td>4.26.0</td>
<td>TestLdapLogin</td> <td>TestLdapLogin</td>
</tr> </tr>
@@ -6823,7 +6762,7 @@ AssertionError: 12 != 1</pre>
<tr> <tr>
<th>SQLAlchemy-Utils</th> <th>SQLAlchemy-Utils</th>
<td>0.42.0</td> <td>0.42.1</td>
<td>TestOAuthLogin</td> <td>TestOAuthLogin</td>
</tr> </tr>
@@ -6847,7 +6786,7 @@ AssertionError: 12 != 1</pre>
</div> </div>
<script> <script>
drawCircle(513, 17, 1, 7); drawCircle(516, 15, 0, 7);
showCase(5); showCase(5);
</script> </script>