Compare commits
28 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
4389a0f5aa | ||
|
b54ff37828 | ||
|
e7dd10fa3a | ||
|
3ede5b78fa | ||
|
418d9e0c1c | ||
|
e977826ea1 | ||
|
c661ed54de | ||
|
dd3aa8a49c | ||
|
65ad48c442 | ||
|
fd433d6432 | ||
|
2bc73450fe | ||
|
8b6800e14f | ||
|
d0cdd531a9 | ||
|
5e74b6f261 | ||
|
24e45ac2b7 | ||
|
916bdb5b14 | ||
|
ca108da948 | ||
|
6762f2cfce | ||
|
0aea9ec33b | ||
|
af1b988d93 | ||
|
8fd6a0d432 | ||
|
56f15528c2 | ||
|
f358ad169c | ||
|
4cf0a9e78c | ||
|
38de0dcd13 | ||
|
eb49ca92a4 | ||
|
bf93c7beab | ||
|
ca57983739 |
@@ -30,8 +30,11 @@ SOURCES += lector/__main__.py \
|
||||
lector/resources/metadata.py \
|
||||
lector/resources/mainwindow.py
|
||||
|
||||
TRANSLATIONS += lector/resources/translations/Lector_es.ts \
|
||||
TRANSLATIONS += lector/resources/translations/Lector_cs.ts \
|
||||
lector/resources/translations/Lector_es.ts \
|
||||
lector/resources/translations/Lector_fr.ts \
|
||||
lector/resources/translations/Lector_de.ts \
|
||||
lector/resources/translations/Lector_zh.ts \
|
||||
lector/resources/translations/Lector_ja.ts \
|
||||
lector/resources/translations/Lector_pt.ts \
|
||||
lector/resources/translations/SAMPLE.ts
|
||||
|
11
README.md
@@ -5,10 +5,12 @@ Qt based ebook reader
|
||||
Currently supports:
|
||||
* pdf
|
||||
* epub
|
||||
* djvu
|
||||
* fb2
|
||||
* mobi
|
||||
* azw / azw3 / azw4
|
||||
* cbr / cbz
|
||||
* md
|
||||
|
||||
## Contribute
|
||||
[Paypal](https://www.paypal.me/supportlector)
|
||||
@@ -26,9 +28,12 @@ Bitcoin: 17jaxj26vFJNqQ2hEVerbBV5fpTusfqFro
|
||||
| python-xmltodict | 0.11.0 |
|
||||
|
||||
### Optional
|
||||
| Package | Version tested |
|
||||
| --- | --- |
|
||||
| python-pymupdf | 1.14.5 |
|
||||
| Package | Version tested | Required for |
|
||||
| --- | --- | --- |
|
||||
| python-pymupdf | 1.14.5 | PDF support |
|
||||
| python-djvulibre | 0.8.4 | DjVu support |
|
||||
| python-markdown | 3.0.1 | Markdown support |
|
||||
| textile | 3.0.4 | TXT support |
|
||||
|
||||
## Support
|
||||
When reporting issues:
|
||||
|
13
TODO
@@ -37,6 +37,7 @@ TODO
|
||||
✓ Create covers for books without them - VERY SLOW
|
||||
Set focus to newly added file
|
||||
Reading:
|
||||
✓ Navbar
|
||||
✓ Drop down for TOC
|
||||
✓ Treeview navigation for TOC
|
||||
✓ Override the keypress event of the textedit
|
||||
@@ -64,6 +65,7 @@ TODO
|
||||
✓ Paragraph indentation
|
||||
✓ Comic view keyboard shortcuts
|
||||
✓ Comic view context menu
|
||||
✓ Image rotation
|
||||
✓ Make the bookmark dock float over the reading area
|
||||
✓ Spacebar should not cut off lines at the top
|
||||
✓ Track open bookmark windows so they can be closed quickly at exit
|
||||
@@ -89,22 +91,25 @@ TODO
|
||||
Have them save to memory
|
||||
✓ fb2 support
|
||||
✓ Images need to show up in their placeholders
|
||||
✓ djvu support
|
||||
✓ markdown support
|
||||
Other:
|
||||
✓ Define every widget in code
|
||||
Bugs:
|
||||
Deselecting all directories in the settings dialog also filters out manually added books
|
||||
Last line in QTextBrowser should never be cut off
|
||||
Bookmark name for a page that's not on the TOC and has nothing before
|
||||
Screen position still keeps jumping when inside a paragraph
|
||||
Better recursion needed for fb2 toc
|
||||
Search results should ignore punctuation
|
||||
Keep text size for annotations
|
||||
Sort by new is not working
|
||||
Drag and drop is acting out
|
||||
Search and annotation buttons become visible when font settings are hidden in comics
|
||||
|
||||
Secondary:
|
||||
Auto switch between flow and single page mode
|
||||
Text to speech
|
||||
Definitions dialog needs to respond to escape
|
||||
Zoom slider for comics
|
||||
Zoom slider for comics / library
|
||||
Tab tooltip
|
||||
Additional Settings:
|
||||
Find definitions on Google
|
||||
@@ -119,7 +124,7 @@ TODO
|
||||
Goodreads API: Ratings, Read, Recommendations
|
||||
Get ISBN using python-isbnlib
|
||||
Use embedded fonts + CSS
|
||||
txt, doc, chm, djvu support
|
||||
txt, doc, chm support
|
||||
Include icons for filetype emblems
|
||||
Comic view modes
|
||||
Continuous paging
|
||||
|
@@ -273,7 +273,7 @@ class OPFProcessor(object):
|
||||
del metadata['CoverOffset']
|
||||
|
||||
handleMetaPairs(data, metadata, 'Codec', 'output encoding')
|
||||
# handle kindlegen specifc tags
|
||||
# handle kindlegen specific tags
|
||||
handleTag(data, metadata, 'DictInLanguage', 'DictionaryInLanguage')
|
||||
handleTag(data, metadata, 'DictOutLanguage', 'DictionaryOutLanguage')
|
||||
handleMetaPairs(data, metadata, 'RegionMagnification', 'RegionMagnification')
|
||||
|
@@ -204,6 +204,8 @@ class MainUI(QtWidgets.QMainWindow, mainwindow.Ui_MainWindow):
|
||||
self.bookToolBar.doublePageButton.triggered.connect(self.change_page_view)
|
||||
self.bookToolBar.mangaModeButton.triggered.connect(self.change_page_view)
|
||||
self.bookToolBar.invertButton.triggered.connect(self.change_page_view)
|
||||
self.bookToolBar.rotateRightButton.triggered.connect(self.change_page_view)
|
||||
self.bookToolBar.rotateLeftButton.triggered.connect(self.change_page_view)
|
||||
if self.settings['double_page_mode']:
|
||||
self.bookToolBar.doublePageButton.setChecked(True)
|
||||
if self.settings['manga_mode']:
|
||||
@@ -263,7 +265,7 @@ class MainUI(QtWidgets.QMainWindow, mainwindow.Ui_MainWindow):
|
||||
|
||||
# Get list of available parsers
|
||||
self.available_parsers = '*.' + ' *.'.join(sorter.available_parsers)
|
||||
logger.info('Available parsers: ' + self.available_parsers)
|
||||
logger.log(60, 'Available parsers: ' + self.available_parsers)
|
||||
|
||||
# The Library tab gets no button
|
||||
self.tabWidget.tabBar().setTabButton(
|
||||
@@ -696,7 +698,7 @@ class MainUI(QtWidgets.QMainWindow, mainwindow.Ui_MainWindow):
|
||||
# The set_content method is universal
|
||||
# It's going to do position tracking
|
||||
current_tab = self.tabWidget.currentWidget()
|
||||
current_tab.set_content(required_position, False, True)
|
||||
current_tab.set_content(required_position, True, True)
|
||||
|
||||
def library_doubleclick(self, index):
|
||||
sender = self.sender().objectName()
|
||||
@@ -766,12 +768,27 @@ class MainUI(QtWidgets.QMainWindow, mainwindow.Ui_MainWindow):
|
||||
#=================================================================
|
||||
|
||||
def change_page_view(self, key_pressed=False):
|
||||
# Switch page to whatever index is selected in the tocBox
|
||||
current_tab = self.tabWidget.currentWidget()
|
||||
chapter_number = current_tab.metadata['position']['current_chapter']
|
||||
|
||||
# Set zoom mode to best fit to
|
||||
# make the transition less jarring
|
||||
# if the sender isn't the invert colors button
|
||||
if self.sender() != self.bookToolBar.invertButton:
|
||||
self.comic_profile['zoom_mode'] = 'bestFit'
|
||||
|
||||
# Rotate the image left or right
|
||||
# The double page mode is incompatible with this
|
||||
if self.sender() == self.bookToolBar.rotateLeftButton:
|
||||
current_tab.generate_rotation(-90)
|
||||
self.bookToolBar.doublePageButton.setChecked(False)
|
||||
if self.sender() == self.bookToolBar.rotateRightButton:
|
||||
current_tab.generate_rotation(90)
|
||||
self.bookToolBar.doublePageButton.setChecked(False)
|
||||
if self.sender() == self.bookToolBar.doublePageButton:
|
||||
current_tab.image_rotation = 0
|
||||
|
||||
# Toggle Double page mode / manga mode on keypress
|
||||
if key_pressed == QtCore.Qt.Key_D:
|
||||
self.bookToolBar.doublePageButton.setChecked(
|
||||
@@ -786,9 +803,6 @@ class MainUI(QtWidgets.QMainWindow, mainwindow.Ui_MainWindow):
|
||||
self.settings['manga_mode'] = self.bookToolBar.mangaModeButton.isChecked()
|
||||
self.settings['invert_colors'] = self.bookToolBar.invertButton.isChecked()
|
||||
|
||||
# Switch page to whatever index is selected in the tocBox
|
||||
current_tab = self.tabWidget.currentWidget()
|
||||
chapter_number = current_tab.metadata['position']['current_chapter']
|
||||
current_tab.set_content(chapter_number, False)
|
||||
|
||||
def generate_library_context_menu(self, position):
|
||||
@@ -891,9 +905,12 @@ class MainUI(QtWidgets.QMainWindow, mainwindow.Ui_MainWindow):
|
||||
last_accessed_time = QtCore.QDateTime().currentDateTime()
|
||||
position_perc = 1
|
||||
|
||||
self.lib_ref.libraryModel.setData(i, metadata, QtCore.Qt.UserRole + 3)
|
||||
self.lib_ref.libraryModel.setData(i, position_perc, QtCore.Qt.UserRole + 7)
|
||||
self.lib_ref.libraryModel.setData(i, last_accessed_time, QtCore.Qt.UserRole + 12)
|
||||
self.lib_ref.libraryModel.setData(
|
||||
i, metadata, QtCore.Qt.UserRole + 3)
|
||||
self.lib_ref.libraryModel.setData(
|
||||
i, position_perc, QtCore.Qt.UserRole + 7)
|
||||
self.lib_ref.libraryModel.setData(
|
||||
i, last_accessed_time, QtCore.Qt.UserRole + 12)
|
||||
self.lib_ref.update_proxymodels()
|
||||
|
||||
database_dict = {
|
||||
@@ -976,7 +993,7 @@ class MainUI(QtWidgets.QMainWindow, mainwindow.Ui_MainWindow):
|
||||
|
||||
def start_culling_timer(self):
|
||||
if self.settings['perform_culling']:
|
||||
self.culling_timer.start(30)
|
||||
self.culling_timer.start(90)
|
||||
|
||||
def resizeEvent(self, event=None):
|
||||
if event:
|
||||
|
@@ -25,6 +25,12 @@ try:
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
try:
|
||||
import djvu.decode
|
||||
from lector.parsers.djvu import render_djvu_page
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
from PyQt5 import QtWidgets, QtGui, QtCore
|
||||
|
||||
from lector.rarfile import rarfile
|
||||
@@ -60,11 +66,17 @@ class PliantQGraphicsView(QtWidgets.QGraphicsView):
|
||||
elif self.filetype == 'pdf':
|
||||
self.book = fitz.open(self.filepath)
|
||||
|
||||
elif self.filetype == 'djvu':
|
||||
self.book = djvu.decode.Context().new_document(
|
||||
djvu.decode.FileURI(self.filepath))
|
||||
self.book.decoding_job.wait()
|
||||
|
||||
self.common_functions = PliantWidgetsCommonFunctions(
|
||||
self, self.main_window)
|
||||
|
||||
self.ignore_wheel_event = False
|
||||
self.ignore_wheel_event_number = 0
|
||||
self.mousePosition = None
|
||||
self.setMouseTracking(True)
|
||||
self.setDragMode(QtWidgets.QGraphicsView.ScrollHandDrag)
|
||||
|
||||
@@ -93,6 +105,10 @@ class PliantQGraphicsView(QtWidgets.QGraphicsView):
|
||||
page_data = self.book.loadPage(page)
|
||||
pixmap = render_pdf_page(page_data)
|
||||
|
||||
elif self.filetype == 'djvu':
|
||||
page_data = self.book.pages[page]
|
||||
pixmap = render_djvu_page(page_data)
|
||||
|
||||
return pixmap
|
||||
|
||||
firstPixmap = page_loader(current_page)
|
||||
@@ -168,13 +184,21 @@ class PliantQGraphicsView(QtWidgets.QGraphicsView):
|
||||
|
||||
# TODO
|
||||
# Get caching working for double page view
|
||||
if not double_page_mode and self.main_window.settings['caching_enabled']:
|
||||
|
||||
# All of these must be True
|
||||
caching_conditions = (
|
||||
not double_page_mode,
|
||||
self.main_window.settings['caching_enabled'])
|
||||
|
||||
if False not in caching_conditions:
|
||||
return_pixmap = None
|
||||
while not return_pixmap:
|
||||
return_pixmap = check_cache(current_page)
|
||||
else:
|
||||
return_pixmap = load_page(current_page)
|
||||
|
||||
# Final pixmap transformations may take place here
|
||||
## Color inversion
|
||||
if self.main_window.settings['invert_colors']:
|
||||
qImg = return_pixmap.toImage()
|
||||
qImg.invertPixels()
|
||||
@@ -183,6 +207,12 @@ class PliantQGraphicsView(QtWidgets.QGraphicsView):
|
||||
else:
|
||||
logger.error('Color inversion failed: ' + current_page)
|
||||
|
||||
## Image rotation
|
||||
if not self.parent.image_rotation == 0:
|
||||
transformation = QtGui.QTransform()
|
||||
transformation.rotate(self.parent.image_rotation)
|
||||
return_pixmap = return_pixmap.transformed(transformation)
|
||||
|
||||
self.image_pixmap = return_pixmap
|
||||
self.resizeEvent()
|
||||
|
||||
@@ -284,12 +314,26 @@ class PliantQGraphicsView(QtWidgets.QGraphicsView):
|
||||
self.common_functions.update_model()
|
||||
|
||||
def mouseMoveEvent(self, event):
|
||||
if QtWidgets.QApplication.mouseButtons() == QtCore.Qt.NoButton:
|
||||
self.viewport().setCursor(QtCore.Qt.OpenHandCursor)
|
||||
else:
|
||||
self.viewport().setCursor(QtCore.Qt.ClosedHandCursor)
|
||||
self.parent.mouse_hide_timer.start(2000)
|
||||
# Compare mouse positions
|
||||
# This allows to filter out scrolling
|
||||
# from a normal mouseEvent
|
||||
QtWidgets.QGraphicsView.mouseMoveEvent(self, event)
|
||||
if not self.mousePosition:
|
||||
self.mousePosition = event.pos()
|
||||
return
|
||||
|
||||
current_position = event.pos()
|
||||
if current_position == self.mousePosition or self.parent.sideDock.isVisible():
|
||||
return
|
||||
else:
|
||||
self.mousePosition = event.pos()
|
||||
|
||||
self.parent.navBar.show()
|
||||
if QtWidgets.QApplication.mouseButtons() == QtCore.Qt.NoButton:
|
||||
self.viewport().setCursor(QtCore.Qt.OpenHandCursor)
|
||||
else:
|
||||
self.viewport().setCursor(QtCore.Qt.ClosedHandCursor)
|
||||
self.parent.mouseHideTimer.start(2000)
|
||||
|
||||
def generate_graphicsview_context_menu(self, position):
|
||||
contextMenu = QtWidgets.QMenu()
|
||||
@@ -329,6 +373,14 @@ class PliantQGraphicsView(QtWidgets.QGraphicsView):
|
||||
mangaModeAction.setCheckable(True)
|
||||
mangaModeAction.setChecked(
|
||||
self.main_window.bookToolBar.mangaModeButton.isChecked())
|
||||
|
||||
invertColorsAction = viewSubMenu.addAction(
|
||||
self.main_window.QImageFactory.get_image('invert'),
|
||||
self._translate('PliantQGraphicsView', 'Invert page colors'))
|
||||
invertColorsAction.setCheckable(True)
|
||||
invertColorsAction.setChecked(
|
||||
self.main_window.bookToolBar.invertButton.isChecked())
|
||||
|
||||
viewSubMenu.addSeparator()
|
||||
|
||||
zoominAction = viewSubMenu.addAction(
|
||||
@@ -365,6 +417,8 @@ class PliantQGraphicsView(QtWidgets.QGraphicsView):
|
||||
self.main_window.bookToolBar.doublePageButton.trigger()
|
||||
if action == mangaModeAction:
|
||||
self.main_window.bookToolBar.mangaModeButton.trigger()
|
||||
if action == invertColorsAction:
|
||||
self.main_window.bookToolBar.invertButton.trigger()
|
||||
|
||||
if action == saveAction:
|
||||
dialog_prompt = self._translate('Main_UI', 'Save page as...')
|
||||
@@ -411,6 +465,18 @@ class PliantQTextBrowser(QtWidgets.QTextBrowser):
|
||||
self.parent = parent
|
||||
self.main_window = main_window
|
||||
|
||||
# Available modes:
|
||||
# flow - default
|
||||
# singlePage
|
||||
# doublePage
|
||||
self.text_mode = 'flow'
|
||||
|
||||
# New pages will be generated following a resize
|
||||
# This is timed so as not to drive the processor nuts
|
||||
self.resizeTimer = QtCore.QTimer()
|
||||
self.resizeTimer.setSingleShot(True)
|
||||
self.resizeTimer.timeout.connect(self.create_pages)
|
||||
|
||||
self.annotation_mode = False
|
||||
self.annotator = AnnotationPlacement()
|
||||
self.current_annotation = None
|
||||
@@ -426,18 +492,30 @@ class PliantQTextBrowser(QtWidgets.QTextBrowser):
|
||||
self.setMouseTracking(True)
|
||||
self.verticalScrollBar().sliderMoved.connect(
|
||||
self.record_position)
|
||||
self.mousePosition = None
|
||||
self.ignore_wheel_event = False
|
||||
self.ignore_wheel_event_number = 0
|
||||
|
||||
self.at_end = False
|
||||
self.page_cursors = []
|
||||
self.page_number = 0
|
||||
|
||||
def wheelEvent(self, event):
|
||||
if self.text_mode in ('singlePage', 'doublePage'):
|
||||
vertical_pdelta = event.pixelDelta().y()
|
||||
direction = -1
|
||||
if vertical_pdelta < 0:
|
||||
direction = 1
|
||||
|
||||
self.turn_page(direction)
|
||||
return
|
||||
|
||||
self.record_position()
|
||||
self.common_functions.wheelEvent(event)
|
||||
|
||||
def keyPressEvent(self, event):
|
||||
QtWidgets.QTextEdit.keyPressEvent(self, event)
|
||||
if event.key() == QtCore.Qt.Key_Space:
|
||||
QtWidgets.QTextEdit.keyPressEvent(self, event)
|
||||
if self.verticalScrollBar().value() == self.verticalScrollBar().maximum():
|
||||
if self.at_end: # This makes sure the last lines of the chapter don't get skipped
|
||||
self.common_functions.change_chapter(1, True)
|
||||
@@ -445,15 +523,132 @@ class PliantQTextBrowser(QtWidgets.QTextBrowser):
|
||||
else:
|
||||
self.at_end = False
|
||||
self.set_top_line_cleanly()
|
||||
self.record_position()
|
||||
return
|
||||
|
||||
if self.text_mode == 'singlePage':
|
||||
if event.key() == QtCore.Qt.Key_Down:
|
||||
self.turn_page(1)
|
||||
if event.key() == QtCore.Qt.Key_Up:
|
||||
self.turn_page(-1)
|
||||
self.record_position()
|
||||
return
|
||||
|
||||
QtWidgets.QTextEdit.keyPressEvent(self, event)
|
||||
|
||||
def move_to_cursor(self, cursor):
|
||||
self.setTextCursor(cursor)
|
||||
self.verticalScrollBar().setValue(
|
||||
self.verticalScrollBar().maximum())
|
||||
self.ensureCursorVisible()
|
||||
|
||||
def set_top_line_cleanly(self):
|
||||
# Find the cursor position of the top line and move to it
|
||||
find_cursor = self.cursorForPosition(QtCore.QPoint(0, 0))
|
||||
find_cursor.movePosition(
|
||||
find_cursor.position(), QtGui.QTextCursor.KeepAnchor)
|
||||
self.setTextCursor(find_cursor)
|
||||
self.ensureCursorVisible()
|
||||
cursorTop = self.cursorForPosition(QtCore.QPoint(0, 0))
|
||||
self.move_to_cursor(cursorTop)
|
||||
|
||||
def resizeEvent(self, event=None):
|
||||
QtWidgets.QTextBrowser.resizeEvent(self, event)
|
||||
self.resizeTimer.start(100)
|
||||
|
||||
def create_pages(self, text_mode=None):
|
||||
# Return to this value after page calcuation is done
|
||||
cursorTop = self.cursorForPosition(QtCore.QPoint(0, 0))
|
||||
|
||||
# No changes in mode
|
||||
# if text_mode == self.text_mode:
|
||||
# return
|
||||
|
||||
# Account for resizeEvent
|
||||
if not text_mode:
|
||||
if self.text_mode == 'flow':
|
||||
return
|
||||
text_mode = self.text_mode
|
||||
|
||||
# Single Page mode
|
||||
page_width = self.viewport().size().width()
|
||||
page_height = self.viewport().size().height()
|
||||
|
||||
# Flow mode
|
||||
if text_mode == 'flow':
|
||||
page_height = -1
|
||||
|
||||
# TODO
|
||||
# See what's an appropriate value to pad the text with
|
||||
# profile_index = self.bookToolBar.profileBox.currentIndex()
|
||||
# current_profile = self.bookToolBar.profileBox.itemData(
|
||||
# profile_index, QtCore.Qt.UserRole)
|
||||
# padding = 20
|
||||
# Double page mode
|
||||
if text_mode == 'doublePage':
|
||||
page_width = page_width // 2 - 10
|
||||
|
||||
self.text_mode = text_mode
|
||||
|
||||
self.document().setPageSize(
|
||||
QtCore.QSizeF(page_width, page_height))
|
||||
|
||||
self.generate_page_positions()
|
||||
self.set_page(cursorTop)
|
||||
|
||||
def generate_page_positions(self):
|
||||
self.verticalScrollBar().setValue(0)
|
||||
|
||||
cursorEnd = QtGui.QTextCursor(self.document())
|
||||
cursorEnd.movePosition(QtGui.QTextCursor.End)
|
||||
|
||||
self.page_cursors = []
|
||||
|
||||
while True:
|
||||
cursorTopLeft = self.cursorForPosition(
|
||||
self.viewport().rect().topLeft())
|
||||
cursorBottomLeft = self.cursorForPosition(
|
||||
self.viewport().rect().bottomLeft())
|
||||
cursorBottomRight = self.cursorForPosition(
|
||||
self.viewport().rect().bottomRight())
|
||||
|
||||
self.page_cursors.append(
|
||||
(cursorTopLeft.position(), cursorBottomRight.position()))
|
||||
|
||||
self.move_to_cursor(cursorBottomRight)
|
||||
|
||||
# TODO
|
||||
# See if this requires a failsafe per number of iterations
|
||||
if cursorEnd.position() == cursorBottomRight.position():
|
||||
break
|
||||
|
||||
def set_page(self, originalCursor):
|
||||
required_position = originalCursor.position()
|
||||
|
||||
if self.text_mode == 'flow':
|
||||
page_start = required_position
|
||||
|
||||
if self.text_mode == 'singlePage':
|
||||
for count, i in enumerate(self.page_cursors):
|
||||
if i[0] <= required_position < i[1]:
|
||||
page_start = i[0]
|
||||
self.page_number = count
|
||||
break
|
||||
|
||||
cursorGoTo = QtGui.QTextCursor(self.document())
|
||||
cursorGoTo.setPosition(page_start)
|
||||
self.move_to_cursor(cursorGoTo)
|
||||
|
||||
def turn_page(self, direction):
|
||||
self.page_number += direction
|
||||
|
||||
if self.page_number in (-1, self.document().pageCount()):
|
||||
self.page_number = 0
|
||||
self.common_functions.change_chapter(direction)
|
||||
self.create_pages()
|
||||
else:
|
||||
try:
|
||||
page_start = self.page_cursors[self.page_number][0]
|
||||
cursorGoTo = QtGui.QTextCursor(self.document())
|
||||
cursorGoTo.setPosition(page_start)
|
||||
self.move_to_cursor(cursorGoTo)
|
||||
self.set_top_line_cleanly()
|
||||
except IndexError:
|
||||
pass
|
||||
|
||||
def record_position(self, return_as_bookmark=False):
|
||||
self.parent.metadata['position']['is_read'] = False
|
||||
@@ -562,8 +757,26 @@ class PliantQTextBrowser(QtWidgets.QTextBrowser):
|
||||
searchWikipediaAction = searchYoutubeAction = 'Does anyone know something funny in Latin?'
|
||||
searchAction = searchGoogleAction = bookmarksToggleAction = 'TODO Insert Latin Joke'
|
||||
deleteAnnotationAction = editAnnotationNoteAction = 'Latin quote 2. Electric Boogaloo.'
|
||||
flowModeAction = singlePageAction = doublePageAction = 'We know the rules, you and I'
|
||||
annotationActions = []
|
||||
|
||||
view_submenu_string = self._translate('PliantQTextBrowser', 'View')
|
||||
viewSubMenu = contextMenu.addMenu(view_submenu_string)
|
||||
viewSubMenu.setIcon(
|
||||
self.main_window.QImageFactory.get_image('mail-thread-watch'))
|
||||
|
||||
flowModeAction = viewSubMenu.addAction(
|
||||
self.main_window.QImageFactory.get_image('page-flow'),
|
||||
self._translate('PliantQTextBrowser', 'Flow text'))
|
||||
|
||||
singlePageAction = viewSubMenu.addAction(
|
||||
self.main_window.QImageFactory.get_image('page-single'),
|
||||
self._translate('PliantQTextBrowser', 'Single page'))
|
||||
|
||||
doublePageAction = viewSubMenu.addAction(
|
||||
self.main_window.QImageFactory.get_image('page-double'),
|
||||
self._translate('PliantQTextBrowser', 'Double page'))
|
||||
|
||||
if self.parent.is_fullscreen:
|
||||
fsToggleAction = contextMenu.addAction(
|
||||
self.main_window.QImageFactory.get_image('view-fullscreen'),
|
||||
@@ -654,6 +867,15 @@ class PliantQTextBrowser(QtWidgets.QTextBrowser):
|
||||
|
||||
action = contextMenu.exec_(self.sender().mapToGlobal(position))
|
||||
|
||||
if action == flowModeAction:
|
||||
self.create_pages('flow')
|
||||
|
||||
if action == singlePageAction:
|
||||
self.create_pages('singlePage')
|
||||
|
||||
if action == doublePageAction:
|
||||
self.create_pages('doublePages')
|
||||
|
||||
if action == addBookMarkAction:
|
||||
self.parent.sideDock.bookmarks.add_bookmark(cursor_at_mouse.position())
|
||||
|
||||
@@ -697,12 +919,27 @@ class PliantQTextBrowser(QtWidgets.QTextBrowser):
|
||||
self.main_window.closeEvent()
|
||||
|
||||
def mouseMoveEvent(self, event):
|
||||
if self.annotation_mode:
|
||||
self.viewport().setCursor(QtCore.Qt.IBeamCursor)
|
||||
else:
|
||||
self.viewport().setCursor(QtCore.Qt.ArrowCursor)
|
||||
self.parent.mouse_hide_timer.start(2000)
|
||||
# Compare mouse positions
|
||||
# This allows to filter out scrolling
|
||||
# from a normal mouseEvent
|
||||
|
||||
QtWidgets.QTextBrowser.mouseMoveEvent(self, event)
|
||||
if not self.mousePosition:
|
||||
self.mousePosition = event.pos()
|
||||
return
|
||||
|
||||
current_position = event.pos()
|
||||
if current_position == self.mousePosition or self.parent.sideDock.isVisible():
|
||||
return
|
||||
else:
|
||||
self.mousePosition = event.pos()
|
||||
|
||||
self.parent.navBar.show()
|
||||
if self.annotation_mode:
|
||||
self.viewport().setCursor(QtCore.Qt.IBeamCursor)
|
||||
else:
|
||||
self.viewport().setCursor(QtCore.Qt.ArrowCursor)
|
||||
self.parent.mouseHideTimer.start(2000)
|
||||
|
||||
|
||||
class PliantWidgetsCommonFunctions:
|
||||
@@ -723,6 +960,8 @@ class PliantWidgetsCommonFunctions:
|
||||
self.pw.ignore_wheel_event_number = 0
|
||||
return
|
||||
|
||||
# TODO
|
||||
# This can probably be cleaned up
|
||||
if self.are_we_doing_images_only:
|
||||
QtWidgets.QGraphicsView.wheelEvent(self.pw, event)
|
||||
else:
|
||||
|
@@ -51,6 +51,12 @@ class PliantDockWidget(QtWidgets.QDockWidget):
|
||||
# Except this one
|
||||
self.sideDockTabWidget = None
|
||||
|
||||
# Animate appearance
|
||||
self.animation = QtCore.QPropertyAnimation(self, b'windowOpacity')
|
||||
self.animation.setStartValue(0)
|
||||
self.animation.setEndValue(1)
|
||||
self.animation.setDuration(200)
|
||||
|
||||
def showEvent(self, event=None):
|
||||
viewport_topRight = self.contentView.mapToGlobal(
|
||||
self.contentView.viewport().rect().topRight())
|
||||
@@ -66,9 +72,11 @@ class PliantDockWidget(QtWidgets.QDockWidget):
|
||||
else:
|
||||
dock_width = desktop_size.width() // 5
|
||||
dock_x = viewport_topRight.x() - dock_width + 1
|
||||
self.parent.navBar.hide()
|
||||
|
||||
self.main_window.active_docks.append(self)
|
||||
self.setGeometry(dock_x, dock_y, dock_width, dock_height)
|
||||
self.animation.start()
|
||||
|
||||
def hideEvent(self, event=None):
|
||||
if self.notes_only:
|
||||
@@ -518,3 +526,136 @@ class PliantLabelWidget(QtWidgets.QLabel):
|
||||
def mousePressEvent(self, QMouseEvent):
|
||||
self.navigate_to_search_result(self.index)
|
||||
QtWidgets.QLabel.mousePressEvent(self, QMouseEvent)
|
||||
|
||||
|
||||
class PliantNavBarWidget(QtWidgets.QDockWidget):
|
||||
def __init__(self, main_window, contentView, parent):
|
||||
super(PliantNavBarWidget, self).__init__(parent)
|
||||
self.main_window = main_window
|
||||
self.contentView = contentView
|
||||
self.parent = parent
|
||||
|
||||
self.setWindowTitle('Navigation')
|
||||
|
||||
# Animate appearance
|
||||
self.animation = QtCore.QPropertyAnimation(self, b'windowOpacity')
|
||||
self.animation.setDuration(200)
|
||||
self.animation.setStartValue(0)
|
||||
self.animation.setEndValue(.8)
|
||||
|
||||
background = self.main_window.settings['dialog_background']
|
||||
self.setStyleSheet(
|
||||
"QDockWidget {{background-color: {0}}}".format(background.name()))
|
||||
|
||||
self.backButton = QtWidgets.QPushButton()
|
||||
self.backButton.setFlat(True)
|
||||
icon = QtGui.QIcon()
|
||||
icon.addPixmap(
|
||||
QtGui.QPixmap(":/images/previous.png"),
|
||||
QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||
self.backButton.setIcon(icon)
|
||||
self.backButton.setIconSize(QtCore.QSize(24, 24))
|
||||
|
||||
self.nextButton = QtWidgets.QPushButton()
|
||||
self.nextButton.setFlat(True)
|
||||
icon = QtGui.QIcon()
|
||||
icon.addPixmap(
|
||||
QtGui.QPixmap(":/images/next.png"),
|
||||
QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||
self.nextButton.setIcon(icon)
|
||||
self.nextButton.setIconSize(QtCore.QSize(24, 24))
|
||||
|
||||
self.backButton.clicked.connect(lambda: self.button_click(-1))
|
||||
self.nextButton.clicked.connect(lambda: self.button_click(1))
|
||||
|
||||
self.tocComboBox = FixedComboBox(self)
|
||||
self.populate_combo_box()
|
||||
|
||||
self.navLayout = QtWidgets.QHBoxLayout()
|
||||
self.navLayout.addWidget(self.backButton)
|
||||
self.navLayout.addWidget(self.tocComboBox)
|
||||
self.navLayout.addWidget(self.nextButton)
|
||||
self.navWidget = QtWidgets.QWidget()
|
||||
self.navWidget.setLayout(self.navLayout)
|
||||
|
||||
self.setWidget(self.navWidget)
|
||||
|
||||
def showEvent(self, event=None):
|
||||
# TODO
|
||||
# See what happens when the size of the viewport is smaller
|
||||
# than the size of the dock
|
||||
|
||||
viewport_bottomRight = self.contentView.mapToGlobal(
|
||||
self.contentView.viewport().rect().bottomRight())
|
||||
|
||||
# Dock dimensions
|
||||
desktop_size = QtWidgets.QDesktopWidget().screenGeometry()
|
||||
dock_width = desktop_size.width() // 4.5
|
||||
dock_height = 30
|
||||
|
||||
dock_x = viewport_bottomRight.x() - dock_width - 30
|
||||
dock_y = viewport_bottomRight.y() - 70
|
||||
|
||||
self.main_window.active_docks.append(self)
|
||||
self.setGeometry(dock_x, dock_y, dock_width, dock_height)
|
||||
|
||||
# Rounded
|
||||
radius = 20
|
||||
path = QtGui.QPainterPath()
|
||||
path.addRoundedRect(QtCore.QRectF(self.rect()), radius, radius)
|
||||
try:
|
||||
mask = QtGui.QRegion(path.toFillPolygon().toPolygon())
|
||||
self.setMask(mask)
|
||||
except TypeError: # Required for older versions of Qt
|
||||
pass
|
||||
|
||||
self.animation.start()
|
||||
|
||||
def populate_combo_box(self):
|
||||
def set_toc_position(tocTree):
|
||||
currentIndex = tocTree.currentIndex()
|
||||
required_position = currentIndex.data(QtCore.Qt.UserRole)
|
||||
self.return_focus()
|
||||
self.parent.set_content(required_position, True, True)
|
||||
|
||||
# Create the Combobox / Treeview combination
|
||||
tocTree = QtWidgets.QTreeView()
|
||||
self.tocComboBox.setView(tocTree)
|
||||
self.tocComboBox.setModel(self.parent.tocModel)
|
||||
tocTree.setRootIsDecorated(False)
|
||||
tocTree.setItemsExpandable(False)
|
||||
tocTree.expandAll()
|
||||
|
||||
# Set the position of the QComboBox
|
||||
self.parent.set_tocBox_index(None, self.tocComboBox)
|
||||
|
||||
# Make clicking do something
|
||||
self.tocComboBox.currentIndexChanged.connect(
|
||||
lambda: set_toc_position(tocTree))
|
||||
|
||||
def button_click(self, change):
|
||||
self.contentView.common_functions.change_chapter(change)
|
||||
self.return_focus()
|
||||
|
||||
def return_focus(self):
|
||||
# The NavBar needs to be hidden after clicking
|
||||
self.parent.activateWindow()
|
||||
self.parent.contentView.setFocus()
|
||||
self.parent.mouseHideTimer.start()
|
||||
|
||||
|
||||
class FixedComboBox(QtWidgets.QComboBox):
|
||||
def __init__(self, parent=None):
|
||||
super(FixedComboBox, self).__init__(parent)
|
||||
screen_width = QtWidgets.QDesktopWidget().screenGeometry().width()
|
||||
self.adjusted_size = screen_width // 6
|
||||
|
||||
def sizeHint(self):
|
||||
return self.minimumSizeHint()
|
||||
|
||||
def minimumSizeHint(self):
|
||||
return QtCore.QSize(self.adjusted_size, 32)
|
||||
|
||||
def wheelEvent(self, QWheelEvent):
|
||||
# Disable mouse wheel scrolling in the ComboBox
|
||||
return
|
||||
|
@@ -131,7 +131,8 @@ class CoverLoadingAndCulling:
|
||||
img_pixmap.loadFromData(cover)
|
||||
else:
|
||||
img_pixmap.load(':/images/NotFound.png')
|
||||
img_pixmap = img_pixmap.scaled(420, 600, QtCore.Qt.IgnoreAspectRatio)
|
||||
img_pixmap = img_pixmap.scaled(
|
||||
420, 600, QtCore.Qt.IgnoreAspectRatio)
|
||||
item.setIcon(QtGui.QIcon(img_pixmap))
|
||||
item.setData(True, QtCore.Qt.UserRole + 8)
|
||||
|
||||
|
@@ -61,9 +61,13 @@ class Library:
|
||||
books = []
|
||||
current_qdatetime = QtCore.QDateTime().currentDateTime()
|
||||
for i in parsed_books.items():
|
||||
_tags = i[1]['tags']
|
||||
if _tags:
|
||||
_tags = ', '.join([j for j in _tags if j])
|
||||
try:
|
||||
_tags = i[1]['tags']
|
||||
if _tags:
|
||||
_tags = ', '.join([j for j in _tags if j])
|
||||
except: # Continuing seems more important than being correct
|
||||
_tags = []
|
||||
logger.warning('Tag generation error for: ' + i[1]['path'])
|
||||
|
||||
books.append([
|
||||
i[1]['title'], i[1]['author'], i[1]['year'], current_qdatetime,
|
||||
|
@@ -14,7 +14,7 @@
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
VERSION = '0.5.1'
|
||||
VERSION = '0.5.GittyGittyBangBang'
|
||||
|
||||
import os
|
||||
import logging
|
||||
|
98
lector/parsers/djvu.py
Normal file
@@ -0,0 +1,98 @@
|
||||
# This file is a part of Lector, a Qt based ebook reader
|
||||
# Copyright (C) 2017-2019 BasioMeusPuga
|
||||
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import os
|
||||
import collections
|
||||
|
||||
import djvu.decode
|
||||
from PyQt5 import QtGui
|
||||
|
||||
|
||||
class ParseDJVU:
|
||||
def __init__(self, filename, *args):
|
||||
self.book = None
|
||||
self.filename = filename
|
||||
|
||||
def read_book(self):
|
||||
self.book = djvu.decode.Context().new_document(
|
||||
djvu.decode.FileURI(self.filename))
|
||||
self.book.decoding_job.wait()
|
||||
|
||||
def generate_metadata(self):
|
||||
# TODO
|
||||
# What even is this?
|
||||
title = os.path.basename(self.filename)
|
||||
author = 'Unknown'
|
||||
year = 9999
|
||||
isbn = None
|
||||
tags = []
|
||||
|
||||
cover_page = self.book.pages[0]
|
||||
cover = render_djvu_page(cover_page, True)
|
||||
|
||||
Metadata = collections.namedtuple(
|
||||
'Metadata', ['title', 'author', 'year', 'isbn', 'tags', 'cover'])
|
||||
return Metadata(title, author, year, isbn, tags, cover)
|
||||
|
||||
def generate_content(self):
|
||||
# TODO
|
||||
# See if it's possible to generate a more involved ToC
|
||||
content = list(range(len(self.book.pages)))
|
||||
toc = [(1, f'Page {i + 1}', i + 1) for i in content]
|
||||
|
||||
# Return toc, content, images_only
|
||||
return toc, content, True
|
||||
|
||||
|
||||
def render_djvu_page(page, for_cover=False):
|
||||
# TODO
|
||||
# Figure out how to calculate image stride
|
||||
# and if it impacts row_alignment in the render
|
||||
# method below
|
||||
# bytes_per_line = 13200
|
||||
|
||||
djvu_pixel_format = djvu.decode.PixelFormatRgbMask(
|
||||
0xFF0000, 0xFF00, 0xFF, bpp=32)
|
||||
djvu_pixel_format.rows_top_to_bottom = 1
|
||||
djvu_pixel_format.y_top_to_bottom = 0
|
||||
|
||||
# ¯\_(ツ)_/¯
|
||||
mode = 0
|
||||
|
||||
page_job = page.decode(wait=True)
|
||||
width, height = page_job.size
|
||||
rect = (0, 0, width, height)
|
||||
output = page_job.render(
|
||||
mode, rect, rect, djvu_pixel_format)
|
||||
# row_alignment=bytes_per_line)
|
||||
|
||||
imageFormat = QtGui.QImage.Format_RGB32
|
||||
pageQImage = QtGui.QImage(output, width, height, imageFormat)
|
||||
|
||||
# Format conversion not only keeps the damn thing from
|
||||
# segfaulting when converting from QImage to QPixmap,
|
||||
# but it also allows for the double page mode to keep
|
||||
# working properly. We like format conversion.
|
||||
pageQImage = pageQImage.convertToFormat(
|
||||
QtGui.QImage.Format_ARGB32_Premultiplied)
|
||||
|
||||
if for_cover:
|
||||
return pageQImage
|
||||
|
||||
pixmap = QtGui.QPixmap()
|
||||
pixmap.convertFromImage(pageQImage)
|
||||
|
||||
return pixmap
|
54
lector/parsers/markdown.py
Normal file
@@ -0,0 +1,54 @@
|
||||
# This file is a part of Lector, a Qt based ebook reader
|
||||
# Copyright (C) 2017-2019 BasioMeusPuga
|
||||
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import os
|
||||
import logging
|
||||
import collections
|
||||
|
||||
import markdown
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class ParseMD:
|
||||
def __init__(self, filename, *args):
|
||||
self.book = None
|
||||
self.filename = filename
|
||||
|
||||
def read_book(self):
|
||||
self.book = None
|
||||
|
||||
def generate_metadata(self):
|
||||
title = os.path.basename(self.filename)
|
||||
author = 'Unknown'
|
||||
year = 9999
|
||||
isbn = None
|
||||
tags = []
|
||||
cover = None
|
||||
|
||||
Metadata = collections.namedtuple(
|
||||
'Metadata', ['title', 'author', 'year', 'isbn', 'tags', 'cover'])
|
||||
return Metadata(title, author, year, isbn, tags, cover)
|
||||
|
||||
def generate_content(self):
|
||||
with open(self.filename, 'r') as book:
|
||||
text = book.read()
|
||||
content = [markdown.markdown(text)]
|
||||
|
||||
toc = [(1, 'Markdown', 1)]
|
||||
|
||||
# Return toc, content, images_only
|
||||
return toc, content, False
|
55
lector/parsers/txt.py
Normal file
@@ -0,0 +1,55 @@
|
||||
# This file is a part of Lector, a Qt based ebook reader
|
||||
# Copyright (C) 2017-2019 BasioMeusPuga
|
||||
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import collections
|
||||
import os
|
||||
|
||||
import textile
|
||||
|
||||
|
||||
class ParseTXT:
|
||||
"""Parser for TXT files."""
|
||||
|
||||
def __init__(self, filename, *args):
|
||||
"""Initialize new instance of the TXT parser."""
|
||||
self.filename = filename
|
||||
|
||||
def read_book(self):
|
||||
"""Prepare the parser to read book."""
|
||||
pass
|
||||
|
||||
def generate_metadata(self):
|
||||
"""Generate metadata for the book."""
|
||||
title = os.path.basename(self.filename)
|
||||
author = 'Unknown'
|
||||
year = 9999
|
||||
isbn = None
|
||||
tags = []
|
||||
cover = None
|
||||
|
||||
Metadata = collections.namedtuple(
|
||||
'Metadata', ['title', 'author', 'year', 'isbn', 'tags', 'cover'])
|
||||
return Metadata(title, author, year, isbn, tags, cover)
|
||||
|
||||
def generate_content(self):
|
||||
"""Generate content of the book."""
|
||||
with open(self.filename, 'rt') as txt:
|
||||
text = txt.read()
|
||||
content = [textile.textile(text)]
|
||||
|
||||
toc = [(1, 'Text', 1)]
|
||||
|
||||
return toc, content, False
|
@@ -89,7 +89,7 @@ class EPUB:
|
||||
return i
|
||||
|
||||
# If the file isn't found
|
||||
logger.error(filename + ' not found in ' + self.book_filename)
|
||||
logger.warning(filename + ' not found in ' + self.book_filename)
|
||||
return False
|
||||
|
||||
def generate_toc(self):
|
||||
@@ -109,7 +109,7 @@ class EPUB:
|
||||
|
||||
if not toc_filename:
|
||||
if not toc_filename_alternative:
|
||||
logger.error('No ToC found for: ' + self.book_filename)
|
||||
logger.warning('No ToC found for: ' + self.book_filename)
|
||||
else:
|
||||
toc_filename = toc_filename_alternative
|
||||
|
||||
@@ -451,26 +451,28 @@ class EPUB:
|
||||
if i['@media-type'].split('/')[0] == 'image' and
|
||||
'cover' in i['@id']][0]
|
||||
book_cover = self.zip_file.read(self.find_file(cover_image))
|
||||
self.cover_image_name = os.path.splitext(
|
||||
os.path.basename(cover_image))[0]
|
||||
except:
|
||||
pass
|
||||
logger.warning('Cover not found in opf: ' + self.book_filename)
|
||||
|
||||
# Find book cover the hard way
|
||||
if not book_cover:
|
||||
biggest_image_size = 0
|
||||
biggest_image = None
|
||||
cover_image = None
|
||||
for j in self.zip_file.filelist:
|
||||
if os.path.splitext(j.filename)[1] in ['.jpg', '.jpeg', '.png', '.gif']:
|
||||
if j.file_size > biggest_image_size:
|
||||
biggest_image = j.filename
|
||||
cover_image = j.filename
|
||||
biggest_image_size = j.file_size
|
||||
|
||||
if biggest_image:
|
||||
if cover_image:
|
||||
book_cover = self.zip_file.read(
|
||||
self.find_file(biggest_image))
|
||||
self.find_file(cover_image))
|
||||
|
||||
if not book_cover:
|
||||
self.cover_image_name = ''
|
||||
logger.warning('Cover not found: ' + self.book_filename)
|
||||
else:
|
||||
self.cover_image_name = os.path.splitext(
|
||||
os.path.basename(cover_image))[0]
|
||||
|
||||
return book_cover
|
||||
|
@@ -1,8 +1,62 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 22 22">
|
||||
<defs>
|
||||
<style id="current-color-scheme" type="text/css">
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="22"
|
||||
height="22"
|
||||
viewBox="0 0 22 22"
|
||||
version="1.1"
|
||||
id="svg7"
|
||||
sodipodi:docname="invert.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata11">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="855"
|
||||
inkscape:window-height="480"
|
||||
id="namedview9"
|
||||
showgrid="false"
|
||||
inkscape:zoom="10.727273"
|
||||
inkscape:cx="11"
|
||||
inkscape:cy="11"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg7" />
|
||||
<defs
|
||||
id="defs3">
|
||||
<style
|
||||
id="current-color-scheme"
|
||||
type="text/css">
|
||||
.ColorScheme-Text { color:#444444; } .ColorScheme-Highlight { color:#5294e2; }
|
||||
</style>
|
||||
</defs>
|
||||
<path style="fill:currentColor" class="ColorScheme-Text" d="M 2 1 L 2 15 L 9 15 L 9 13 A 5 5 0 0 1 4 8 A 5 5 0 0 1 9 3 L 9 1 L 2 1 z M 9 3 L 9 13 C 11.7614 13 14 10.7614 14 8 C 14 5.2386 11.7614 3 9 3 z" transform="translate(3 3)"/>
|
||||
</defs>
|
||||
<path
|
||||
style="fill:#5c616c;fill-opacity:1"
|
||||
class="ColorScheme-Text"
|
||||
d="M 2 1 L 2 15 L 9 15 L 9 13 A 5 5 0 0 1 4 8 A 5 5 0 0 1 9 3 L 9 1 L 2 1 z M 9 3 L 9 13 C 11.7614 13 14 10.7614 14 8 C 14 5.2386 11.7614 3 9 3 z"
|
||||
transform="translate(3 3)"
|
||||
id="path5" />
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 487 B After Width: | Height: | Size: 1.8 KiB |
@@ -1,8 +1,62 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
|
||||
<defs>
|
||||
<style id="current-color-scheme" type="text/css">
|
||||
.ColorScheme-Text { color:#5c616c; } .ColorScheme-Highlight { color:#5294e2; }
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="22"
|
||||
height="22"
|
||||
viewBox="0 0 22 22"
|
||||
version="1.1"
|
||||
id="svg7"
|
||||
sodipodi:docname="page-double.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata11">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1043"
|
||||
id="namedview9"
|
||||
showgrid="false"
|
||||
inkscape:zoom="10.727273"
|
||||
inkscape:cx="11"
|
||||
inkscape:cy="11"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg7" />
|
||||
<defs
|
||||
id="defs3">
|
||||
<style
|
||||
id="current-color-scheme"
|
||||
type="text/css">
|
||||
.ColorScheme-Text { color:#444444; } .ColorScheme-Highlight { color:#4285f4; }
|
||||
</style>
|
||||
</defs>
|
||||
<path style="fill:currentColor" class="ColorScheme-Text" d="M 2 1 L 2 15 L 14 15 L 14 1 L 2 1 z M 4 3 L 12 3 L 12 13 L 4 13 L 4 3 z" transform="translate(4 4)"/>
|
||||
</defs>
|
||||
<path
|
||||
style="fill:#5c616c;fill-opacity:1"
|
||||
class="ColorScheme-Text"
|
||||
d="M 1 1 L 1 15 L 15 15 L 15 1 L 1 1 z M 3 3 L 7 3 L 7 13 L 3 13 L 3 3 z M 9 3 L 13 3 L 13 13 L 9 13 L 9 3 z"
|
||||
transform="translate(3 3)"
|
||||
id="path5" />
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 416 B After Width: | Height: | Size: 1.8 KiB |
74
lector/resources/raw/DarkIcons/page-flow.svg
Normal file
@@ -0,0 +1,74 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="22"
|
||||
height="22"
|
||||
viewBox="0 0 22 22"
|
||||
version="1.1"
|
||||
id="svg7"
|
||||
sodipodi:docname="page-flow.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata11">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1043"
|
||||
id="namedview9"
|
||||
showgrid="false"
|
||||
inkscape:zoom="15.170655"
|
||||
inkscape:cx="-1.2825494"
|
||||
inkscape:cy="5.330307"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg7" />
|
||||
<defs
|
||||
id="defs3">
|
||||
<style
|
||||
id="current-color-scheme"
|
||||
type="text/css">
|
||||
.ColorScheme-Text { color:#dfdfdf; } .ColorScheme-Highlight { color:#4285f4; }
|
||||
</style>
|
||||
</defs>
|
||||
<path
|
||||
style="fill:#5c616c;fill-opacity:1"
|
||||
class="ColorScheme-Text"
|
||||
d="M 2 1 L 2 15 L 14 15 L 14 1 L 2 1 z M 4 3 L 12 3 L 12 13 L 4 13 L 4 3 z"
|
||||
transform="translate(3 3)"
|
||||
id="path5" />
|
||||
<g
|
||||
transform="matrix(0.64844409,0,0,0.64844409,5.8379769,5.8670545)"
|
||||
id="g7"
|
||||
style="fill:#5c616c;fill-opacity:1">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
class="ColorScheme-Text"
|
||||
d="m 7,2 v 8 L 3.5,6.5 2,8 8,14 14,8 12.5,6.5 9,10 V 2 Z"
|
||||
style="color:#dfdfdf;fill:#5c616c;fill-opacity:1"
|
||||
id="path5-3" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.2 KiB |
8
lector/resources/raw/DarkIcons/page-single.svg
Normal file
@@ -0,0 +1,8 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
|
||||
<defs>
|
||||
<style id="current-color-scheme" type="text/css">
|
||||
.ColorScheme-Text { color:#5c616c; } .ColorScheme-Highlight { color:#5294e2; }
|
||||
</style>
|
||||
</defs>
|
||||
<path style="fill:currentColor" class="ColorScheme-Text" d="M 2 1 L 2 15 L 14 15 L 14 1 L 2 1 z M 4 3 L 12 3 L 12 13 L 4 13 L 4 3 z" transform="translate(4 4)"/>
|
||||
</svg>
|
After Width: | Height: | Size: 416 B |
62
lector/resources/raw/DarkIcons/rotate-left.svg
Normal file
@@ -0,0 +1,62 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="22"
|
||||
height="22"
|
||||
viewBox="0 0 22 22"
|
||||
version="1.1"
|
||||
id="svg7"
|
||||
sodipodi:docname="rotate-left.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata11">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="855"
|
||||
inkscape:window-height="480"
|
||||
id="namedview9"
|
||||
showgrid="false"
|
||||
inkscape:zoom="10.727273"
|
||||
inkscape:cx="11"
|
||||
inkscape:cy="11"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg7" />
|
||||
<defs
|
||||
id="defs3">
|
||||
<style
|
||||
id="current-color-scheme"
|
||||
type="text/css">
|
||||
.ColorScheme-Text { color:#444444; } .ColorScheme-Highlight { color:#4285f4; }
|
||||
</style>
|
||||
</defs>
|
||||
<path
|
||||
style="fill:#5c616c;fill-opacity:1"
|
||||
class="ColorScheme-Text"
|
||||
d="M 8.0292969 0.001953125 L 4.0292969 3.0019531 L 8.0292969 6.0019531 L 8.0292969 4.0019531 C 10.238397 4.0019531 12.029297 5.7928531 12.029297 8.0019531 C 12.029297 10.211053 10.238397 12.001953 8.0292969 12.001953 C 5.8201969 12.001953 4.0292969 10.211053 4.0292969 8.0019531 A 1 1 0 0 0 3.0292969 7.0019531 A 1 1 0 0 0 2.0292969 8.0019531 A 1 1 0 0 0 2.0351562 8.1015625 C 2.0889563 11.368762 4.7491969 14.001953 8.0292969 14.001953 C 11.342997 14.001953 14.029297 11.315653 14.029297 8.0019531 C 14.029297 4.6882531 11.342997 2.0019531 8.0292969 2.0019531 L 8.0292969 0.001953125 z"
|
||||
transform="translate(3 3)"
|
||||
id="path5" />
|
||||
</svg>
|
After Width: | Height: | Size: 2.3 KiB |
62
lector/resources/raw/DarkIcons/rotate-right.svg
Normal file
@@ -0,0 +1,62 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="22"
|
||||
height="22"
|
||||
viewBox="0 0 22 22"
|
||||
version="1.1"
|
||||
id="svg7"
|
||||
sodipodi:docname="rotate-right.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata11">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="855"
|
||||
inkscape:window-height="480"
|
||||
id="namedview9"
|
||||
showgrid="false"
|
||||
inkscape:zoom="10.727273"
|
||||
inkscape:cx="11"
|
||||
inkscape:cy="11"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg7" />
|
||||
<defs
|
||||
id="defs3">
|
||||
<style
|
||||
id="current-color-scheme"
|
||||
type="text/css">
|
||||
.ColorScheme-Text { color:#444444; } .ColorScheme-Highlight { color:#4285f4; }
|
||||
</style>
|
||||
</defs>
|
||||
<path
|
||||
style="fill:#5c616c;fill-opacity:1"
|
||||
class="ColorScheme-Text"
|
||||
d="M 7.9804688 0.001953125 L 7.9804688 2.0019531 C 4.6667688 2.0019531 1.9804688 4.6882531 1.9804688 8.0019531 C 1.9804688 11.315653 4.6667688 14.001953 7.9804688 14.001953 C 11.260569 14.001953 13.920809 11.368762 13.974609 8.1015625 A 1 1 0 0 0 13.980469 8.0019531 A 1 1 0 0 0 12.980469 7.0019531 A 1 1 0 0 0 11.980469 8.0019531 C 11.980469 10.211053 10.189569 12.001953 7.9804688 12.001953 C 5.7713688 12.001953 3.9804688 10.211053 3.9804688 8.0019531 C 3.9804688 5.7928531 5.7713688 4.0019531 7.9804688 4.0019531 L 7.9804688 6.0019531 L 11.980469 3.0019531 L 7.9804688 0.001953125 z"
|
||||
transform="translate(3 3)"
|
||||
id="path5" />
|
||||
</svg>
|
After Width: | Height: | Size: 2.3 KiB |
73
lector/resources/raw/LightIcons/page-flow.svg
Normal file
@@ -0,0 +1,73 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="22"
|
||||
height="22"
|
||||
viewBox="0 0 22 22"
|
||||
version="1.1"
|
||||
id="svg7"
|
||||
sodipodi:docname="page-flow.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata11">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1043"
|
||||
id="namedview9"
|
||||
showgrid="false"
|
||||
inkscape:zoom="15.170655"
|
||||
inkscape:cx="-1.2825494"
|
||||
inkscape:cy="5.330307"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg7" />
|
||||
<defs
|
||||
id="defs3">
|
||||
<style
|
||||
id="current-color-scheme"
|
||||
type="text/css">
|
||||
.ColorScheme-Text { color:#dfdfdf; } .ColorScheme-Highlight { color:#4285f4; }
|
||||
</style>
|
||||
</defs>
|
||||
<path
|
||||
style="fill:currentColor"
|
||||
class="ColorScheme-Text"
|
||||
d="M 2 1 L 2 15 L 14 15 L 14 1 L 2 1 z M 4 3 L 12 3 L 12 13 L 4 13 L 4 3 z"
|
||||
transform="translate(3 3)"
|
||||
id="path5" />
|
||||
<g
|
||||
transform="matrix(0.64844409,0,0,0.64844409,5.8379769,5.8670545)"
|
||||
id="g7">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
class="ColorScheme-Text"
|
||||
d="m 7,2 v 8 L 3.5,6.5 2,8 8,14 14,8 12.5,6.5 9,10 V 2 Z"
|
||||
style="color:#dfdfdf;fill:currentColor"
|
||||
id="path5-3" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.1 KiB |
8
lector/resources/raw/LightIcons/page-single.svg
Normal file
@@ -0,0 +1,8 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 22 22">
|
||||
<defs>
|
||||
<style id="current-color-scheme" type="text/css">
|
||||
.ColorScheme-Text { color:#dfdfdf; } .ColorScheme-Highlight { color:#4285f4; }
|
||||
</style>
|
||||
</defs>
|
||||
<path style="fill:currentColor" class="ColorScheme-Text" d="M 2 1 L 2 15 L 14 15 L 14 1 L 2 1 z M 4 3 L 12 3 L 12 13 L 4 13 L 4 3 z" transform="translate(3 3)"/>
|
||||
</svg>
|
After Width: | Height: | Size: 416 B |
8
lector/resources/raw/LightIcons/rotate-left.svg
Normal file
@@ -0,0 +1,8 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 22 22">
|
||||
<defs>
|
||||
<style id="current-color-scheme" type="text/css">
|
||||
.ColorScheme-Text { color:#dfdfdf; } .ColorScheme-Highlight { color:#4285f4; }
|
||||
</style>
|
||||
</defs>
|
||||
<path style="fill:currentColor" class="ColorScheme-Text" d="M 8.0292969 0.001953125 L 4.0292969 3.0019531 L 8.0292969 6.0019531 L 8.0292969 4.0019531 C 10.238397 4.0019531 12.029297 5.7928531 12.029297 8.0019531 C 12.029297 10.211053 10.238397 12.001953 8.0292969 12.001953 C 5.8201969 12.001953 4.0292969 10.211053 4.0292969 8.0019531 A 1 1 0 0 0 3.0292969 7.0019531 A 1 1 0 0 0 2.0292969 8.0019531 A 1 1 0 0 0 2.0351562 8.1015625 C 2.0889563 11.368762 4.7491969 14.001953 8.0292969 14.001953 C 11.342997 14.001953 14.029297 11.315653 14.029297 8.0019531 C 14.029297 4.6882531 11.342997 2.0019531 8.0292969 2.0019531 L 8.0292969 0.001953125 z" transform="translate(3 3)"/>
|
||||
</svg>
|
After Width: | Height: | Size: 928 B |
8
lector/resources/raw/LightIcons/rotate-right.svg
Normal file
@@ -0,0 +1,8 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 22 22">
|
||||
<defs>
|
||||
<style id="current-color-scheme" type="text/css">
|
||||
.ColorScheme-Text { color:#dfdfdf; } .ColorScheme-Highlight { color:#4285f4; }
|
||||
</style>
|
||||
</defs>
|
||||
<path style="fill:currentColor" class="ColorScheme-Text" d="M 7.9804688 0.001953125 L 7.9804688 2.0019531 C 4.6667688 2.0019531 1.9804688 4.6882531 1.9804688 8.0019531 C 1.9804688 11.315653 4.6667688 14.001953 7.9804688 14.001953 C 11.260569 14.001953 13.920809 11.368762 13.974609 8.1015625 A 1 1 0 0 0 13.980469 8.0019531 A 1 1 0 0 0 12.980469 7.0019531 A 1 1 0 0 0 11.980469 8.0019531 C 11.980469 10.211053 10.189569 12.001953 7.9804688 12.001953 C 5.7713688 12.001953 3.9804688 10.211053 3.9804688 8.0019531 C 3.9804688 5.7928531 5.7713688 4.0019531 7.9804688 4.0019531 L 7.9804688 6.0019531 L 11.980469 3.0019531 L 7.9804688 0.001953125 z" transform="translate(3 3)"/>
|
||||
</svg>
|
After Width: | Height: | Size: 928 B |
108
lector/resources/raw/io.github.BasioMeusPuga.Lector.metainfo.xml
Normal file
@@ -0,0 +1,108 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Copyright 2019 BasioMeusPuga <https://github.com/BasioMeusPuga> -->
|
||||
<!-- See <https://www.freedesktop.org/software/appstream/docs/chap-Quickstart.html> for an overview of the AppStream metainfo.xml spec. -->
|
||||
<component type="desktop-application">
|
||||
<id>io.github.BasioMeusPuga.Lector</id>
|
||||
<metadata_license>FSFAP</metadata_license>
|
||||
<project_license>GPL-3.0+</project_license>
|
||||
<name>Lector</name>
|
||||
<summary>Ebook reader and collection manager</summary>
|
||||
|
||||
<description>
|
||||
<p>
|
||||
Lector is an ebook reader and collection manager. It offers a
|
||||
full-screen distraction-free view, document highlighting and
|
||||
annotations, a built-in dictionary, bookmarks, and multiple profiles for
|
||||
changing the way the books are presented. Lector can also edit metadata,
|
||||
so you can correct information about the books, and add keywords to make
|
||||
them easier to find.
|
||||
</p>
|
||||
<p>
|
||||
It supports the following file formats:
|
||||
</p>
|
||||
<ul>
|
||||
<li>PDF</li>
|
||||
<li>EPUB</li>
|
||||
<li>DjVu</li>
|
||||
<li>FictionBook (.fb2)</li>
|
||||
<li>Mobipocket (.mobi)</li>
|
||||
<li>Amazon Kindle (.azw, .azw3, .azw4)</li>
|
||||
<li>Comic book archives (.cbr, .cbz)</li>
|
||||
<li>Markdown</li>
|
||||
</ul>
|
||||
</description>
|
||||
|
||||
<launchable type="desktop-id">io.github.BasioMeusPuga.Lector.desktop</launchable>
|
||||
|
||||
<screenshots>
|
||||
<screenshot type="default">
|
||||
<caption>Main window</caption>
|
||||
<image>https://camo.githubusercontent.com/9e2f7346616dfdb67a77c2e6b5db148d9b4669ca/68747470733a2f2f692e696d6775722e636f6d2f35313668526b532e706e67</image>
|
||||
</screenshot>
|
||||
|
||||
<screenshot>
|
||||
<caption>Table view</caption>
|
||||
<image>https://camo.githubusercontent.com/66cb4f09a81d164af50180eaa024f8e116c83815/68747470733a2f2f692e696d6775722e636f6d2f6f39416e3741522e706e67</image>
|
||||
</screenshot>
|
||||
|
||||
<screenshot>
|
||||
<caption>Book reading view, in optional Solarized display profile</caption>
|
||||
<image>https://camo.githubusercontent.com/1b60a0c27383715e59ccfd9d2585544d303e08d9/68747470733a2f2f692e696d6775722e636f6d2f495447363346632e706e67</image>
|
||||
</screenshot>
|
||||
|
||||
<screenshot>
|
||||
<caption>Distraction-free view</caption>
|
||||
<image>https://camo.githubusercontent.com/3289abadb668ad3e53b8ba779b52768b14b25bcf/68747470733a2f2f692e696d6775722e636f6d2f67384c747570792e706e67</image>
|
||||
</screenshot>
|
||||
|
||||
<screenshot>
|
||||
<caption>Annotation support</caption>
|
||||
<image>https://camo.githubusercontent.com/80e7423b488e59ed2c05e556b4918c25522edfd1/68747470733a2f2f692e696d6775722e636f6d2f674c4b323946342e706e67</image>
|
||||
</screenshot>
|
||||
|
||||
<screenshot>
|
||||
<caption>Comic reading view</caption>
|
||||
<image>https://camo.githubusercontent.com/81aaa963c6e9ed19a1605e2f2b017ce8c83ca656/68747470733a2f2f692e696d6775722e636f6d2f7276765451434d2e706e67</image>
|
||||
</screenshot>
|
||||
|
||||
<screenshot>
|
||||
<caption>Bookmark support</caption>
|
||||
<image>https://camo.githubusercontent.com/ebbaffedcbd4f743ba9d67e5eaab2108407832cd/68747470733a2f2f692e696d6775722e636f6d2f5937716f55386d2e706e67</image>
|
||||
</screenshot>
|
||||
|
||||
<screenshot>
|
||||
<caption>Customizable view profiles</caption>
|
||||
<image>https://camo.githubusercontent.com/0cea5e37e5c40abd4988544ba32b187db3cbe783/68747470733a2f2f692e696d6775722e636f6d2f6177453271324b2e706e67</image>
|
||||
</screenshot>
|
||||
|
||||
<screenshot>
|
||||
<caption>Metadata editor</caption>
|
||||
<image>https://camo.githubusercontent.com/15362fb47e79b2d50eef507133cee8de6c1baa5c/68747470733a2f2f692e696d6775722e636f6d2f304344704e4f382e706e67</image>
|
||||
</screenshot>
|
||||
|
||||
<screenshot>
|
||||
<caption>In-app dictionary</caption>
|
||||
<image>https://camo.githubusercontent.com/de3bfc5359db85da8ad94850d12fe563b5eefb87/68747470733a2f2f692e696d6775722e636f6d2f524637326d32682e706e67</image>
|
||||
</screenshot>
|
||||
|
||||
<screenshot>
|
||||
<caption>Settings window</caption>
|
||||
<image>https://camo.githubusercontent.com/9ef376164f311cf518b4825684e7d5cc9d1f538c/68747470733a2f2f692e696d6775722e636f6d2f6c367a4a5861482e706e67</image>
|
||||
</screenshot>
|
||||
</screenshots>
|
||||
|
||||
<url type="homepage">https://github.com/BasioMeusPuga/Lector</url>
|
||||
<url type="bugtracker">https://github.com/BasioMeusPuga/Lector/issues</url>
|
||||
|
||||
<provides>
|
||||
<binary>lector</binary>
|
||||
</provides>
|
||||
|
||||
<releases>
|
||||
<release version="0.5.1" date="2019-03-09">
|
||||
<description>
|
||||
<p>Sharper icons on hiDPI screens. More reliable dependency checks, and slight tweaks to the GUI.</p>
|
||||
</description>
|
||||
</release>
|
||||
</releases>
|
||||
</component>
|
BIN
lector/resources/raw/next.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
lector/resources/raw/previous.png
Normal file
After Width: | Height: | Size: 9.6 KiB |
@@ -1,5 +1,9 @@
|
||||
<RCC>
|
||||
<qresource prefix="images">
|
||||
<file>DarkIcons/rotate-left.svg</file>
|
||||
<file>DarkIcons/rotate-right.svg</file>
|
||||
<file>LightIcons/rotate-left.svg</file>
|
||||
<file>LightIcons/rotate-right.svg</file>
|
||||
<file>DarkIcons/invert.svg</file>
|
||||
<file>LightIcons/invert.svg</file>
|
||||
<file>DarkIcons/manga-mode.svg</file>
|
||||
@@ -10,7 +14,11 @@
|
||||
<file>LightIcons/search-word.svg</file>
|
||||
<file>LightIcons/search-case.svg</file>
|
||||
<file>DarkIcons/page-double.svg</file>
|
||||
<file>DarkIcons/page-single.svg</file>
|
||||
<file>DarkIcons/page-flow.svg</file>
|
||||
<file>LightIcons/page-double.svg</file>
|
||||
<file>LightIcons/page-single.svg</file>
|
||||
<file>LightIcons/page-flow.svg</file>
|
||||
<file>DarkIcons/about.svg</file>
|
||||
<file>DarkIcons/switches.svg</file>
|
||||
<file>LightIcons/about.svg</file>
|
||||
@@ -92,6 +100,8 @@
|
||||
<file>LightIcons/zoom-in.svg</file>
|
||||
<file>LightIcons/zoom-original.svg</file>
|
||||
<file>LightIcons/zoom-out.svg</file>
|
||||
<file>next.png</file>
|
||||
<file>previous.png</file>
|
||||
<file>QMPlay2.svg</file>
|
||||
<file>color.svg</file>
|
||||
<file>blank.png</file>
|
||||
@@ -101,9 +111,12 @@
|
||||
<file>error.svg</file>
|
||||
</qresource>
|
||||
<qresource prefix="translations">
|
||||
<file>translations_bin/Lector_cs.qm</file>
|
||||
<file>translations_bin/Lector_es.qm</file>
|
||||
<file>translations_bin/Lector_de.qm</file>
|
||||
<file>translations_bin/Lector_fr.qm</file>
|
||||
<file>translations_bin/Lector_ja.qm</file>
|
||||
<file>translations_bin/Lector_zh.qm</file>
|
||||
<file>translations_bin/Lector_pt.qm</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
@@ -70,6 +70,22 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Minimum</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSpinBox" name="readAtPercent">
|
||||
<property name="minimum">
|
||||
@@ -177,6 +193,13 @@
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_16">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="navBarVisible">
|
||||
<property name="text">
|
||||
<string>Show navigation bar</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="autoCover">
|
||||
<property name="toolTip">
|
||||
@@ -241,6 +264,22 @@ Reopen book to see changes</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_4">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Minimum</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSpinBox" name="smallIncrementBox">
|
||||
<property name="toolTip">
|
||||
@@ -267,6 +306,22 @@ Reopen book to see changes</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_5">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Minimum</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSpinBox" name="largeIncrementBox">
|
||||
<property name="toolTip">
|
||||
@@ -308,7 +363,30 @@ Reopen book to see changes</string>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="languageBox"/>
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Preferred</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="languageBox">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
@@ -327,6 +405,22 @@ Reopen book to see changes</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_6">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Minimum</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSlider" name="scrollSpeedSlider">
|
||||
<property name="sizePolicy">
|
||||
|
BIN
lector/resources/raw/translations_bin/Lector_cs.qm
Normal file
BIN
lector/resources/raw/translations_bin/Lector_ja.qm
Normal file
BIN
lector/resources/raw/translations_bin/Lector_pt.qm
Normal file
@@ -2,12 +2,13 @@
|
||||
|
||||
# Form implementation generated from reading ui file 'raw/settings.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.11.3
|
||||
# Created by: PyQt5 UI code generator 5.12
|
||||
#
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
||||
|
||||
class Ui_Dialog(object):
|
||||
def setupUi(self, Dialog):
|
||||
Dialog.setObjectName("Dialog")
|
||||
@@ -60,6 +61,8 @@ class Ui_Dialog(object):
|
||||
self.readAtLabel.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
|
||||
self.readAtLabel.setObjectName("readAtLabel")
|
||||
self.horizontalLayout_14.addWidget(self.readAtLabel)
|
||||
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
|
||||
self.horizontalLayout_14.addItem(spacerItem)
|
||||
self.readAtPercent = QtWidgets.QSpinBox(self.groupBox)
|
||||
self.readAtPercent.setMinimum(90)
|
||||
self.readAtPercent.setProperty("value", 95)
|
||||
@@ -108,6 +111,9 @@ class Ui_Dialog(object):
|
||||
self.verticalLayout_2.addLayout(self.horizontalLayout_9)
|
||||
self.horizontalLayout_16 = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout_16.setObjectName("horizontalLayout_16")
|
||||
self.navBarVisible = QtWidgets.QCheckBox(self.groupBox)
|
||||
self.navBarVisible.setObjectName("navBarVisible")
|
||||
self.horizontalLayout_16.addWidget(self.navBarVisible)
|
||||
self.autoCover = QtWidgets.QCheckBox(self.groupBox)
|
||||
self.autoCover.setObjectName("autoCover")
|
||||
self.horizontalLayout_16.addWidget(self.autoCover)
|
||||
@@ -136,6 +142,8 @@ class Ui_Dialog(object):
|
||||
self.smallIncrementLabel = QtWidgets.QLabel(self.groupBox_2)
|
||||
self.smallIncrementLabel.setObjectName("smallIncrementLabel")
|
||||
self.horizontalLayout_15.addWidget(self.smallIncrementLabel)
|
||||
spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
|
||||
self.horizontalLayout_15.addItem(spacerItem1)
|
||||
self.smallIncrementBox = QtWidgets.QSpinBox(self.groupBox_2)
|
||||
self.smallIncrementBox.setMinimum(4)
|
||||
self.smallIncrementBox.setMaximum(10)
|
||||
@@ -145,6 +153,8 @@ class Ui_Dialog(object):
|
||||
self.largeIncrementLabel = QtWidgets.QLabel(self.groupBox_2)
|
||||
self.largeIncrementLabel.setObjectName("largeIncrementLabel")
|
||||
self.horizontalLayout_15.addWidget(self.largeIncrementLabel)
|
||||
spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
|
||||
self.horizontalLayout_15.addItem(spacerItem2)
|
||||
self.largeIncrementBox = QtWidgets.QSpinBox(self.groupBox_2)
|
||||
self.largeIncrementBox.setMinimum(1)
|
||||
self.largeIncrementBox.setMaximum(10)
|
||||
@@ -166,7 +176,14 @@ class Ui_Dialog(object):
|
||||
self.languageLabel.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
|
||||
self.languageLabel.setObjectName("languageLabel")
|
||||
self.horizontalLayout_5.addWidget(self.languageLabel)
|
||||
spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum)
|
||||
self.horizontalLayout_5.addItem(spacerItem3)
|
||||
self.languageBox = QtWidgets.QComboBox(self.groupBox_2)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.languageBox.sizePolicy().hasHeightForWidth())
|
||||
self.languageBox.setSizePolicy(sizePolicy)
|
||||
self.languageBox.setObjectName("languageBox")
|
||||
self.horizontalLayout_5.addWidget(self.languageBox)
|
||||
self.horizontalLayout_8.addLayout(self.horizontalLayout_5)
|
||||
@@ -180,6 +197,8 @@ class Ui_Dialog(object):
|
||||
self.scrollSpeedLabel.setSizePolicy(sizePolicy)
|
||||
self.scrollSpeedLabel.setObjectName("scrollSpeedLabel")
|
||||
self.horizontalLayout.addWidget(self.scrollSpeedLabel)
|
||||
spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
|
||||
self.horizontalLayout.addItem(spacerItem4)
|
||||
self.scrollSpeedSlider = QtWidgets.QSlider(self.groupBox_2)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
@@ -196,8 +215,8 @@ class Ui_Dialog(object):
|
||||
self.gridLayout_3.addLayout(self.verticalLayout_3, 2, 0, 1, 1)
|
||||
self.verticalLayout.addWidget(self.groupBox_2)
|
||||
self.gridLayout_2.addLayout(self.verticalLayout, 0, 0, 1, 1)
|
||||
spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||
self.gridLayout_2.addItem(spacerItem, 1, 0, 1, 1)
|
||||
spacerItem5 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||
self.gridLayout_2.addItem(spacerItem5, 1, 0, 1, 1)
|
||||
self.stackedWidget.addWidget(self.switchPage)
|
||||
self.annotationsPage = QtWidgets.QWidget()
|
||||
self.annotationsPage.setObjectName("annotationsPage")
|
||||
@@ -215,8 +234,8 @@ class Ui_Dialog(object):
|
||||
self.horizontalLayout_11.setObjectName("horizontalLayout_11")
|
||||
self.verticalLayout_6 = QtWidgets.QVBoxLayout()
|
||||
self.verticalLayout_6.setObjectName("verticalLayout_6")
|
||||
spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||
self.verticalLayout_6.addItem(spacerItem1)
|
||||
spacerItem6 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||
self.verticalLayout_6.addItem(spacerItem6)
|
||||
self.newAnnotation = QtWidgets.QPushButton(self.textTab)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
@@ -272,8 +291,8 @@ class Ui_Dialog(object):
|
||||
self.moveDown.setText("")
|
||||
self.moveDown.setObjectName("moveDown")
|
||||
self.verticalLayout_6.addWidget(self.moveDown)
|
||||
spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||
self.verticalLayout_6.addItem(spacerItem2)
|
||||
spacerItem7 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||
self.verticalLayout_6.addItem(spacerItem7)
|
||||
self.horizontalLayout_11.addLayout(self.verticalLayout_6)
|
||||
self.annotationsList = QtWidgets.QListView(self.textTab)
|
||||
self.annotationsList.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
|
||||
@@ -337,8 +356,8 @@ class Ui_Dialog(object):
|
||||
self.clearLogButton = QtWidgets.QPushButton(Dialog)
|
||||
self.clearLogButton.setObjectName("clearLogButton")
|
||||
self.horizontalLayout_10.addWidget(self.clearLogButton)
|
||||
spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||
self.horizontalLayout_10.addItem(spacerItem3)
|
||||
spacerItem8 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||
self.horizontalLayout_10.addItem(spacerItem8)
|
||||
self.okButton = QtWidgets.QPushButton(Dialog)
|
||||
self.okButton.setObjectName("okButton")
|
||||
self.horizontalLayout_10.addWidget(self.okButton)
|
||||
@@ -371,6 +390,7 @@ class Ui_Dialog(object):
|
||||
self.performCulling.setText(_translate("Dialog", "Load covers only when needed"))
|
||||
self.autoTags.setText(_translate("Dialog", "Generate tags from files"))
|
||||
self.attenuateTitles.setText(_translate("Dialog", "Shrink long book titles"))
|
||||
self.navBarVisible.setText(_translate("Dialog", "Show navigation bar"))
|
||||
self.autoCover.setToolTip(_translate("Dialog", "<html><head/><body><p>Attempt to download missing book covers from Google books - SLOW</p></body></html>"))
|
||||
self.autoCover.setText(_translate("Dialog", "Download missing covers"))
|
||||
self.groupBox_2.setTitle(_translate("Dialog", "Reading"))
|
||||
@@ -401,4 +421,5 @@ class Ui_Dialog(object):
|
||||
self.okButton.setText(_translate("Dialog", "Scan Library"))
|
||||
self.cancelButton.setText(_translate("Dialog", "Close"))
|
||||
|
||||
|
||||
from lector.widgets import SaysHelloWhenClicked
|
||||
|
976
lector/resources/translations/Lector_cs.ts
Normal file
@@ -0,0 +1,976 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS><TS version="2.0" language="cs" sourcelanguage="">
|
||||
<context>
|
||||
<name>AnnotationsUI</name>
|
||||
<message>
|
||||
<location filename="../../annotations.py" line="39"/>
|
||||
<source>Text markup</source>
|
||||
<translation>Značení textu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../annotations.py" line="126"/>
|
||||
<source>New annotation</source>
|
||||
<translation>Nová vysvětlivka</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BookToolBar</name>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="43"/>
|
||||
<source>View settings</source>
|
||||
<translation>Zobrazit nastavení</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="251"/>
|
||||
<source>Zoom Out (-)</source>
|
||||
<translation>Oddálit (-)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="269"/>
|
||||
<source>Original size (O)</source>
|
||||
<translation>Původní velikost (O)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="59"/>
|
||||
<source>Search (Ctrl + F)</source>
|
||||
<translation>Hledat (Ctrl+F)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="122"/>
|
||||
<source>Left align text</source>
|
||||
<translation>Zarovnat text vlevo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="136"/>
|
||||
<source>Center align text</source>
|
||||
<translation>Zarovnat text na střed</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="51"/>
|
||||
<source>Add bookmark</source>
|
||||
<translation>Přidat záložku</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="319"/>
|
||||
<source>Table of Contents</source>
|
||||
<translation>Obsah</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="129"/>
|
||||
<source>Right align text</source>
|
||||
<translation>Zarovnat text vpravo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="216"/>
|
||||
<source>Double page mode (D)</source>
|
||||
<translation>Režim dvou stran (D)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="96"/>
|
||||
<source>Font size</source>
|
||||
<translation>Velikost písma</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="230"/>
|
||||
<source>Invert page colors</source>
|
||||
<translation>Obrátit barvy strany</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="246"/>
|
||||
<source>Zoom in (+)</source>
|
||||
<translation>Přiblížit (+)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="257"/>
|
||||
<source>Fit Width (W)</source>
|
||||
<translation>Přizpůsobit šířku (W)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="277"/>
|
||||
<source>Background color</source>
|
||||
<translation>Barva pozadí</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="67"/>
|
||||
<source>Fullscreen (F)</source>
|
||||
<translation>Celá obrazovka (F)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="111"/>
|
||||
<source>Increase line spacing</source>
|
||||
<translation>Zvětšit odstup řádku</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="116"/>
|
||||
<source>Decrease line spacing</source>
|
||||
<translation>Zmenšit odstup řádku</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="143"/>
|
||||
<source>Justify text</source>
|
||||
<translation>Zarovnat text do bloku</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="263"/>
|
||||
<source>Best Fit (B)</source>
|
||||
<translation>Nejlepší umístění (B)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="241"/>
|
||||
<source>Rotate image anti-clockwise</source>
|
||||
<translation>Otočit obrázek proti směru hodinových ručiček</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="237"/>
|
||||
<source>Rotate image clockwise</source>
|
||||
<translation>Otočit obrázek po směru hodinových ručiček</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="47"/>
|
||||
<source>Annotations (Ctrl + N)</source>
|
||||
<translation>Vysvětlivky (Ctrl+N)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="55"/>
|
||||
<source>Bookmarks (Ctrl + B)</source>
|
||||
<translation>Záložky (Ctrl+B)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="223"/>
|
||||
<source>Manga mode (M)</source>
|
||||
<translation>Režim manga (M)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="105"/>
|
||||
<source>Decrease padding</source>
|
||||
<translation>Zmenšit odstup</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="100"/>
|
||||
<source>Increase padding</source>
|
||||
<translation>Zvětšit odstup</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="71"/>
|
||||
<source>Reset profile</source>
|
||||
<translation>Obnovit výchozí profil</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DefinitionsUI</name>
|
||||
<message>
|
||||
<location filename="../../definitionsdialog.py" line="143"/>
|
||||
<source>No definitions found in</source>
|
||||
<translation>Žádná vymezení nenalezena v</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Dialog</name>
|
||||
<message>
|
||||
<location filename="../metadata.py" line="98"/>
|
||||
<source>OK</source>
|
||||
<translation>OK</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="418"/>
|
||||
<source>Log</source>
|
||||
<translation>Záznam</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="410"/>
|
||||
<source>New</source>
|
||||
<translation>Nový</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="412"/>
|
||||
<source>Edit</source>
|
||||
<translation>Upravit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../metadata.py" line="97"/>
|
||||
<source>Tags</source>
|
||||
<translation>Značky</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="415"/>
|
||||
<source>Text</source>
|
||||
<translation>Text</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../metadata.py" line="95"/>
|
||||
<source>Year</source>
|
||||
<translation>Rok</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="389"/>
|
||||
<source>Enabling reduces startup time and memory usage</source>
|
||||
<translation>Povolení zmenší čas potřebný ke spuštění a využití paměti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="383"/>
|
||||
<source>&Dark</source>
|
||||
<translation>&Tmavý</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="417"/>
|
||||
<source>About</source>
|
||||
<translation>O programu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="422"/>
|
||||
<source>Close</source>
|
||||
<translation>Zavřít</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="416"/>
|
||||
<source>Image</source>
|
||||
<translation>Obrázek</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../metadata.py" line="91"/>
|
||||
<source>Title</source>
|
||||
<translation>Název</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="397"/>
|
||||
<source>Horizontal scrolling with Alt + Scroll
|
||||
Reopen book to see changes</source>
|
||||
<translation>Vodorovné posunování pomocí Alt+posun
|
||||
Otevřít knihu znovu pro zobrazení změn</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="406"/>
|
||||
<source>Large increment</source>
|
||||
<translation>Velký přírůstek</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="403"/>
|
||||
<source>Small increment</source>
|
||||
<translation>Malý přírůstek</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="378"/>
|
||||
<source>Library</source>
|
||||
<translation>Knihovna</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="390"/>
|
||||
<source>Load covers only when needed</source>
|
||||
<translation>Nahrát obaly, jen když je to potřeba</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="388"/>
|
||||
<source>Cover shadows</source>
|
||||
<translation>Stíny obalů</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../metadata.py" line="89"/>
|
||||
<source>Cover (click to change)</source>
|
||||
<translation>Obal knihy (klepnout pro jeho změnu)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="413"/>
|
||||
<source>Move Up</source>
|
||||
<translation>Posunout nahoru</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../metadata.py" line="93"/>
|
||||
<source>Author</source>
|
||||
<translation>Autor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../metadata.py" line="99"/>
|
||||
<source>Cancel</source>
|
||||
<translation>Zrušit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="411"/>
|
||||
<source>Delete</source>
|
||||
<translation>Smazat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../definitions.py" line="65"/>
|
||||
<source>Dialog</source>
|
||||
<translation>Dialog</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="387"/>
|
||||
<source>Remember open files</source>
|
||||
<translation>Zapamatovat si otevřené soubory</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="385"/>
|
||||
<source>L&ight</source>
|
||||
<translation>&Světlý</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="395"/>
|
||||
<source>Download missing covers</source>
|
||||
<translation>Stáhnout chybějící obaly</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="386"/>
|
||||
<source>Startup: Refresh library</source>
|
||||
<translation>Začátek: Nahrát knihovnu znovu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../metadata.py" line="88"/>
|
||||
<source>Edit metadata</source>
|
||||
<translation>Upravit popisné údaje</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="421"/>
|
||||
<source>Scan Library</source>
|
||||
<translation>Prohledat knihovnu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="396"/>
|
||||
<source>Reading</source>
|
||||
<translation>Čtení</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="404"/>
|
||||
<source><html><head/><body><p>UP/DOWN ARROW - Steps to take before turning comicbook page</p></body></html></source>
|
||||
<translation><html><head/><body><p>ŠIPKA NAHORU/DOLŮ - Počet kroků před obrácením strany kresleného příběhu</p></body></html></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="399"/>
|
||||
<source>Hide scrollbars when reading</source>
|
||||
<translation>Při čtení skrýt posuvníky</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="419"/>
|
||||
<source>Reset Application</source>
|
||||
<translation>Nastavit výchozí stav programu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="379"/>
|
||||
<source>Consider book read at percent</source>
|
||||
<translation>Považovat knihu přečtenu při procentu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="394"/>
|
||||
<source><html><head/><body><p>Attempt to download missing book covers from Google books - SLOW</p></body></html></source>
|
||||
<translation><html><head/><body><p>Pokus o stažení chybějících obalů z Knih Google - POMALÝ</p></body></html></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="408"/>
|
||||
<source>Dictionary language</source>
|
||||
<translation>Jazyk slovníku</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="401"/>
|
||||
<source>Cache comic / pdf pages</source>
|
||||
<translation>Vyrovnávací paměť pro kreslené příběhy/strany PDF</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="392"/>
|
||||
<source>Shrink long book titles</source>
|
||||
<translation>Zmenšit dlouhé názvy knih</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="420"/>
|
||||
<source>Clear Log</source>
|
||||
<translation>Smazat záznam</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="409"/>
|
||||
<source>Scroll speed</source>
|
||||
<translation>Rychlost posunu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../definitions.py" line="67"/>
|
||||
<source>Play pronunciation of root word</source>
|
||||
<translation>Přehrát výslovnost kořenového slova</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="414"/>
|
||||
<source>Move Down</source>
|
||||
<translation>Posunout dolů</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="377"/>
|
||||
<source>Settings</source>
|
||||
<translation>Nastavení</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="400"/>
|
||||
<source>Greatly reduces page transition time at the cost of more memory</source>
|
||||
<translation>Ohromně zmenší čas přechodu stránky za cenu více paměti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="391"/>
|
||||
<source>Generate tags from files</source>
|
||||
<translation>Vytvořit značky ze souborů</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="381"/>
|
||||
<source>Icon theme: </source>
|
||||
<translation>Vzhled symbolů:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="407"/>
|
||||
<source><html><head/><body><p>SPACEBAR - Steps to take before turning comicbook page</p></body></html></source>
|
||||
<translation><html><head/><body><p>MEZERNÍK - Počet kroků před obrácením strany kresleného příběhu</p></body></html></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../metadata.py" line="96"/>
|
||||
<source>Tags (comma separated)</source>
|
||||
<translation>Značky (odděleny čárkou)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="393"/>
|
||||
<source>Show navigation bar</source>
|
||||
<translation>Ukázat panel pro pohyb v knize</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="384"/>
|
||||
<source>Restart application to see changes</source>
|
||||
<translation>Kvůli změnám spustit program znovu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../definitions.py" line="66"/>
|
||||
<source>WERDS</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Library</name>
|
||||
<message>
|
||||
<location filename="../../library.py" line="130"/>
|
||||
<source>Year</source>
|
||||
<translation>Rok</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../library.py" line="212"/>
|
||||
<source> books</source>
|
||||
<translation> knihy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../library.py" line="289"/>
|
||||
<source>manually added</source>
|
||||
<translation>přidáno ručně</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../library.py" line="129"/>
|
||||
<source>Author</source>
|
||||
<translation>Autor</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LibraryToolBar</name>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="483"/>
|
||||
<source>Year</source>
|
||||
<translation>Rok</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="444"/>
|
||||
<source>About</source>
|
||||
<translation>O</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="481"/>
|
||||
<source>Title</source>
|
||||
<translation>Název</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="430"/>
|
||||
<source>Filter library</source>
|
||||
<translation>Filtrovat knihovnu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="482"/>
|
||||
<source>Author</source>
|
||||
<translation>Autor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="484"/>
|
||||
<source>Newest</source>
|
||||
<translation>Nejnovější</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="422"/>
|
||||
<source>Scan Library</source>
|
||||
<translation>Prohledat knihovnu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="486"/>
|
||||
<source>Progress</source>
|
||||
<translation>Postup</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="411"/>
|
||||
<source>View as covers</source>
|
||||
<translation>Zobrazit jako obaly</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="416"/>
|
||||
<source>View as table</source>
|
||||
<translation>Zobrazit jako tabulku</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="406"/>
|
||||
<source>Delete book</source>
|
||||
<translation>Smazat knihu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="485"/>
|
||||
<source>Last Read</source>
|
||||
<translation>Naposledy čteno</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="402"/>
|
||||
<source>Add book</source>
|
||||
<translation>Přidat knihu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="494"/>
|
||||
<source>Sort by</source>
|
||||
<translation>Řadit dle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="433"/>
|
||||
<source>Library background color</source>
|
||||
<translation>Barva pozadí knihovny</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="475"/>
|
||||
<source>Search for Title, Author, Tags...</source>
|
||||
<translation>Hledat název, autora, značky...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="438"/>
|
||||
<source>Settings</source>
|
||||
<translation>Nastavení</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MainWindow</name>
|
||||
<message>
|
||||
<location filename="../mainwindow.py" line="68"/>
|
||||
<source>Library</source>
|
||||
<translation>Knihovna</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.py" line="67"/>
|
||||
<source>Lector</source>
|
||||
<translation>Lector</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Main_BookToolBarUI</name>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="63"/>
|
||||
<source>Toggle distraction free mode (Ctrl + D)</source>
|
||||
<translation>Zapnout/Vypnout režim bez rozptylování (Ctrl+D)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Main_UI</name>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="825"/>
|
||||
<source>Edit</source>
|
||||
<translation>Upravit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="819"/>
|
||||
<source>Start reading</source>
|
||||
<translation>Číst</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="630"/>
|
||||
<source> Books</source>
|
||||
<translation>Knihy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="581"/>
|
||||
<source> books</source>
|
||||
<translation> knihy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="940"/>
|
||||
<source>Manually Added</source>
|
||||
<translation>Přidáno ručně</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="829"/>
|
||||
<source>Delete</source>
|
||||
<translation>Smazat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="425"/>
|
||||
<source>Images</source>
|
||||
<translation>Obrázky</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="563"/>
|
||||
<source>Save changes and start library scan</source>
|
||||
<translation>Uložit změny a začít prohledávat knihovnu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="478"/>
|
||||
<source>eBooks</source>
|
||||
<translation>Elektronické knihy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="550"/>
|
||||
<source>Confirm deletion</source>
|
||||
<translation>Potvrdit smazání</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="835"/>
|
||||
<source>Mark unread</source>
|
||||
<translation>Označit jako nepřečtené</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="546"/>
|
||||
<source>Delete book(s)?</source>
|
||||
<translation>Smazat knihu(y)?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="832"/>
|
||||
<source>Mark read</source>
|
||||
<translation>Označit jako přečtené</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="424"/>
|
||||
<source>Save page as...</source>
|
||||
<translation>Uložit stranu jako...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="477"/>
|
||||
<source>Add books to database</source>
|
||||
<translation>Přidat knihy do databáze</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="492"/>
|
||||
<source>Adding books...</source>
|
||||
<translation>Přidávají se knihy...</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MetadataUI</name>
|
||||
<message>
|
||||
<location filename="../../metadatadialog.py" line="107"/>
|
||||
<source>Year</source>
|
||||
<translation>Rok</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../metadatadialog.py" line="106"/>
|
||||
<source>Author</source>
|
||||
<translation>Autor</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>PliantQGraphicsScene</name>
|
||||
<message>
|
||||
<location filename="../../widgets.py" line="621"/>
|
||||
<source>Select new cover</source>
|
||||
<translation>Vybrat nový obal</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../widgets.py" line="622"/>
|
||||
<source>Images</source>
|
||||
<translation>Obrázky</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>PliantQGraphicsView</name>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="358"/>
|
||||
<source>View</source>
|
||||
<translation>Pohled</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="347"/>
|
||||
<source>Exit Distraction Free mode</source>
|
||||
<translation>Ukončit režim bez rozptylování</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="390"/>
|
||||
<source>Zoom out (-)</source>
|
||||
<translation>Oddálit (-)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="402"/>
|
||||
<source>Original size (O)</source>
|
||||
<translation>Původní velikost (O)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="343"/>
|
||||
<source>Exit fullscreen</source>
|
||||
<translation>Ukončit celou obrazovku</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="363"/>
|
||||
<source>Double page mode (D)</source>
|
||||
<translation>Režim dvou stran (D)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="377"/>
|
||||
<source>Invert page colors</source>
|
||||
<translation>Obrátit barvy strany</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="408"/>
|
||||
<source>Bookmarks</source>
|
||||
<translation>Záložky</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="386"/>
|
||||
<source>Zoom in (+)</source>
|
||||
<translation>Přiblížit (+)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="394"/>
|
||||
<source>Fit width (W)</source>
|
||||
<translation>Přizpůsobit na šířku okna (W)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="398"/>
|
||||
<source>Best fit (B)</source>
|
||||
<translation>Nejlepší umístění (B)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="354"/>
|
||||
<source>Save page as...</source>
|
||||
<translation>Uložit stranu jako...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="370"/>
|
||||
<source>Manga mode (M)</source>
|
||||
<translation>Režim manga (M)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>PliantQTextBrowser</name>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="763"/>
|
||||
<source>View</source>
|
||||
<translation>Pohled</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="849"/>
|
||||
<source>Edit note</source>
|
||||
<translation>Upravit poznámku</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="785"/>
|
||||
<source>Exit Distraction Free mode</source>
|
||||
<translation>Ukončit režim bez rozptylování</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="772"/>
|
||||
<source>Single page</source>
|
||||
<translation>Jedna strana</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="776"/>
|
||||
<source>Double page</source>
|
||||
<translation>Dvě strany</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="856"/>
|
||||
<source>Add Bookmark</source>
|
||||
<translation>Přidat záložku</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="781"/>
|
||||
<source>Exit fullscreen</source>
|
||||
<translation>Ukončit celou obrazovku</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="797"/>
|
||||
<source>Define</source>
|
||||
<translation>Vymezit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="823"/>
|
||||
<source>Annotate</source>
|
||||
<translation>Přidat vysvětlivku</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="807"/>
|
||||
<source>In this book</source>
|
||||
<translation>V této knize</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="841"/>
|
||||
<source>Search</source>
|
||||
<translation>Hledat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="862"/>
|
||||
<source>Bookmarks</source>
|
||||
<translation>Záložky</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="768"/>
|
||||
<source>Flow text</source>
|
||||
<translation>Plynulý text</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="802"/>
|
||||
<source>Search for</source>
|
||||
<translation>Hledat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="852"/>
|
||||
<source>Delete annotation</source>
|
||||
<translation>Smazat vysvětlivku</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsUI</name>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="134"/>
|
||||
<source>About</source>
|
||||
<translation>O</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="71"/>
|
||||
<source>Hindi</source>
|
||||
<translation>Hindština</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="550"/>
|
||||
<source>Delete database and exit?</source>
|
||||
<translation>Smazat databázi a ukončit?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="131"/>
|
||||
<source>Library</source>
|
||||
<translation>Knihovna</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="84"/>
|
||||
<source>Save changes and start library scan</source>
|
||||
<translation>Uložit změny a začít prohledávat knihovnu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="329"/>
|
||||
<source>Library scan in progress...</source>
|
||||
<translation>Probíhá prohledávání knihovny...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="333"/>
|
||||
<source>Checking library folders</source>
|
||||
<translation>Prověřují se složky s knihovnou</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="554"/>
|
||||
<source>Confirm</source>
|
||||
<translation>Potvrdit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="70"/>
|
||||
<source>Spanish</source>
|
||||
<translation>Španělština</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="133"/>
|
||||
<source>Annotations</source>
|
||||
<translation>Vysvětlivky</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="69"/>
|
||||
<source>English</source>
|
||||
<translation>Angličtina</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="132"/>
|
||||
<source>Switches</source>
|
||||
<translation>Přepínače</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="349"/>
|
||||
<source>Parsing files</source>
|
||||
<translation>Zpracovávají se soubory</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SideDock</name>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="132"/>
|
||||
<source>New bookmark</source>
|
||||
<translation>Lesezeichen hinzufügen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="355"/>
|
||||
<source>Search</source>
|
||||
<translation>Hledat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="131"/>
|
||||
<source>Bookmarks</source>
|
||||
<translation>Záložky</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="356"/>
|
||||
<source>Search entire book</source>
|
||||
<translation>Hledat v celé knize</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="358"/>
|
||||
<source>Match word</source>
|
||||
<translation>Shoda slov</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="357"/>
|
||||
<source>Match case</source>
|
||||
<translation>Rozlišovat velká a malá písmena</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="308"/>
|
||||
<source>Annotations</source>
|
||||
<translation>Vysvětlivky</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Tab</name>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="272"/>
|
||||
<source>Edit</source>
|
||||
<translation>Upravit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../widgets.py" line="160"/>
|
||||
<source>Note</source>
|
||||
<translation>Poznámka</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="275"/>
|
||||
<source>Delete</source>
|
||||
<translation>Smazat</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TableProxyModel</name>
|
||||
<message>
|
||||
<location filename="../../models.py" line="75"/>
|
||||
<source>Tags</source>
|
||||
<translation>Značky</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../models.py" line="73"/>
|
||||
<source>Year</source>
|
||||
<translation>Rok</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../models.py" line="71"/>
|
||||
<source>Title</source>
|
||||
<translation>Název</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../models.py" line="72"/>
|
||||
<source>Author</source>
|
||||
<translation>Autor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../models.py" line="74"/>
|
||||
<source>Last Read</source>
|
||||
<translation>Naposledy čteno</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
@@ -86,7 +86,7 @@
|
||||
<translation>Blocksatz</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="268"/>
|
||||
<location filename="../../toolbars.py" line="277"/>
|
||||
<source>Background color</source>
|
||||
<translation>Hintergrund</translation>
|
||||
</message>
|
||||
@@ -116,7 +116,7 @@
|
||||
<translation type="obsolete">Suchen...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="304"/>
|
||||
<location filename="../../toolbars.py" line="319"/>
|
||||
<source>Table of Contents</source>
|
||||
<translation>Inhaltsverzeichnis</translation>
|
||||
</message>
|
||||
@@ -151,27 +151,27 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="237"/>
|
||||
<location filename="../../toolbars.py" line="246"/>
|
||||
<source>Zoom in (+)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="242"/>
|
||||
<location filename="../../toolbars.py" line="251"/>
|
||||
<source>Zoom Out (-)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="248"/>
|
||||
<location filename="../../toolbars.py" line="257"/>
|
||||
<source>Fit Width (W)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="254"/>
|
||||
<location filename="../../toolbars.py" line="263"/>
|
||||
<source>Best Fit (B)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="260"/>
|
||||
<location filename="../../toolbars.py" line="269"/>
|
||||
<source>Original size (O)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -180,11 +180,21 @@
|
||||
<source>Invert page colors</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="237"/>
|
||||
<source>Rotate image clockwise</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="241"/>
|
||||
<source>Rotate image anti-clockwise</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DefinitionsUI</name>
|
||||
<message>
|
||||
<location filename="../../definitionsdialog.py" line="144"/>
|
||||
<location filename="../../definitionsdialog.py" line="143"/>
|
||||
<source>No definitions found in</source>
|
||||
<translation>Keine Definition gefunden in</translation>
|
||||
</message>
|
||||
@@ -207,12 +217,12 @@
|
||||
<translation>Aussprache des Root-Wortes abspielen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="358"/>
|
||||
<location filename="../settingswindow.py" line="377"/>
|
||||
<source>Settings</source>
|
||||
<translation>Einstellungen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="359"/>
|
||||
<location filename="../settingswindow.py" line="378"/>
|
||||
<source>Library</source>
|
||||
<translation>Bibliothek</translation>
|
||||
</message>
|
||||
@@ -222,17 +232,17 @@
|
||||
<translation type="obsolete">Schalter</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="367"/>
|
||||
<location filename="../settingswindow.py" line="386"/>
|
||||
<source>Startup: Refresh library</source>
|
||||
<translation>Start: Bibliothek neu laden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="368"/>
|
||||
<location filename="../settingswindow.py" line="387"/>
|
||||
<source>Remember open files</source>
|
||||
<translation>Offen Dateien merken</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="372"/>
|
||||
<location filename="../settingswindow.py" line="391"/>
|
||||
<source>Generate tags from files</source>
|
||||
<translation>Tags aus Dateien generieren</translation>
|
||||
</message>
|
||||
@@ -242,27 +252,27 @@
|
||||
<translation type="obsolete">Wörterbuch:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="369"/>
|
||||
<location filename="../settingswindow.py" line="388"/>
|
||||
<source>Cover shadows</source>
|
||||
<translation>Cover Schatten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="370"/>
|
||||
<location filename="../settingswindow.py" line="389"/>
|
||||
<source>Enabling reduces startup time and memory usage</source>
|
||||
<translation>Aktivierung verringert die benötigte Zeit zum Starten und die Speicher Nutzung</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="371"/>
|
||||
<location filename="../settingswindow.py" line="390"/>
|
||||
<source>Load covers only when needed</source>
|
||||
<translation>Cover nur laden wenn benötigt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="380"/>
|
||||
<location filename="../settingswindow.py" line="400"/>
|
||||
<source>Greatly reduces page transition time at the cost of more memory</source>
|
||||
<translation>Drastische verkürzung der Seitenübergangszeit auf Kosten des Speichers</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="381"/>
|
||||
<location filename="../settingswindow.py" line="401"/>
|
||||
<source>Cache comic / pdf pages</source>
|
||||
<translation>Comic / PDF Seiten zwischenspeichern</translation>
|
||||
</message>
|
||||
@@ -272,7 +282,7 @@
|
||||
<translation type="obsolete">Neustarten um Änderungen zu übernehmen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="362"/>
|
||||
<location filename="../settingswindow.py" line="381"/>
|
||||
<source>Icon theme: </source>
|
||||
<translation>Symbol Thema:</translation>
|
||||
</message>
|
||||
@@ -287,17 +297,17 @@
|
||||
<translation type="obsolete">He&ll</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="401"/>
|
||||
<location filename="../settingswindow.py" line="421"/>
|
||||
<source>Scan Library</source>
|
||||
<translation>Bibliothek scannen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="402"/>
|
||||
<location filename="../settingswindow.py" line="422"/>
|
||||
<source>Close</source>
|
||||
<translation>Schließen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="397"/>
|
||||
<location filename="../settingswindow.py" line="417"/>
|
||||
<source>About</source>
|
||||
<translation type="unfinished">Über</translation>
|
||||
</message>
|
||||
@@ -347,156 +357,161 @@
|
||||
<translation>Abbrechen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="377"/>
|
||||
<location filename="../settingswindow.py" line="397"/>
|
||||
<source>Horizontal scrolling with Alt + Scroll
|
||||
Reopen book to see changes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="379"/>
|
||||
<location filename="../settingswindow.py" line="399"/>
|
||||
<source>Hide scrollbars when reading</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="365"/>
|
||||
<location filename="../settingswindow.py" line="384"/>
|
||||
<source>Restart application to see changes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="364"/>
|
||||
<location filename="../settingswindow.py" line="383"/>
|
||||
<source>&Dark</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="366"/>
|
||||
<location filename="../settingswindow.py" line="385"/>
|
||||
<source>L&ight</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="376"/>
|
||||
<location filename="../settingswindow.py" line="396"/>
|
||||
<source>Reading</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="360"/>
|
||||
<location filename="../settingswindow.py" line="379"/>
|
||||
<source>Consider book read at percent</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="388"/>
|
||||
<location filename="../settingswindow.py" line="408"/>
|
||||
<source>Dictionary language</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="389"/>
|
||||
<location filename="../settingswindow.py" line="409"/>
|
||||
<source>Scroll speed</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="395"/>
|
||||
<location filename="../settingswindow.py" line="415"/>
|
||||
<source>Text</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="390"/>
|
||||
<location filename="../settingswindow.py" line="410"/>
|
||||
<source>New</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="391"/>
|
||||
<location filename="../settingswindow.py" line="411"/>
|
||||
<source>Delete</source>
|
||||
<translation type="unfinished">Löschen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="392"/>
|
||||
<location filename="../settingswindow.py" line="412"/>
|
||||
<source>Edit</source>
|
||||
<translation type="unfinished">Bearbeiten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="393"/>
|
||||
<location filename="../settingswindow.py" line="413"/>
|
||||
<source>Move Up</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="394"/>
|
||||
<location filename="../settingswindow.py" line="414"/>
|
||||
<source>Move Down</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="396"/>
|
||||
<location filename="../settingswindow.py" line="416"/>
|
||||
<source>Image</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="373"/>
|
||||
<location filename="../settingswindow.py" line="392"/>
|
||||
<source>Shrink long book titles</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="384"/>
|
||||
<location filename="../settingswindow.py" line="404"/>
|
||||
<source><html><head/><body><p>UP/DOWN ARROW - Steps to take before turning comicbook page</p></body></html></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="383"/>
|
||||
<location filename="../settingswindow.py" line="403"/>
|
||||
<source>Small increment</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="387"/>
|
||||
<location filename="../settingswindow.py" line="407"/>
|
||||
<source><html><head/><body><p>SPACEBAR - Steps to take before turning comicbook page</p></body></html></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="386"/>
|
||||
<location filename="../settingswindow.py" line="406"/>
|
||||
<source>Large increment</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="374"/>
|
||||
<location filename="../settingswindow.py" line="394"/>
|
||||
<source><html><head/><body><p>Attempt to download missing book covers from Google books - SLOW</p></body></html></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="375"/>
|
||||
<location filename="../settingswindow.py" line="395"/>
|
||||
<source>Download missing covers</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="398"/>
|
||||
<location filename="../settingswindow.py" line="418"/>
|
||||
<source>Log</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="399"/>
|
||||
<location filename="../settingswindow.py" line="419"/>
|
||||
<source>Reset Application</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="400"/>
|
||||
<location filename="../settingswindow.py" line="420"/>
|
||||
<source>Clear Log</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="393"/>
|
||||
<source>Show navigation bar</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Library</name>
|
||||
<message>
|
||||
<location filename="../../library.py" line="136"/>
|
||||
<location filename="../../library.py" line="129"/>
|
||||
<source>Author</source>
|
||||
<translation>Autor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../library.py" line="137"/>
|
||||
<location filename="../../library.py" line="130"/>
|
||||
<source>Year</source>
|
||||
<translation>Jahr</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../library.py" line="296"/>
|
||||
<location filename="../../library.py" line="289"/>
|
||||
<source>manually added</source>
|
||||
<translation>Manuell hinzugefügt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../library.py" line="219"/>
|
||||
<location filename="../../library.py" line="212"/>
|
||||
<source> books</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -504,87 +519,87 @@ Reopen book to see changes</source>
|
||||
<context>
|
||||
<name>LibraryToolBar</name>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="387"/>
|
||||
<location filename="../../toolbars.py" line="402"/>
|
||||
<source>Add book</source>
|
||||
<translation>Buch hinzufügen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="391"/>
|
||||
<location filename="../../toolbars.py" line="406"/>
|
||||
<source>Delete book</source>
|
||||
<translation>Buch löschen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="418"/>
|
||||
<location filename="../../toolbars.py" line="433"/>
|
||||
<source>Library background color</source>
|
||||
<translation>Hintergrund der Bibliothek</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="423"/>
|
||||
<location filename="../../toolbars.py" line="438"/>
|
||||
<source>Settings</source>
|
||||
<translation>Einstellungen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="396"/>
|
||||
<location filename="../../toolbars.py" line="411"/>
|
||||
<source>View as covers</source>
|
||||
<translation>Als Cover anzeigen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="401"/>
|
||||
<location filename="../../toolbars.py" line="416"/>
|
||||
<source>View as table</source>
|
||||
<translation>Als Tabelle anzeigen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="415"/>
|
||||
<location filename="../../toolbars.py" line="430"/>
|
||||
<source>Filter library</source>
|
||||
<translation>Bibliothek filtern</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="460"/>
|
||||
<location filename="../../toolbars.py" line="475"/>
|
||||
<source>Search for Title, Author, Tags...</source>
|
||||
<translation>Suche nach Titel, Autor, Tags...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="479"/>
|
||||
<location filename="../../toolbars.py" line="494"/>
|
||||
<source>Sort by</source>
|
||||
<translation>Sortieren nach</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="407"/>
|
||||
<location filename="../../toolbars.py" line="422"/>
|
||||
<source>Scan Library</source>
|
||||
<translation type="unfinished">Bibliothek scannen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="466"/>
|
||||
<location filename="../../toolbars.py" line="481"/>
|
||||
<source>Title</source>
|
||||
<translation type="unfinished">Titel</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="467"/>
|
||||
<location filename="../../toolbars.py" line="482"/>
|
||||
<source>Author</source>
|
||||
<translation type="unfinished">Autor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="468"/>
|
||||
<location filename="../../toolbars.py" line="483"/>
|
||||
<source>Year</source>
|
||||
<translation type="unfinished">Jahr</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="469"/>
|
||||
<location filename="../../toolbars.py" line="484"/>
|
||||
<source>Newest</source>
|
||||
<translation type="unfinished">Neueste</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="470"/>
|
||||
<location filename="../../toolbars.py" line="485"/>
|
||||
<source>Last Read</source>
|
||||
<translation type="unfinished">Zuletzt gelesen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="471"/>
|
||||
<location filename="../../toolbars.py" line="486"/>
|
||||
<source>Progress</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="429"/>
|
||||
<location filename="../../toolbars.py" line="444"/>
|
||||
<source>About</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -623,80 +638,85 @@ Reopen book to see changes</source>
|
||||
<translation type="obsolete">Biblothek scannen </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="475"/>
|
||||
<location filename="../../__main__.py" line="477"/>
|
||||
<source>Add books to database</source>
|
||||
<translation>Bücher zur Datenbank hinzufügen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="476"/>
|
||||
<location filename="../../__main__.py" line="478"/>
|
||||
<source>eBooks</source>
|
||||
<translation>eBooks</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="490"/>
|
||||
<location filename="../../__main__.py" line="492"/>
|
||||
<source>Adding books...</source>
|
||||
<translation>Bücher werden hinzugefügt...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="548"/>
|
||||
<location filename="../../__main__.py" line="550"/>
|
||||
<source>Confirm deletion</source>
|
||||
<translation>Löschen bestätigen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="561"/>
|
||||
<location filename="../../__main__.py" line="563"/>
|
||||
<source>Save changes and start library scan</source>
|
||||
<translation>Änderungen speichern & Bibliotheksscan starten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="628"/>
|
||||
<location filename="../../__main__.py" line="630"/>
|
||||
<source> Books</source>
|
||||
<translation>Bücher</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="805"/>
|
||||
<location filename="../../__main__.py" line="819"/>
|
||||
<source>Start reading</source>
|
||||
<translation>Lesen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="811"/>
|
||||
<location filename="../../__main__.py" line="825"/>
|
||||
<source>Edit</source>
|
||||
<translation>Bearbeiten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="815"/>
|
||||
<location filename="../../__main__.py" line="829"/>
|
||||
<source>Delete</source>
|
||||
<translation>Löschen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="818"/>
|
||||
<location filename="../../__main__.py" line="832"/>
|
||||
<source>Mark read</source>
|
||||
<translation>Als gelesen kennzeichnen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="821"/>
|
||||
<location filename="../../__main__.py" line="835"/>
|
||||
<source>Mark unread</source>
|
||||
<translation>Als ungelesen kennzeichnen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="923"/>
|
||||
<location filename="../../__main__.py" line="940"/>
|
||||
<source>Manually Added</source>
|
||||
<translation>Manuell hinzugefügt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="370"/>
|
||||
<location filename="../../contentwidgets.py" line="424"/>
|
||||
<source>Save page as...</source>
|
||||
<translation type="unfinished">Seite speichern als...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="371"/>
|
||||
<location filename="../../contentwidgets.py" line="425"/>
|
||||
<source>Images</source>
|
||||
<translation type="unfinished">Bilder</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="579"/>
|
||||
<location filename="../../__main__.py" line="581"/>
|
||||
<source> books</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="546"/>
|
||||
<source>Delete book(s)?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MetadataUI</name>
|
||||
@@ -714,12 +734,12 @@ Reopen book to see changes</source>
|
||||
<context>
|
||||
<name>PliantQGraphicsScene</name>
|
||||
<message>
|
||||
<location filename="../../widgets.py" line="587"/>
|
||||
<location filename="../../widgets.py" line="621"/>
|
||||
<source>Select new cover</source>
|
||||
<translation>Neues Cover auswählen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../widgets.py" line="588"/>
|
||||
<location filename="../../widgets.py" line="622"/>
|
||||
<source>Images</source>
|
||||
<translation>Bilder</translation>
|
||||
</message>
|
||||
@@ -727,27 +747,27 @@ Reopen book to see changes</source>
|
||||
<context>
|
||||
<name>PliantQGraphicsView</name>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="310"/>
|
||||
<location filename="../../contentwidgets.py" line="354"/>
|
||||
<source>Save page as...</source>
|
||||
<translation type="unfinished">Seite speichern als...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="334"/>
|
||||
<location filename="../../contentwidgets.py" line="386"/>
|
||||
<source>Zoom in (+)</source>
|
||||
<translation type="unfinished">Vergrößern (+)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="338"/>
|
||||
<location filename="../../contentwidgets.py" line="390"/>
|
||||
<source>Zoom out (-)</source>
|
||||
<translation type="unfinished">Verkleinern (-)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="342"/>
|
||||
<location filename="../../contentwidgets.py" line="394"/>
|
||||
<source>Fit width (W)</source>
|
||||
<translation type="unfinished">An Fensterbreite anpassen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="350"/>
|
||||
<location filename="../../contentwidgets.py" line="402"/>
|
||||
<source>Original size (O)</source>
|
||||
<translation type="unfinished">Original Größe (O)</translation>
|
||||
</message>
|
||||
@@ -757,50 +777,55 @@ Reopen book to see changes</source>
|
||||
<translation type="obsolete">Ablenkungsfreien Modus ein-/ausschalten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="299"/>
|
||||
<location filename="../../contentwidgets.py" line="343"/>
|
||||
<source>Exit fullscreen</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="303"/>
|
||||
<location filename="../../contentwidgets.py" line="347"/>
|
||||
<source>Exit Distraction Free mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="314"/>
|
||||
<location filename="../../contentwidgets.py" line="358"/>
|
||||
<source>View</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="319"/>
|
||||
<location filename="../../contentwidgets.py" line="363"/>
|
||||
<source>Double page mode (D)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="326"/>
|
||||
<location filename="../../contentwidgets.py" line="370"/>
|
||||
<source>Manga mode (M)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="346"/>
|
||||
<location filename="../../contentwidgets.py" line="398"/>
|
||||
<source>Best fit (B)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="356"/>
|
||||
<location filename="../../contentwidgets.py" line="408"/>
|
||||
<source>Bookmarks</source>
|
||||
<translation type="unfinished">Lesezeichen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="377"/>
|
||||
<source>Invert page colors</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>PliantQTextBrowser</name>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="584"/>
|
||||
<location filename="../../contentwidgets.py" line="797"/>
|
||||
<source>Define</source>
|
||||
<translation type="unfinished">Definieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="628"/>
|
||||
<location filename="../../contentwidgets.py" line="841"/>
|
||||
<source>Search</source>
|
||||
<translation type="unfinished">Suchen</translation>
|
||||
</message>
|
||||
@@ -810,50 +835,70 @@ Reopen book to see changes</source>
|
||||
<translation type="obsolete">Ablenkungsfreien Modus ein-/ausschalten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="568"/>
|
||||
<location filename="../../contentwidgets.py" line="781"/>
|
||||
<source>Exit fullscreen</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="572"/>
|
||||
<location filename="../../contentwidgets.py" line="785"/>
|
||||
<source>Exit Distraction Free mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="589"/>
|
||||
<location filename="../../contentwidgets.py" line="802"/>
|
||||
<source>Search for</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="594"/>
|
||||
<location filename="../../contentwidgets.py" line="807"/>
|
||||
<source>In this book</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="636"/>
|
||||
<location filename="../../contentwidgets.py" line="849"/>
|
||||
<source>Edit note</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="639"/>
|
||||
<location filename="../../contentwidgets.py" line="852"/>
|
||||
<source>Delete annotation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="643"/>
|
||||
<location filename="../../contentwidgets.py" line="856"/>
|
||||
<source>Add Bookmark</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="649"/>
|
||||
<location filename="../../contentwidgets.py" line="862"/>
|
||||
<source>Bookmarks</source>
|
||||
<translation type="unfinished">Lesezeichen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="610"/>
|
||||
<location filename="../../contentwidgets.py" line="823"/>
|
||||
<source>Annotate</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="763"/>
|
||||
<source>View</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="768"/>
|
||||
<source>Flow text</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="772"/>
|
||||
<source>Single page</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="776"/>
|
||||
<source>Double page</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsUI</name>
|
||||
@@ -878,80 +923,85 @@ Reopen book to see changes</source>
|
||||
<translation>Änderungen speichern & Bibliotheksscan starten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="327"/>
|
||||
<location filename="../../settingsdialog.py" line="329"/>
|
||||
<source>Library scan in progress...</source>
|
||||
<translation>Bibliotheksscan in Arbeit...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="331"/>
|
||||
<location filename="../../settingsdialog.py" line="333"/>
|
||||
<source>Checking library folders</source>
|
||||
<translation>Bibliotheksverzeichnisse werden überprüft</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="347"/>
|
||||
<location filename="../../settingsdialog.py" line="349"/>
|
||||
<source>Parsing files</source>
|
||||
<translation>Dateien werden analysiert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="129"/>
|
||||
<location filename="../../settingsdialog.py" line="131"/>
|
||||
<source>Library</source>
|
||||
<translation type="unfinished">Bibliothek</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="130"/>
|
||||
<location filename="../../settingsdialog.py" line="132"/>
|
||||
<source>Switches</source>
|
||||
<translation type="unfinished">Schalter</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="132"/>
|
||||
<location filename="../../settingsdialog.py" line="134"/>
|
||||
<source>About</source>
|
||||
<translation type="unfinished">Über</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="131"/>
|
||||
<location filename="../../settingsdialog.py" line="133"/>
|
||||
<source>Annotations</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="551"/>
|
||||
<location filename="../../settingsdialog.py" line="554"/>
|
||||
<source>Confirm</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="550"/>
|
||||
<source>Delete database and exit?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SideDock</name>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="123"/>
|
||||
<location filename="../../dockwidgets.py" line="131"/>
|
||||
<source>Bookmarks</source>
|
||||
<translation type="unfinished">Lesezeichen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="124"/>
|
||||
<location filename="../../dockwidgets.py" line="132"/>
|
||||
<source>New bookmark</source>
|
||||
<translation type="unfinished">Lesezeichen hinzufügen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="300"/>
|
||||
<location filename="../../dockwidgets.py" line="308"/>
|
||||
<source>Annotations</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="347"/>
|
||||
<location filename="../../dockwidgets.py" line="355"/>
|
||||
<source>Search</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="348"/>
|
||||
<location filename="../../dockwidgets.py" line="356"/>
|
||||
<source>Search entire book</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="349"/>
|
||||
<location filename="../../dockwidgets.py" line="357"/>
|
||||
<source>Match case</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="350"/>
|
||||
<location filename="../../dockwidgets.py" line="358"/>
|
||||
<source>Match word</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -969,17 +1019,17 @@ Reopen book to see changes</source>
|
||||
<translation type="obsolete">Lesezeichen hinzufügen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="264"/>
|
||||
<location filename="../../dockwidgets.py" line="272"/>
|
||||
<source>Edit</source>
|
||||
<translation>Bearbeiten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="267"/>
|
||||
<location filename="../../dockwidgets.py" line="275"/>
|
||||
<source>Delete</source>
|
||||
<translation>Löschen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../widgets.py" line="146"/>
|
||||
<location filename="../../widgets.py" line="160"/>
|
||||
<source>Note</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@@ -86,7 +86,7 @@
|
||||
<translation>Justificar el texto</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="268"/>
|
||||
<location filename="../../toolbars.py" line="277"/>
|
||||
<source>Background color</source>
|
||||
<translation>Color del fondo</translation>
|
||||
</message>
|
||||
@@ -121,7 +121,7 @@
|
||||
<translation type="obsolete">Buscar…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="304"/>
|
||||
<location filename="../../toolbars.py" line="319"/>
|
||||
<source>Table of Contents</source>
|
||||
<translation>Sumario</translation>
|
||||
</message>
|
||||
@@ -156,27 +156,27 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="237"/>
|
||||
<location filename="../../toolbars.py" line="246"/>
|
||||
<source>Zoom in (+)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="242"/>
|
||||
<location filename="../../toolbars.py" line="251"/>
|
||||
<source>Zoom Out (-)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="248"/>
|
||||
<location filename="../../toolbars.py" line="257"/>
|
||||
<source>Fit Width (W)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="254"/>
|
||||
<location filename="../../toolbars.py" line="263"/>
|
||||
<source>Best Fit (B)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="260"/>
|
||||
<location filename="../../toolbars.py" line="269"/>
|
||||
<source>Original size (O)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -185,11 +185,21 @@
|
||||
<source>Invert page colors</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="237"/>
|
||||
<source>Rotate image clockwise</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="241"/>
|
||||
<source>Rotate image anti-clockwise</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DefinitionsUI</name>
|
||||
<message>
|
||||
<location filename="../../definitionsdialog.py" line="144"/>
|
||||
<location filename="../../definitionsdialog.py" line="143"/>
|
||||
<source>No definitions found in</source>
|
||||
<translation>No se encontró ninguna definición en</translation>
|
||||
</message>
|
||||
@@ -212,12 +222,12 @@
|
||||
<translation>Reproducir la pronunciación de la palabra raíz</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="358"/>
|
||||
<location filename="../settingswindow.py" line="377"/>
|
||||
<source>Settings</source>
|
||||
<translation>Configuración</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="359"/>
|
||||
<location filename="../settingswindow.py" line="378"/>
|
||||
<source>Library</source>
|
||||
<translation>Biblioteca</translation>
|
||||
</message>
|
||||
@@ -227,17 +237,17 @@
|
||||
<translation type="obsolete">Modificadores</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="367"/>
|
||||
<location filename="../settingswindow.py" line="386"/>
|
||||
<source>Startup: Refresh library</source>
|
||||
<translation>Inicio: actualizar la biblioteca</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="368"/>
|
||||
<location filename="../settingswindow.py" line="387"/>
|
||||
<source>Remember open files</source>
|
||||
<translation>Recordar los archivos abiertos</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="372"/>
|
||||
<location filename="../settingswindow.py" line="391"/>
|
||||
<source>Generate tags from files</source>
|
||||
<translation>Generar etiquetas a partir de los archivos</translation>
|
||||
</message>
|
||||
@@ -247,27 +257,27 @@
|
||||
<translation type="obsolete">Diccionario:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="369"/>
|
||||
<location filename="../settingswindow.py" line="388"/>
|
||||
<source>Cover shadows</source>
|
||||
<translation>Sombras en las cubiertas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="370"/>
|
||||
<location filename="../settingswindow.py" line="389"/>
|
||||
<source>Enabling reduces startup time and memory usage</source>
|
||||
<translation>Activar esta opción reduce el tiempo de inicio y el uso de memoria</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="371"/>
|
||||
<location filename="../settingswindow.py" line="390"/>
|
||||
<source>Load covers only when needed</source>
|
||||
<translation>Cargar las cubiertas solo cuando se necesiten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="380"/>
|
||||
<location filename="../settingswindow.py" line="400"/>
|
||||
<source>Greatly reduces page transition time at the cost of more memory</source>
|
||||
<translation>Reduce en gran medida el tiempo de transición de las páginas a costa de más memoria</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="381"/>
|
||||
<location filename="../settingswindow.py" line="401"/>
|
||||
<source>Cache comic / pdf pages</source>
|
||||
<translation>Almacenar en antememoria las páginas de cómics/PDF</translation>
|
||||
</message>
|
||||
@@ -277,7 +287,7 @@
|
||||
<translation type="obsolete">Reinicie la aplicación para ver los cambios</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="362"/>
|
||||
<location filename="../settingswindow.py" line="381"/>
|
||||
<source>Icon theme: </source>
|
||||
<translation>Tema de iconos: </translation>
|
||||
</message>
|
||||
@@ -292,17 +302,17 @@
|
||||
<translation type="obsolete">&Claro</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="401"/>
|
||||
<location filename="../settingswindow.py" line="421"/>
|
||||
<source>Scan Library</source>
|
||||
<translation>Explorar la biblioteca</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="402"/>
|
||||
<location filename="../settingswindow.py" line="422"/>
|
||||
<source>Close</source>
|
||||
<translation>Cerrar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="397"/>
|
||||
<location filename="../settingswindow.py" line="417"/>
|
||||
<source>About</source>
|
||||
<translation type="unfinished">Acerca de</translation>
|
||||
</message>
|
||||
@@ -352,156 +362,161 @@
|
||||
<translation>Cancelar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="377"/>
|
||||
<location filename="../settingswindow.py" line="397"/>
|
||||
<source>Horizontal scrolling with Alt + Scroll
|
||||
Reopen book to see changes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="379"/>
|
||||
<location filename="../settingswindow.py" line="399"/>
|
||||
<source>Hide scrollbars when reading</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="365"/>
|
||||
<location filename="../settingswindow.py" line="384"/>
|
||||
<source>Restart application to see changes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="364"/>
|
||||
<location filename="../settingswindow.py" line="383"/>
|
||||
<source>&Dark</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="366"/>
|
||||
<location filename="../settingswindow.py" line="385"/>
|
||||
<source>L&ight</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="376"/>
|
||||
<location filename="../settingswindow.py" line="396"/>
|
||||
<source>Reading</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="360"/>
|
||||
<location filename="../settingswindow.py" line="379"/>
|
||||
<source>Consider book read at percent</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="388"/>
|
||||
<location filename="../settingswindow.py" line="408"/>
|
||||
<source>Dictionary language</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="389"/>
|
||||
<location filename="../settingswindow.py" line="409"/>
|
||||
<source>Scroll speed</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="395"/>
|
||||
<location filename="../settingswindow.py" line="415"/>
|
||||
<source>Text</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="390"/>
|
||||
<location filename="../settingswindow.py" line="410"/>
|
||||
<source>New</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="391"/>
|
||||
<location filename="../settingswindow.py" line="411"/>
|
||||
<source>Delete</source>
|
||||
<translation type="unfinished">Eliminar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="392"/>
|
||||
<location filename="../settingswindow.py" line="412"/>
|
||||
<source>Edit</source>
|
||||
<translation type="unfinished">Editar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="393"/>
|
||||
<location filename="../settingswindow.py" line="413"/>
|
||||
<source>Move Up</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="394"/>
|
||||
<location filename="../settingswindow.py" line="414"/>
|
||||
<source>Move Down</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="396"/>
|
||||
<location filename="../settingswindow.py" line="416"/>
|
||||
<source>Image</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="373"/>
|
||||
<location filename="../settingswindow.py" line="392"/>
|
||||
<source>Shrink long book titles</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="384"/>
|
||||
<location filename="../settingswindow.py" line="404"/>
|
||||
<source><html><head/><body><p>UP/DOWN ARROW - Steps to take before turning comicbook page</p></body></html></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="383"/>
|
||||
<location filename="../settingswindow.py" line="403"/>
|
||||
<source>Small increment</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="387"/>
|
||||
<location filename="../settingswindow.py" line="407"/>
|
||||
<source><html><head/><body><p>SPACEBAR - Steps to take before turning comicbook page</p></body></html></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="386"/>
|
||||
<location filename="../settingswindow.py" line="406"/>
|
||||
<source>Large increment</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="374"/>
|
||||
<location filename="../settingswindow.py" line="394"/>
|
||||
<source><html><head/><body><p>Attempt to download missing book covers from Google books - SLOW</p></body></html></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="375"/>
|
||||
<location filename="../settingswindow.py" line="395"/>
|
||||
<source>Download missing covers</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="398"/>
|
||||
<location filename="../settingswindow.py" line="418"/>
|
||||
<source>Log</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="399"/>
|
||||
<location filename="../settingswindow.py" line="419"/>
|
||||
<source>Reset Application</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="400"/>
|
||||
<location filename="../settingswindow.py" line="420"/>
|
||||
<source>Clear Log</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="393"/>
|
||||
<source>Show navigation bar</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Library</name>
|
||||
<message>
|
||||
<location filename="../../library.py" line="136"/>
|
||||
<location filename="../../library.py" line="129"/>
|
||||
<source>Author</source>
|
||||
<translation>Autor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../library.py" line="137"/>
|
||||
<location filename="../../library.py" line="130"/>
|
||||
<source>Year</source>
|
||||
<translation>Año</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../library.py" line="296"/>
|
||||
<location filename="../../library.py" line="289"/>
|
||||
<source>manually added</source>
|
||||
<translation>añadido manualmente</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../library.py" line="219"/>
|
||||
<location filename="../../library.py" line="212"/>
|
||||
<source> books</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -509,87 +524,87 @@ Reopen book to see changes</source>
|
||||
<context>
|
||||
<name>LibraryToolBar</name>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="387"/>
|
||||
<location filename="../../toolbars.py" line="402"/>
|
||||
<source>Add book</source>
|
||||
<translation>Añadir un libro</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="391"/>
|
||||
<location filename="../../toolbars.py" line="406"/>
|
||||
<source>Delete book</source>
|
||||
<translation>Eliminar el libro</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="418"/>
|
||||
<location filename="../../toolbars.py" line="433"/>
|
||||
<source>Library background color</source>
|
||||
<translation>Color de fondo de la biblioteca</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="423"/>
|
||||
<location filename="../../toolbars.py" line="438"/>
|
||||
<source>Settings</source>
|
||||
<translation>Configuración</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="396"/>
|
||||
<location filename="../../toolbars.py" line="411"/>
|
||||
<source>View as covers</source>
|
||||
<translation>Ver como cubiertas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="401"/>
|
||||
<location filename="../../toolbars.py" line="416"/>
|
||||
<source>View as table</source>
|
||||
<translation>Ver como tabla</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="415"/>
|
||||
<location filename="../../toolbars.py" line="430"/>
|
||||
<source>Filter library</source>
|
||||
<translation>Filtrar la biblioteca</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="460"/>
|
||||
<location filename="../../toolbars.py" line="475"/>
|
||||
<source>Search for Title, Author, Tags...</source>
|
||||
<translation>Buscar títulos, autores, etiquetas…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="479"/>
|
||||
<location filename="../../toolbars.py" line="494"/>
|
||||
<source>Sort by</source>
|
||||
<translation>Ordenar por</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="407"/>
|
||||
<location filename="../../toolbars.py" line="422"/>
|
||||
<source>Scan Library</source>
|
||||
<translation type="unfinished">Explorar la biblioteca</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="466"/>
|
||||
<location filename="../../toolbars.py" line="481"/>
|
||||
<source>Title</source>
|
||||
<translation type="unfinished">Título</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="467"/>
|
||||
<location filename="../../toolbars.py" line="482"/>
|
||||
<source>Author</source>
|
||||
<translation type="unfinished">Autor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="468"/>
|
||||
<location filename="../../toolbars.py" line="483"/>
|
||||
<source>Year</source>
|
||||
<translation type="unfinished">Año</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="469"/>
|
||||
<location filename="../../toolbars.py" line="484"/>
|
||||
<source>Newest</source>
|
||||
<translation type="unfinished">Más recientes</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="470"/>
|
||||
<location filename="../../toolbars.py" line="485"/>
|
||||
<source>Last Read</source>
|
||||
<translation type="unfinished">Última lectura</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="471"/>
|
||||
<location filename="../../toolbars.py" line="486"/>
|
||||
<source>Progress</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="429"/>
|
||||
<location filename="../../toolbars.py" line="444"/>
|
||||
<source>About</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -628,80 +643,85 @@ Reopen book to see changes</source>
|
||||
<translation type="obsolete">Explorar la biblioteca</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="475"/>
|
||||
<location filename="../../__main__.py" line="477"/>
|
||||
<source>Add books to database</source>
|
||||
<translation>Añadir libros a la base de datos</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="476"/>
|
||||
<location filename="../../__main__.py" line="478"/>
|
||||
<source>eBooks</source>
|
||||
<translation>Libros electrónicos</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="490"/>
|
||||
<location filename="../../__main__.py" line="492"/>
|
||||
<source>Adding books...</source>
|
||||
<translation>Añadiendo los libros…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="548"/>
|
||||
<location filename="../../__main__.py" line="550"/>
|
||||
<source>Confirm deletion</source>
|
||||
<translation>Confirmar la eliminación</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="561"/>
|
||||
<location filename="../../__main__.py" line="563"/>
|
||||
<source>Save changes and start library scan</source>
|
||||
<translation>Guardar cambios e iniciar exploración de biblioteca</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="628"/>
|
||||
<location filename="../../__main__.py" line="630"/>
|
||||
<source> Books</source>
|
||||
<translation> Libros</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="805"/>
|
||||
<location filename="../../__main__.py" line="819"/>
|
||||
<source>Start reading</source>
|
||||
<translation>Comenzar a leer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="811"/>
|
||||
<location filename="../../__main__.py" line="825"/>
|
||||
<source>Edit</source>
|
||||
<translation>Editar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="815"/>
|
||||
<location filename="../../__main__.py" line="829"/>
|
||||
<source>Delete</source>
|
||||
<translation>Eliminar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="818"/>
|
||||
<location filename="../../__main__.py" line="832"/>
|
||||
<source>Mark read</source>
|
||||
<translation>Marcar como leído</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="821"/>
|
||||
<location filename="../../__main__.py" line="835"/>
|
||||
<source>Mark unread</source>
|
||||
<translation>Marcar como no leído</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="923"/>
|
||||
<location filename="../../__main__.py" line="940"/>
|
||||
<source>Manually Added</source>
|
||||
<translation>Añadido manualmente</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="370"/>
|
||||
<location filename="../../contentwidgets.py" line="424"/>
|
||||
<source>Save page as...</source>
|
||||
<translation type="unfinished">Guardar la página como…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="371"/>
|
||||
<location filename="../../contentwidgets.py" line="425"/>
|
||||
<source>Images</source>
|
||||
<translation type="unfinished">Imágenes</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="579"/>
|
||||
<location filename="../../__main__.py" line="581"/>
|
||||
<source> books</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="546"/>
|
||||
<source>Delete book(s)?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MetadataUI</name>
|
||||
@@ -719,12 +739,12 @@ Reopen book to see changes</source>
|
||||
<context>
|
||||
<name>PliantQGraphicsScene</name>
|
||||
<message>
|
||||
<location filename="../../widgets.py" line="587"/>
|
||||
<location filename="../../widgets.py" line="621"/>
|
||||
<source>Select new cover</source>
|
||||
<translation>Seleccione una cubierta nueva</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../widgets.py" line="588"/>
|
||||
<location filename="../../widgets.py" line="622"/>
|
||||
<source>Images</source>
|
||||
<translation>Imágenes</translation>
|
||||
</message>
|
||||
@@ -732,32 +752,32 @@ Reopen book to see changes</source>
|
||||
<context>
|
||||
<name>PliantQGraphicsView</name>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="310"/>
|
||||
<location filename="../../contentwidgets.py" line="354"/>
|
||||
<source>Save page as...</source>
|
||||
<translation type="unfinished">Guardar la página como…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="334"/>
|
||||
<location filename="../../contentwidgets.py" line="386"/>
|
||||
<source>Zoom in (+)</source>
|
||||
<translation type="unfinished">Ampliar (+)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="338"/>
|
||||
<location filename="../../contentwidgets.py" line="390"/>
|
||||
<source>Zoom out (-)</source>
|
||||
<translation type="unfinished">Reducir (-)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="342"/>
|
||||
<location filename="../../contentwidgets.py" line="394"/>
|
||||
<source>Fit width (W)</source>
|
||||
<translation type="unfinished">Ajustar a la anchura (W)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="346"/>
|
||||
<location filename="../../contentwidgets.py" line="398"/>
|
||||
<source>Best fit (B)</source>
|
||||
<translation type="unfinished">Ajuste perfecto (B)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="350"/>
|
||||
<location filename="../../contentwidgets.py" line="402"/>
|
||||
<source>Original size (O)</source>
|
||||
<translation type="unfinished">Tamaño original (O)</translation>
|
||||
</message>
|
||||
@@ -772,45 +792,50 @@ Reopen book to see changes</source>
|
||||
<translation type="obsolete">Sumario</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="299"/>
|
||||
<location filename="../../contentwidgets.py" line="343"/>
|
||||
<source>Exit fullscreen</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="303"/>
|
||||
<location filename="../../contentwidgets.py" line="347"/>
|
||||
<source>Exit Distraction Free mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="314"/>
|
||||
<location filename="../../contentwidgets.py" line="358"/>
|
||||
<source>View</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="319"/>
|
||||
<location filename="../../contentwidgets.py" line="363"/>
|
||||
<source>Double page mode (D)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="326"/>
|
||||
<location filename="../../contentwidgets.py" line="370"/>
|
||||
<source>Manga mode (M)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="356"/>
|
||||
<location filename="../../contentwidgets.py" line="408"/>
|
||||
<source>Bookmarks</source>
|
||||
<translation type="unfinished">Marcadores</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="377"/>
|
||||
<source>Invert page colors</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>PliantQTextBrowser</name>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="584"/>
|
||||
<location filename="../../contentwidgets.py" line="797"/>
|
||||
<source>Define</source>
|
||||
<translation type="unfinished">Definir</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="628"/>
|
||||
<location filename="../../contentwidgets.py" line="841"/>
|
||||
<source>Search</source>
|
||||
<translation type="unfinished">Buscar</translation>
|
||||
</message>
|
||||
@@ -825,50 +850,70 @@ Reopen book to see changes</source>
|
||||
<translation type="obsolete">Sumario</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="568"/>
|
||||
<location filename="../../contentwidgets.py" line="781"/>
|
||||
<source>Exit fullscreen</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="572"/>
|
||||
<location filename="../../contentwidgets.py" line="785"/>
|
||||
<source>Exit Distraction Free mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="589"/>
|
||||
<location filename="../../contentwidgets.py" line="802"/>
|
||||
<source>Search for</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="594"/>
|
||||
<location filename="../../contentwidgets.py" line="807"/>
|
||||
<source>In this book</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="636"/>
|
||||
<location filename="../../contentwidgets.py" line="849"/>
|
||||
<source>Edit note</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="639"/>
|
||||
<location filename="../../contentwidgets.py" line="852"/>
|
||||
<source>Delete annotation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="643"/>
|
||||
<location filename="../../contentwidgets.py" line="856"/>
|
||||
<source>Add Bookmark</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="649"/>
|
||||
<location filename="../../contentwidgets.py" line="862"/>
|
||||
<source>Bookmarks</source>
|
||||
<translation type="unfinished">Marcadores</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="610"/>
|
||||
<location filename="../../contentwidgets.py" line="823"/>
|
||||
<source>Annotate</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="763"/>
|
||||
<source>View</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="768"/>
|
||||
<source>Flow text</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="772"/>
|
||||
<source>Single page</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="776"/>
|
||||
<source>Double page</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsUI</name>
|
||||
@@ -893,80 +938,85 @@ Reopen book to see changes</source>
|
||||
<translation>Guardar cambios e iniciar exploración de biblioteca</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="327"/>
|
||||
<location filename="../../settingsdialog.py" line="329"/>
|
||||
<source>Library scan in progress...</source>
|
||||
<translation>Se está explorando la biblioteca…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="331"/>
|
||||
<location filename="../../settingsdialog.py" line="333"/>
|
||||
<source>Checking library folders</source>
|
||||
<translation>Comprobando las carpetas de la biblioteca</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="347"/>
|
||||
<location filename="../../settingsdialog.py" line="349"/>
|
||||
<source>Parsing files</source>
|
||||
<translation>Procesando los archivos</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="129"/>
|
||||
<location filename="../../settingsdialog.py" line="131"/>
|
||||
<source>Library</source>
|
||||
<translation type="unfinished">Biblioteca</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="130"/>
|
||||
<location filename="../../settingsdialog.py" line="132"/>
|
||||
<source>Switches</source>
|
||||
<translation type="unfinished">Modificadores</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="132"/>
|
||||
<location filename="../../settingsdialog.py" line="134"/>
|
||||
<source>About</source>
|
||||
<translation type="unfinished">Acerca de</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="131"/>
|
||||
<location filename="../../settingsdialog.py" line="133"/>
|
||||
<source>Annotations</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="551"/>
|
||||
<location filename="../../settingsdialog.py" line="554"/>
|
||||
<source>Confirm</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="550"/>
|
||||
<source>Delete database and exit?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SideDock</name>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="123"/>
|
||||
<location filename="../../dockwidgets.py" line="131"/>
|
||||
<source>Bookmarks</source>
|
||||
<translation type="unfinished">Marcadores</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="124"/>
|
||||
<location filename="../../dockwidgets.py" line="132"/>
|
||||
<source>New bookmark</source>
|
||||
<translation type="unfinished">Marcador nuevo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="300"/>
|
||||
<location filename="../../dockwidgets.py" line="308"/>
|
||||
<source>Annotations</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="347"/>
|
||||
<location filename="../../dockwidgets.py" line="355"/>
|
||||
<source>Search</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="348"/>
|
||||
<location filename="../../dockwidgets.py" line="356"/>
|
||||
<source>Search entire book</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="349"/>
|
||||
<location filename="../../dockwidgets.py" line="357"/>
|
||||
<source>Match case</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="350"/>
|
||||
<location filename="../../dockwidgets.py" line="358"/>
|
||||
<source>Match word</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -984,17 +1034,17 @@ Reopen book to see changes</source>
|
||||
<translation type="obsolete">Marcador nuevo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="264"/>
|
||||
<location filename="../../dockwidgets.py" line="272"/>
|
||||
<source>Edit</source>
|
||||
<translation>Editar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="267"/>
|
||||
<location filename="../../dockwidgets.py" line="275"/>
|
||||
<source>Delete</source>
|
||||
<translation>Eliminar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../widgets.py" line="146"/>
|
||||
<location filename="../../widgets.py" line="160"/>
|
||||
<source>Note</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@@ -86,7 +86,7 @@
|
||||
<translation>Justifier le texte</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="268"/>
|
||||
<location filename="../../toolbars.py" line="277"/>
|
||||
<source>Background color</source>
|
||||
<translation>Couleur d'arrière-plan</translation>
|
||||
</message>
|
||||
@@ -121,7 +121,7 @@
|
||||
<translation type="obsolete">Rechercher…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="304"/>
|
||||
<location filename="../../toolbars.py" line="319"/>
|
||||
<source>Table of Contents</source>
|
||||
<translation>Sommaire</translation>
|
||||
</message>
|
||||
@@ -156,27 +156,27 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="237"/>
|
||||
<location filename="../../toolbars.py" line="246"/>
|
||||
<source>Zoom in (+)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="242"/>
|
||||
<location filename="../../toolbars.py" line="251"/>
|
||||
<source>Zoom Out (-)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="248"/>
|
||||
<location filename="../../toolbars.py" line="257"/>
|
||||
<source>Fit Width (W)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="254"/>
|
||||
<location filename="../../toolbars.py" line="263"/>
|
||||
<source>Best Fit (B)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="260"/>
|
||||
<location filename="../../toolbars.py" line="269"/>
|
||||
<source>Original size (O)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -185,11 +185,21 @@
|
||||
<source>Invert page colors</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="237"/>
|
||||
<source>Rotate image clockwise</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="241"/>
|
||||
<source>Rotate image anti-clockwise</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DefinitionsUI</name>
|
||||
<message>
|
||||
<location filename="../../definitionsdialog.py" line="144"/>
|
||||
<location filename="../../definitionsdialog.py" line="143"/>
|
||||
<source>No definitions found in</source>
|
||||
<translation>Aucune définitions trouvées dans</translation>
|
||||
</message>
|
||||
@@ -212,12 +222,12 @@
|
||||
<translation>Lire la prononciation de la racine</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="358"/>
|
||||
<location filename="../settingswindow.py" line="377"/>
|
||||
<source>Settings</source>
|
||||
<translation>Options</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="359"/>
|
||||
<location filename="../settingswindow.py" line="378"/>
|
||||
<source>Library</source>
|
||||
<translation>Bibliothèque</translation>
|
||||
</message>
|
||||
@@ -227,17 +237,17 @@
|
||||
<translation type="obsolete">Options</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="367"/>
|
||||
<location filename="../settingswindow.py" line="386"/>
|
||||
<source>Startup: Refresh library</source>
|
||||
<translation>Au démarrage: Rafraîchir la bibliothèque</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="368"/>
|
||||
<location filename="../settingswindow.py" line="387"/>
|
||||
<source>Remember open files</source>
|
||||
<translation>Se souvenir des fichiers ouverts</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="372"/>
|
||||
<location filename="../settingswindow.py" line="391"/>
|
||||
<source>Generate tags from files</source>
|
||||
<translation>Générer des étiquettes à partir des fichiers</translation>
|
||||
</message>
|
||||
@@ -247,27 +257,27 @@
|
||||
<translation type="obsolete">Dictionnaire:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="369"/>
|
||||
<location filename="../settingswindow.py" line="388"/>
|
||||
<source>Cover shadows</source>
|
||||
<translation>Ombres des couverture</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="370"/>
|
||||
<location filename="../settingswindow.py" line="389"/>
|
||||
<source>Enabling reduces startup time and memory usage</source>
|
||||
<translation>Si activé, réduit le temps de chargement et l'utilisation de la mémoire</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="371"/>
|
||||
<location filename="../settingswindow.py" line="390"/>
|
||||
<source>Load covers only when needed</source>
|
||||
<translation>Charger les couvertures seulement quand nécessaire</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="380"/>
|
||||
<location filename="../settingswindow.py" line="400"/>
|
||||
<source>Greatly reduces page transition time at the cost of more memory</source>
|
||||
<translation>Réduit grandement le temps de transition des pages contre plus d'utilisation de la mémoire</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="381"/>
|
||||
<location filename="../settingswindow.py" line="401"/>
|
||||
<source>Cache comic / pdf pages</source>
|
||||
<translation>Mettre en cache les pages de bande dessinée / pdf</translation>
|
||||
</message>
|
||||
@@ -277,7 +287,7 @@
|
||||
<translation type="obsolete">Redémarrer pour voir les modifications</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="362"/>
|
||||
<location filename="../settingswindow.py" line="381"/>
|
||||
<source>Icon theme: </source>
|
||||
<translation>Thème d'icones: </translation>
|
||||
</message>
|
||||
@@ -292,17 +302,17 @@
|
||||
<translation type="obsolete">C&lair</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="401"/>
|
||||
<location filename="../settingswindow.py" line="421"/>
|
||||
<source>Scan Library</source>
|
||||
<translation>Analyser la bibliothèque</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="402"/>
|
||||
<location filename="../settingswindow.py" line="422"/>
|
||||
<source>Close</source>
|
||||
<translation>Fermer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="397"/>
|
||||
<location filename="../settingswindow.py" line="417"/>
|
||||
<source>About</source>
|
||||
<translation type="unfinished">À propos</translation>
|
||||
</message>
|
||||
@@ -352,156 +362,161 @@
|
||||
<translation>Annuler</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="377"/>
|
||||
<location filename="../settingswindow.py" line="397"/>
|
||||
<source>Horizontal scrolling with Alt + Scroll
|
||||
Reopen book to see changes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="379"/>
|
||||
<location filename="../settingswindow.py" line="399"/>
|
||||
<source>Hide scrollbars when reading</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="365"/>
|
||||
<location filename="../settingswindow.py" line="384"/>
|
||||
<source>Restart application to see changes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="364"/>
|
||||
<location filename="../settingswindow.py" line="383"/>
|
||||
<source>&Dark</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="366"/>
|
||||
<location filename="../settingswindow.py" line="385"/>
|
||||
<source>L&ight</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="376"/>
|
||||
<location filename="../settingswindow.py" line="396"/>
|
||||
<source>Reading</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="360"/>
|
||||
<location filename="../settingswindow.py" line="379"/>
|
||||
<source>Consider book read at percent</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="388"/>
|
||||
<location filename="../settingswindow.py" line="408"/>
|
||||
<source>Dictionary language</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="389"/>
|
||||
<location filename="../settingswindow.py" line="409"/>
|
||||
<source>Scroll speed</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="395"/>
|
||||
<location filename="../settingswindow.py" line="415"/>
|
||||
<source>Text</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="390"/>
|
||||
<location filename="../settingswindow.py" line="410"/>
|
||||
<source>New</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="391"/>
|
||||
<location filename="../settingswindow.py" line="411"/>
|
||||
<source>Delete</source>
|
||||
<translation type="unfinished">Supprimer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="392"/>
|
||||
<location filename="../settingswindow.py" line="412"/>
|
||||
<source>Edit</source>
|
||||
<translation type="unfinished">Modifier</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="393"/>
|
||||
<location filename="../settingswindow.py" line="413"/>
|
||||
<source>Move Up</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="394"/>
|
||||
<location filename="../settingswindow.py" line="414"/>
|
||||
<source>Move Down</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="396"/>
|
||||
<location filename="../settingswindow.py" line="416"/>
|
||||
<source>Image</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="373"/>
|
||||
<location filename="../settingswindow.py" line="392"/>
|
||||
<source>Shrink long book titles</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="384"/>
|
||||
<location filename="../settingswindow.py" line="404"/>
|
||||
<source><html><head/><body><p>UP/DOWN ARROW - Steps to take before turning comicbook page</p></body></html></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="383"/>
|
||||
<location filename="../settingswindow.py" line="403"/>
|
||||
<source>Small increment</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="387"/>
|
||||
<location filename="../settingswindow.py" line="407"/>
|
||||
<source><html><head/><body><p>SPACEBAR - Steps to take before turning comicbook page</p></body></html></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="386"/>
|
||||
<location filename="../settingswindow.py" line="406"/>
|
||||
<source>Large increment</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="374"/>
|
||||
<location filename="../settingswindow.py" line="394"/>
|
||||
<source><html><head/><body><p>Attempt to download missing book covers from Google books - SLOW</p></body></html></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="375"/>
|
||||
<location filename="../settingswindow.py" line="395"/>
|
||||
<source>Download missing covers</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="398"/>
|
||||
<location filename="../settingswindow.py" line="418"/>
|
||||
<source>Log</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="399"/>
|
||||
<location filename="../settingswindow.py" line="419"/>
|
||||
<source>Reset Application</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="400"/>
|
||||
<location filename="../settingswindow.py" line="420"/>
|
||||
<source>Clear Log</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="393"/>
|
||||
<source>Show navigation bar</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Library</name>
|
||||
<message>
|
||||
<location filename="../../library.py" line="136"/>
|
||||
<location filename="../../library.py" line="129"/>
|
||||
<source>Author</source>
|
||||
<translation>Auteur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../library.py" line="137"/>
|
||||
<location filename="../../library.py" line="130"/>
|
||||
<source>Year</source>
|
||||
<translation>Année</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../library.py" line="296"/>
|
||||
<location filename="../../library.py" line="289"/>
|
||||
<source>manually added</source>
|
||||
<translation>manuellement ajouté</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../library.py" line="219"/>
|
||||
<location filename="../../library.py" line="212"/>
|
||||
<source> books</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -509,87 +524,87 @@ Reopen book to see changes</source>
|
||||
<context>
|
||||
<name>LibraryToolBar</name>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="387"/>
|
||||
<location filename="../../toolbars.py" line="402"/>
|
||||
<source>Add book</source>
|
||||
<translation>Ajouter un livre</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="391"/>
|
||||
<location filename="../../toolbars.py" line="406"/>
|
||||
<source>Delete book</source>
|
||||
<translation>Supprimer un livre</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="418"/>
|
||||
<location filename="../../toolbars.py" line="433"/>
|
||||
<source>Library background color</source>
|
||||
<translation>Couleur d'arrière-plan de la bibliothèque</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="423"/>
|
||||
<location filename="../../toolbars.py" line="438"/>
|
||||
<source>Settings</source>
|
||||
<translation>Options</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="396"/>
|
||||
<location filename="../../toolbars.py" line="411"/>
|
||||
<source>View as covers</source>
|
||||
<translation>Vue par couvertures</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="401"/>
|
||||
<location filename="../../toolbars.py" line="416"/>
|
||||
<source>View as table</source>
|
||||
<translation>Vue par table</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="415"/>
|
||||
<location filename="../../toolbars.py" line="430"/>
|
||||
<source>Filter library</source>
|
||||
<translation>Filtrer la bibliothèque</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="460"/>
|
||||
<location filename="../../toolbars.py" line="475"/>
|
||||
<source>Search for Title, Author, Tags...</source>
|
||||
<translation>Rechercher par Titre, Auteur, Étiquettes…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="479"/>
|
||||
<location filename="../../toolbars.py" line="494"/>
|
||||
<source>Sort by</source>
|
||||
<translation>Trier par</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="407"/>
|
||||
<location filename="../../toolbars.py" line="422"/>
|
||||
<source>Scan Library</source>
|
||||
<translation type="unfinished">Analyser la bibliothèque</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="466"/>
|
||||
<location filename="../../toolbars.py" line="481"/>
|
||||
<source>Title</source>
|
||||
<translation type="unfinished">Titre</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="467"/>
|
||||
<location filename="../../toolbars.py" line="482"/>
|
||||
<source>Author</source>
|
||||
<translation type="unfinished">Auteur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="468"/>
|
||||
<location filename="../../toolbars.py" line="483"/>
|
||||
<source>Year</source>
|
||||
<translation type="unfinished">Année</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="469"/>
|
||||
<location filename="../../toolbars.py" line="484"/>
|
||||
<source>Newest</source>
|
||||
<translation type="unfinished">Nouveau</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="470"/>
|
||||
<location filename="../../toolbars.py" line="485"/>
|
||||
<source>Last Read</source>
|
||||
<translation type="unfinished">Lu pour la dernière fois</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="471"/>
|
||||
<location filename="../../toolbars.py" line="486"/>
|
||||
<source>Progress</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="429"/>
|
||||
<location filename="../../toolbars.py" line="444"/>
|
||||
<source>About</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -628,80 +643,85 @@ Reopen book to see changes</source>
|
||||
<translation type="obsolete">Analyser la bibliothèque</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="475"/>
|
||||
<location filename="../../__main__.py" line="477"/>
|
||||
<source>Add books to database</source>
|
||||
<translation>Ajouter des livres à la base de données</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="476"/>
|
||||
<location filename="../../__main__.py" line="478"/>
|
||||
<source>eBooks</source>
|
||||
<translation>eBooks</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="490"/>
|
||||
<location filename="../../__main__.py" line="492"/>
|
||||
<source>Adding books...</source>
|
||||
<translation>Ajout des livres…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="548"/>
|
||||
<location filename="../../__main__.py" line="550"/>
|
||||
<source>Confirm deletion</source>
|
||||
<translation>Confirmez la suppression</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="561"/>
|
||||
<location filename="../../__main__.py" line="563"/>
|
||||
<source>Save changes and start library scan</source>
|
||||
<translation>Enregistrer les modifications et démarrer l'analyse de la bibliothèque</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="628"/>
|
||||
<location filename="../../__main__.py" line="630"/>
|
||||
<source> Books</source>
|
||||
<translation> Livres</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="805"/>
|
||||
<location filename="../../__main__.py" line="819"/>
|
||||
<source>Start reading</source>
|
||||
<translation>Commencer à lire</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="811"/>
|
||||
<location filename="../../__main__.py" line="825"/>
|
||||
<source>Edit</source>
|
||||
<translation>Modifier</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="815"/>
|
||||
<location filename="../../__main__.py" line="829"/>
|
||||
<source>Delete</source>
|
||||
<translation>Supprimer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="818"/>
|
||||
<location filename="../../__main__.py" line="832"/>
|
||||
<source>Mark read</source>
|
||||
<translation>Marquer comme lu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="821"/>
|
||||
<location filename="../../__main__.py" line="835"/>
|
||||
<source>Mark unread</source>
|
||||
<translation>Marquer comme non-lu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="923"/>
|
||||
<location filename="../../__main__.py" line="940"/>
|
||||
<source>Manually Added</source>
|
||||
<translation>Manuellement ajouté</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="370"/>
|
||||
<location filename="../../contentwidgets.py" line="424"/>
|
||||
<source>Save page as...</source>
|
||||
<translation type="unfinished">Enregistrerla page sous…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="371"/>
|
||||
<location filename="../../contentwidgets.py" line="425"/>
|
||||
<source>Images</source>
|
||||
<translation type="unfinished">Images</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="579"/>
|
||||
<location filename="../../__main__.py" line="581"/>
|
||||
<source> books</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="546"/>
|
||||
<source>Delete book(s)?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MetadataUI</name>
|
||||
@@ -719,12 +739,12 @@ Reopen book to see changes</source>
|
||||
<context>
|
||||
<name>PliantQGraphicsScene</name>
|
||||
<message>
|
||||
<location filename="../../widgets.py" line="587"/>
|
||||
<location filename="../../widgets.py" line="621"/>
|
||||
<source>Select new cover</source>
|
||||
<translation>Choisissez une nouvelle couverture</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../widgets.py" line="588"/>
|
||||
<location filename="../../widgets.py" line="622"/>
|
||||
<source>Images</source>
|
||||
<translation>Images</translation>
|
||||
</message>
|
||||
@@ -732,32 +752,32 @@ Reopen book to see changes</source>
|
||||
<context>
|
||||
<name>PliantQGraphicsView</name>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="310"/>
|
||||
<location filename="../../contentwidgets.py" line="354"/>
|
||||
<source>Save page as...</source>
|
||||
<translation type="unfinished">Enregistrerla page sous…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="334"/>
|
||||
<location filename="../../contentwidgets.py" line="386"/>
|
||||
<source>Zoom in (+)</source>
|
||||
<translation type="unfinished">Zoom avant (+)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="338"/>
|
||||
<location filename="../../contentwidgets.py" line="390"/>
|
||||
<source>Zoom out (-)</source>
|
||||
<translation type="unfinished">Zoom arrière (-)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="342"/>
|
||||
<location filename="../../contentwidgets.py" line="394"/>
|
||||
<source>Fit width (W)</source>
|
||||
<translation type="unfinished">Ajuster à la largeur (W)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="346"/>
|
||||
<location filename="../../contentwidgets.py" line="398"/>
|
||||
<source>Best fit (B)</source>
|
||||
<translation type="unfinished">Meilleur ajustement (B)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="350"/>
|
||||
<location filename="../../contentwidgets.py" line="402"/>
|
||||
<source>Original size (O)</source>
|
||||
<translation type="unfinished">Taille d'origine (O)</translation>
|
||||
</message>
|
||||
@@ -767,45 +787,50 @@ Reopen book to see changes</source>
|
||||
<translation type="obsolete">Basculer en mode sans distraction</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="299"/>
|
||||
<location filename="../../contentwidgets.py" line="343"/>
|
||||
<source>Exit fullscreen</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="303"/>
|
||||
<location filename="../../contentwidgets.py" line="347"/>
|
||||
<source>Exit Distraction Free mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="314"/>
|
||||
<location filename="../../contentwidgets.py" line="358"/>
|
||||
<source>View</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="319"/>
|
||||
<location filename="../../contentwidgets.py" line="363"/>
|
||||
<source>Double page mode (D)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="326"/>
|
||||
<location filename="../../contentwidgets.py" line="370"/>
|
||||
<source>Manga mode (M)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="356"/>
|
||||
<location filename="../../contentwidgets.py" line="408"/>
|
||||
<source>Bookmarks</source>
|
||||
<translation type="unfinished">Marque-pages</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="377"/>
|
||||
<source>Invert page colors</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>PliantQTextBrowser</name>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="584"/>
|
||||
<location filename="../../contentwidgets.py" line="797"/>
|
||||
<source>Define</source>
|
||||
<translation type="unfinished">Définir</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="628"/>
|
||||
<location filename="../../contentwidgets.py" line="841"/>
|
||||
<source>Search</source>
|
||||
<translation type="unfinished">Rechercher</translation>
|
||||
</message>
|
||||
@@ -815,50 +840,70 @@ Reopen book to see changes</source>
|
||||
<translation type="obsolete">Basculer en mode sans distraction</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="568"/>
|
||||
<location filename="../../contentwidgets.py" line="781"/>
|
||||
<source>Exit fullscreen</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="572"/>
|
||||
<location filename="../../contentwidgets.py" line="785"/>
|
||||
<source>Exit Distraction Free mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="589"/>
|
||||
<location filename="../../contentwidgets.py" line="802"/>
|
||||
<source>Search for</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="594"/>
|
||||
<location filename="../../contentwidgets.py" line="807"/>
|
||||
<source>In this book</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="636"/>
|
||||
<location filename="../../contentwidgets.py" line="849"/>
|
||||
<source>Edit note</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="639"/>
|
||||
<location filename="../../contentwidgets.py" line="852"/>
|
||||
<source>Delete annotation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="643"/>
|
||||
<location filename="../../contentwidgets.py" line="856"/>
|
||||
<source>Add Bookmark</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="649"/>
|
||||
<location filename="../../contentwidgets.py" line="862"/>
|
||||
<source>Bookmarks</source>
|
||||
<translation type="unfinished">Marque-pages</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="610"/>
|
||||
<location filename="../../contentwidgets.py" line="823"/>
|
||||
<source>Annotate</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="763"/>
|
||||
<source>View</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="768"/>
|
||||
<source>Flow text</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="772"/>
|
||||
<source>Single page</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="776"/>
|
||||
<source>Double page</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsUI</name>
|
||||
@@ -883,80 +928,85 @@ Reopen book to see changes</source>
|
||||
<translation>Enregistrer les modifications et démarrer l'analyse de la bibliothèque</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="327"/>
|
||||
<location filename="../../settingsdialog.py" line="329"/>
|
||||
<source>Library scan in progress...</source>
|
||||
<translation>Analyse de la bibliothèque en cours…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="331"/>
|
||||
<location filename="../../settingsdialog.py" line="333"/>
|
||||
<source>Checking library folders</source>
|
||||
<translation>Vérification des dossiers de la bibliothèque</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="347"/>
|
||||
<location filename="../../settingsdialog.py" line="349"/>
|
||||
<source>Parsing files</source>
|
||||
<translation>Lecture des fichiers</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="129"/>
|
||||
<location filename="../../settingsdialog.py" line="131"/>
|
||||
<source>Library</source>
|
||||
<translation type="unfinished">Bibliothèque</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="130"/>
|
||||
<location filename="../../settingsdialog.py" line="132"/>
|
||||
<source>Switches</source>
|
||||
<translation type="unfinished">Options</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="132"/>
|
||||
<location filename="../../settingsdialog.py" line="134"/>
|
||||
<source>About</source>
|
||||
<translation type="unfinished">À propos</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="131"/>
|
||||
<location filename="../../settingsdialog.py" line="133"/>
|
||||
<source>Annotations</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="551"/>
|
||||
<location filename="../../settingsdialog.py" line="554"/>
|
||||
<source>Confirm</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="550"/>
|
||||
<source>Delete database and exit?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SideDock</name>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="123"/>
|
||||
<location filename="../../dockwidgets.py" line="131"/>
|
||||
<source>Bookmarks</source>
|
||||
<translation type="unfinished">Marque-pages</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="124"/>
|
||||
<location filename="../../dockwidgets.py" line="132"/>
|
||||
<source>New bookmark</source>
|
||||
<translation type="unfinished">Nouveau marque-page</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="300"/>
|
||||
<location filename="../../dockwidgets.py" line="308"/>
|
||||
<source>Annotations</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="347"/>
|
||||
<location filename="../../dockwidgets.py" line="355"/>
|
||||
<source>Search</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="348"/>
|
||||
<location filename="../../dockwidgets.py" line="356"/>
|
||||
<source>Search entire book</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="349"/>
|
||||
<location filename="../../dockwidgets.py" line="357"/>
|
||||
<source>Match case</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="350"/>
|
||||
<location filename="../../dockwidgets.py" line="358"/>
|
||||
<source>Match word</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -974,17 +1024,17 @@ Reopen book to see changes</source>
|
||||
<translation type="obsolete">Nouveau marque-page</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="264"/>
|
||||
<location filename="../../dockwidgets.py" line="272"/>
|
||||
<source>Edit</source>
|
||||
<translation>Modifier</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="267"/>
|
||||
<location filename="../../dockwidgets.py" line="275"/>
|
||||
<source>Delete</source>
|
||||
<translation>Supprimer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../widgets.py" line="146"/>
|
||||
<location filename="../../widgets.py" line="160"/>
|
||||
<source>Note</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
976
lector/resources/translations/Lector_ja.ts
Normal file
@@ -0,0 +1,976 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS><TS version="2.0" language="ja_JP" sourcelanguage="">
|
||||
<context>
|
||||
<name>AnnotationsUI</name>
|
||||
<message>
|
||||
<location filename="../../annotations.py" line="39"/>
|
||||
<source>Text markup</source>
|
||||
<translation>テキストをマークアップ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../annotations.py" line="126"/>
|
||||
<source>New annotation</source>
|
||||
<translation>新しい注釈</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BookToolBar</name>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="43"/>
|
||||
<source>View settings</source>
|
||||
<translation>設定を見る</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="51"/>
|
||||
<source>Add bookmark</source>
|
||||
<translation>ブックマークに追加</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="71"/>
|
||||
<source>Reset profile</source>
|
||||
<translation>プロファイルをリセット</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="96"/>
|
||||
<source>Font size</source>
|
||||
<translation>フォントサイズ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="100"/>
|
||||
<source>Increase padding</source>
|
||||
<translation>パディングを増やす</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="105"/>
|
||||
<source>Decrease padding</source>
|
||||
<translation>パディングを減らす</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="111"/>
|
||||
<source>Increase line spacing</source>
|
||||
<translation>行間を増やす</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="116"/>
|
||||
<source>Decrease line spacing</source>
|
||||
<translation>行間を減らす</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="122"/>
|
||||
<source>Left align text</source>
|
||||
<translation>左揃え</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="129"/>
|
||||
<source>Right align text</source>
|
||||
<translation>右揃え</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="136"/>
|
||||
<source>Center align text</source>
|
||||
<translation>中央揃え</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="143"/>
|
||||
<source>Justify text</source>
|
||||
<translation>両端揃え</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="277"/>
|
||||
<source>Background color</source>
|
||||
<translation>背景色</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="319"/>
|
||||
<source>Table of Contents</source>
|
||||
<translation>目次</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="55"/>
|
||||
<source>Bookmarks (Ctrl + B)</source>
|
||||
<translation>ブックマーク (Ctrl + B)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="47"/>
|
||||
<source>Annotations (Ctrl + N)</source>
|
||||
<translation>注釈 (Ctrl + N)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="59"/>
|
||||
<source>Search (Ctrl + F)</source>
|
||||
<translation>検索 (Ctrl + F)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="67"/>
|
||||
<source>Fullscreen (F)</source>
|
||||
<translation>全画面表示 (F)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="216"/>
|
||||
<source>Double page mode (D)</source>
|
||||
<translation>見開きページモード (D)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="223"/>
|
||||
<source>Manga mode (M)</source>
|
||||
<translation>漫画モード (M)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="246"/>
|
||||
<source>Zoom in (+)</source>
|
||||
<translation>拡大 (+)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="251"/>
|
||||
<source>Zoom Out (-)</source>
|
||||
<translation>縮小 (-)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="257"/>
|
||||
<source>Fit Width (W)</source>
|
||||
<translation>幅に合わせる (W)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="263"/>
|
||||
<source>Best Fit (B)</source>
|
||||
<translation>最適表示 (B)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="269"/>
|
||||
<source>Original size (O)</source>
|
||||
<translation>元のサイズ (O)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="230"/>
|
||||
<source>Invert page colors</source>
|
||||
<translation>ページの色を反転</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="237"/>
|
||||
<source>Rotate image clockwise</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="241"/>
|
||||
<source>Rotate image anti-clockwise</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DefinitionsUI</name>
|
||||
<message>
|
||||
<location filename="../../definitionsdialog.py" line="143"/>
|
||||
<source>No definitions found in</source>
|
||||
<translation>定義が見つかりません</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Dialog</name>
|
||||
<message>
|
||||
<location filename="../definitions.py" line="65"/>
|
||||
<source>Dialog</source>
|
||||
<translation>ダイアログ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../definitions.py" line="66"/>
|
||||
<source>WERDS</source>
|
||||
<translation>WERDS</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../definitions.py" line="67"/>
|
||||
<source>Play pronunciation of root word</source>
|
||||
<translation>語根の発音を再生</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="377"/>
|
||||
<source>Settings</source>
|
||||
<translation>設定</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="378"/>
|
||||
<source>Library</source>
|
||||
<translation>ライブラリ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="386"/>
|
||||
<source>Startup: Refresh library</source>
|
||||
<translation>起動時にライブラリを更新</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="387"/>
|
||||
<source>Remember open files</source>
|
||||
<translation>開いたファイルを記録する</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="391"/>
|
||||
<source>Generate tags from files</source>
|
||||
<translation>ファイルからタグを生成する</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="388"/>
|
||||
<source>Cover shadows</source>
|
||||
<translation>表紙に影を付ける</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="389"/>
|
||||
<source>Enabling reduces startup time and memory usage</source>
|
||||
<translation>起動時間の短縮とメモリ使用量の削減を有効にする</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="390"/>
|
||||
<source>Load covers only when needed</source>
|
||||
<translation>必要なときだけ表紙を読み込む</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="400"/>
|
||||
<source>Greatly reduces page transition time at the cost of more memory</source>
|
||||
<translation>より多くのメモリを使用してページ移動時間を大幅に短縮する</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="401"/>
|
||||
<source>Cache comic / pdf pages</source>
|
||||
<translation>漫画とPDFのページをキャッシュする</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="381"/>
|
||||
<source>Icon theme: </source>
|
||||
<translation>アイコンテーマ: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="421"/>
|
||||
<source>Scan Library</source>
|
||||
<translation>ライブラリをスキャン</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="422"/>
|
||||
<source>Close</source>
|
||||
<translation>閉じる</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../metadata.py" line="88"/>
|
||||
<source>Edit metadata</source>
|
||||
<translation>メタデータを編集する</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../metadata.py" line="89"/>
|
||||
<source>Cover (click to change)</source>
|
||||
<translation>表紙 (クリックして変更)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../metadata.py" line="91"/>
|
||||
<source>Title</source>
|
||||
<translation>タイトル</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../metadata.py" line="93"/>
|
||||
<source>Author</source>
|
||||
<translation>著者</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../metadata.py" line="95"/>
|
||||
<source>Year</source>
|
||||
<translation>年</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../metadata.py" line="96"/>
|
||||
<source>Tags (comma separated)</source>
|
||||
<translation>タグ (カンマ区切り)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../metadata.py" line="97"/>
|
||||
<source>Tags</source>
|
||||
<translation>タグ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../metadata.py" line="98"/>
|
||||
<source>OK</source>
|
||||
<translation>OK</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../metadata.py" line="99"/>
|
||||
<source>Cancel</source>
|
||||
<translation>キャンセル</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="397"/>
|
||||
<source>Horizontal scrolling with Alt + Scroll
|
||||
Reopen book to see changes</source>
|
||||
<translation>Alt + Scroll による水平スクロール
|
||||
変更を確認するために本を再度開く</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="399"/>
|
||||
<source>Hide scrollbars when reading</source>
|
||||
<translation>読むときにスクロールバーを隠す</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="384"/>
|
||||
<source>Restart application to see changes</source>
|
||||
<translation>アプリケーションを再起動して変更を確認</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="383"/>
|
||||
<source>&Dark</source>
|
||||
<translation>ダーク (&D)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="385"/>
|
||||
<source>L&ight</source>
|
||||
<translation>ライト (&i)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="396"/>
|
||||
<source>Reading</source>
|
||||
<translation>読む</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="379"/>
|
||||
<source>Consider book read at percent</source>
|
||||
<translation>全てのページを読み終えたときに、既読としてマークする</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="408"/>
|
||||
<source>Dictionary language</source>
|
||||
<translation>辞書の言語</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="409"/>
|
||||
<source>Scroll speed</source>
|
||||
<translation>スクロール速度</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="415"/>
|
||||
<source>Text</source>
|
||||
<translation>テキスト</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="410"/>
|
||||
<source>New</source>
|
||||
<translation>新規</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="411"/>
|
||||
<source>Delete</source>
|
||||
<translation>削除</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="412"/>
|
||||
<source>Edit</source>
|
||||
<translation>編集</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="413"/>
|
||||
<source>Move Up</source>
|
||||
<translation>上に移動</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="414"/>
|
||||
<source>Move Down</source>
|
||||
<translation>下に移動</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="416"/>
|
||||
<source>Image</source>
|
||||
<translation>画像</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="392"/>
|
||||
<source>Shrink long book titles</source>
|
||||
<translation>長いタイトルを短縮する</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="404"/>
|
||||
<source><html><head/><body><p>UP/DOWN ARROW - Steps to take before turning comicbook page</p></body></html></source>
|
||||
<translation><html><head/><body><p>上下矢印 - 漫画のページを捲る前に実行する手順</p></body></html></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="403"/>
|
||||
<source>Small increment</source>
|
||||
<translation>小さい増分</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="407"/>
|
||||
<source><html><head/><body><p>SPACEBAR - Steps to take before turning comicbook page</p></body></html></source>
|
||||
<translation><html><head/><body><p>スペースバー - 漫画のページを捲る前に実行する手順</p></body></html></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="406"/>
|
||||
<source>Large increment</source>
|
||||
<translation>大きい増分</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="394"/>
|
||||
<source><html><head/><body><p>Attempt to download missing book covers from Google books - SLOW</p></body></html></source>
|
||||
<translation><html><head/><body><p>欠落している本の表紙を Google ブックス からダウンロードしようとします - 遅い</p></body></html></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="395"/>
|
||||
<source>Download missing covers</source>
|
||||
<translation>欠落している表紙をダウンロードする</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="417"/>
|
||||
<source>About</source>
|
||||
<translation>About</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="418"/>
|
||||
<source>Log</source>
|
||||
<translation>ログ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="419"/>
|
||||
<source>Reset Application</source>
|
||||
<translation>アプリケーションをリセットする</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="420"/>
|
||||
<source>Clear Log</source>
|
||||
<translation>ログをクリア</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="393"/>
|
||||
<source>Show navigation bar</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Library</name>
|
||||
<message>
|
||||
<location filename="../../library.py" line="129"/>
|
||||
<source>Author</source>
|
||||
<translation>著者</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../library.py" line="130"/>
|
||||
<source>Year</source>
|
||||
<translation>年</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../library.py" line="289"/>
|
||||
<source>manually added</source>
|
||||
<translation>手動で追加</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../library.py" line="212"/>
|
||||
<source> books</source>
|
||||
<translation> 本</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LibraryToolBar</name>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="402"/>
|
||||
<source>Add book</source>
|
||||
<translation>本を追加</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="406"/>
|
||||
<source>Delete book</source>
|
||||
<translation>本を削除</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="433"/>
|
||||
<source>Library background color</source>
|
||||
<translation>ライブラリの背景色</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="438"/>
|
||||
<source>Settings</source>
|
||||
<translation>設定</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="411"/>
|
||||
<source>View as covers</source>
|
||||
<translation>表紙ビュー</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="416"/>
|
||||
<source>View as table</source>
|
||||
<translation>テーブルビュー</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="430"/>
|
||||
<source>Filter library</source>
|
||||
<translation>ライブラリをフィルター</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="475"/>
|
||||
<source>Search for Title, Author, Tags...</source>
|
||||
<translation>タイトル、著者、タグで検索...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="494"/>
|
||||
<source>Sort by</source>
|
||||
<translation>並べ替え</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="422"/>
|
||||
<source>Scan Library</source>
|
||||
<translation>ライブラリをスキャン</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="481"/>
|
||||
<source>Title</source>
|
||||
<translation>タイトル</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="482"/>
|
||||
<source>Author</source>
|
||||
<translation>著者</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="483"/>
|
||||
<source>Year</source>
|
||||
<translation>年</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="484"/>
|
||||
<source>Newest</source>
|
||||
<translation>最新</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="485"/>
|
||||
<source>Last Read</source>
|
||||
<translation>最後に読んだ日時</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="486"/>
|
||||
<source>Progress</source>
|
||||
<translation>進捗</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="444"/>
|
||||
<source>About</source>
|
||||
<translation>Lector について</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MainWindow</name>
|
||||
<message>
|
||||
<location filename="../mainwindow.py" line="67"/>
|
||||
<source>Lector</source>
|
||||
<translation>Lector</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.py" line="68"/>
|
||||
<source>Library</source>
|
||||
<translation>ライブラリ</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Main_BookToolBarUI</name>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="63"/>
|
||||
<source>Toggle distraction free mode (Ctrl + D)</source>
|
||||
<translation>気が散らないモードに切り替え (Ctrl + D)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Main_UI</name>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="477"/>
|
||||
<source>Add books to database</source>
|
||||
<translation>データベースに本を追加</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="478"/>
|
||||
<source>eBooks</source>
|
||||
<translation>電子書籍</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="492"/>
|
||||
<source>Adding books...</source>
|
||||
<translation>追加する本...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="550"/>
|
||||
<source>Confirm deletion</source>
|
||||
<translation>削除を確認</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="563"/>
|
||||
<source>Save changes and start library scan</source>
|
||||
<translation>変更を保存しライブラリのスキャンを開始する</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="630"/>
|
||||
<source> Books</source>
|
||||
<translation> 本</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="819"/>
|
||||
<source>Start reading</source>
|
||||
<translation>読み始める</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="825"/>
|
||||
<source>Edit</source>
|
||||
<translation>編集</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="829"/>
|
||||
<source>Delete</source>
|
||||
<translation>削除</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="832"/>
|
||||
<source>Mark read</source>
|
||||
<translation>既読にする</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="835"/>
|
||||
<source>Mark unread</source>
|
||||
<translation>未読にする</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="940"/>
|
||||
<source>Manually Added</source>
|
||||
<translation>手動で追加</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="581"/>
|
||||
<source> books</source>
|
||||
<translation> 本</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="424"/>
|
||||
<source>Save page as...</source>
|
||||
<translation>ページを保存...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="425"/>
|
||||
<source>Images</source>
|
||||
<translation>画像</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="546"/>
|
||||
<source>Delete book(s)?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MetadataUI</name>
|
||||
<message>
|
||||
<location filename="../../metadatadialog.py" line="106"/>
|
||||
<source>Author</source>
|
||||
<translation>著者</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../metadatadialog.py" line="107"/>
|
||||
<source>Year</source>
|
||||
<translation>年</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>PliantQGraphicsScene</name>
|
||||
<message>
|
||||
<location filename="../../widgets.py" line="621"/>
|
||||
<source>Select new cover</source>
|
||||
<translation>新しい表紙を選択</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../widgets.py" line="622"/>
|
||||
<source>Images</source>
|
||||
<translation>画像</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>PliantQGraphicsView</name>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="343"/>
|
||||
<source>Exit fullscreen</source>
|
||||
<translation>全画面表示を終了</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="347"/>
|
||||
<source>Exit Distraction Free mode</source>
|
||||
<translation>気が散らないモードを終了</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="354"/>
|
||||
<source>Save page as...</source>
|
||||
<translation>ページを保存...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="358"/>
|
||||
<source>View</source>
|
||||
<translation>見る</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="363"/>
|
||||
<source>Double page mode (D)</source>
|
||||
<translation>見開きページモード (D)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="370"/>
|
||||
<source>Manga mode (M)</source>
|
||||
<translation>漫画モード (M)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="386"/>
|
||||
<source>Zoom in (+)</source>
|
||||
<translation>拡大 (+)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="390"/>
|
||||
<source>Zoom out (-)</source>
|
||||
<translation>縮小 (-)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="394"/>
|
||||
<source>Fit width (W)</source>
|
||||
<translation>幅に合わせる (W)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="398"/>
|
||||
<source>Best fit (B)</source>
|
||||
<translation>最適表示 (B)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="402"/>
|
||||
<source>Original size (O)</source>
|
||||
<translation>元のサイズ (O)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="408"/>
|
||||
<source>Bookmarks</source>
|
||||
<translation>ブックマーク</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="377"/>
|
||||
<source>Invert page colors</source>
|
||||
<translation type="unfinished">ページの色を反転</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>PliantQTextBrowser</name>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="781"/>
|
||||
<source>Exit fullscreen</source>
|
||||
<translation>全画面表示を終了</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="785"/>
|
||||
<source>Exit Distraction Free mode</source>
|
||||
<translation>気が散らないモードを終了</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="797"/>
|
||||
<source>Define</source>
|
||||
<translation>定義する</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="802"/>
|
||||
<source>Search for</source>
|
||||
<translation>検索する</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="807"/>
|
||||
<source>In this book</source>
|
||||
<translation>この本で</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="841"/>
|
||||
<source>Search</source>
|
||||
<translation>検索</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="849"/>
|
||||
<source>Edit note</source>
|
||||
<translation>メモを編集</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="852"/>
|
||||
<source>Delete annotation</source>
|
||||
<translation>注釈を削除</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="856"/>
|
||||
<source>Add Bookmark</source>
|
||||
<translation>ブックマークに追加</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="862"/>
|
||||
<source>Bookmarks</source>
|
||||
<translation>ブックマーク</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="823"/>
|
||||
<source>Annotate</source>
|
||||
<translation>注釈を付ける</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="763"/>
|
||||
<source>View</source>
|
||||
<translation type="unfinished">見る</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="768"/>
|
||||
<source>Flow text</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="772"/>
|
||||
<source>Single page</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="776"/>
|
||||
<source>Double page</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsUI</name>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="69"/>
|
||||
<source>English</source>
|
||||
<translation>英語</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="70"/>
|
||||
<source>Spanish</source>
|
||||
<translation>スペイン語</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="71"/>
|
||||
<source>Hindi</source>
|
||||
<translation>ヒンディー語</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="84"/>
|
||||
<source>Save changes and start library scan</source>
|
||||
<translation>変更を保存しライブラリのスキャンを開始する</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="329"/>
|
||||
<source>Library scan in progress...</source>
|
||||
<translation>ライブラリスキャンを実行中...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="333"/>
|
||||
<source>Checking library folders</source>
|
||||
<translation>ライブラリフォルダの確認</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="349"/>
|
||||
<source>Parsing files</source>
|
||||
<translation>ファイルの解析</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="131"/>
|
||||
<source>Library</source>
|
||||
<translation>ライブラリ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="132"/>
|
||||
<source>Switches</source>
|
||||
<translation>スイッチ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="134"/>
|
||||
<source>About</source>
|
||||
<translation>About</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="133"/>
|
||||
<source>Annotations</source>
|
||||
<translation>注釈</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="554"/>
|
||||
<source>Confirm</source>
|
||||
<translation>確認</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="550"/>
|
||||
<source>Delete database and exit?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SideDock</name>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="131"/>
|
||||
<source>Bookmarks</source>
|
||||
<translation>ブックマーク</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="132"/>
|
||||
<source>New bookmark</source>
|
||||
<translation>新しいブックマーク</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="308"/>
|
||||
<source>Annotations</source>
|
||||
<translation>注釈</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="355"/>
|
||||
<source>Search</source>
|
||||
<translation>検索</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="356"/>
|
||||
<source>Search entire book</source>
|
||||
<translation>本全体を検索</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="357"/>
|
||||
<source>Match case</source>
|
||||
<translation>一致するケース</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="358"/>
|
||||
<source>Match word</source>
|
||||
<translation>一致する単語</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Tab</name>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="272"/>
|
||||
<source>Edit</source>
|
||||
<translation>編集</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="275"/>
|
||||
<source>Delete</source>
|
||||
<translation>削除</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../widgets.py" line="160"/>
|
||||
<source>Note</source>
|
||||
<translation>メモ</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TableProxyModel</name>
|
||||
<message>
|
||||
<location filename="../../models.py" line="71"/>
|
||||
<source>Title</source>
|
||||
<translation>タイトル</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../models.py" line="72"/>
|
||||
<source>Author</source>
|
||||
<translation>著者</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../models.py" line="73"/>
|
||||
<source>Year</source>
|
||||
<translation>年</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../models.py" line="74"/>
|
||||
<source>Last Read</source>
|
||||
<translation>最後に読んだ日時</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../models.py" line="75"/>
|
||||
<source>Tags</source>
|
||||
<translation>タグ</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
976
lector/resources/translations/Lector_pt.ts
Normal file
@@ -0,0 +1,976 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS><TS version="2.0" language="pt_BR" sourcelanguage="">
|
||||
<context>
|
||||
<name>AnnotationsUI</name>
|
||||
<message>
|
||||
<location filename="../../annotations.py" line="39"/>
|
||||
<source>Text markup</source>
|
||||
<translation>Marcação do texto</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../annotations.py" line="126"/>
|
||||
<source>New annotation</source>
|
||||
<translation>Nova anotação</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BookToolBar</name>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="43"/>
|
||||
<source>View settings</source>
|
||||
<translation>Ver configurações</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="51"/>
|
||||
<source>Add bookmark</source>
|
||||
<translation>Adicionar marca páginas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="71"/>
|
||||
<source>Reset profile</source>
|
||||
<translation>Reinicializar perfil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="96"/>
|
||||
<source>Font size</source>
|
||||
<translation>Tamanho da fonte</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="100"/>
|
||||
<source>Increase padding</source>
|
||||
<translation>Aumentar padding</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="105"/>
|
||||
<source>Decrease padding</source>
|
||||
<translation>Diminuir padding</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="111"/>
|
||||
<source>Increase line spacing</source>
|
||||
<translation>Aumentar espaçamento entre linhas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="116"/>
|
||||
<source>Decrease line spacing</source>
|
||||
<translation>Diminuir espaçamento entre linhas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="122"/>
|
||||
<source>Left align text</source>
|
||||
<translation>Alinhar texto à esquerda</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="129"/>
|
||||
<source>Right align text</source>
|
||||
<translation>Alinhar texto à direita</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="136"/>
|
||||
<source>Center align text</source>
|
||||
<translation>Centralizar texto</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="143"/>
|
||||
<source>Justify text</source>
|
||||
<translation>Justificar texto</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="277"/>
|
||||
<source>Background color</source>
|
||||
<translation>Cor do fundo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="319"/>
|
||||
<source>Table of Contents</source>
|
||||
<translation>Índice</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="55"/>
|
||||
<source>Bookmarks (Ctrl + B)</source>
|
||||
<translation>Marcadores de página (Ctrl + B)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="47"/>
|
||||
<source>Annotations (Ctrl + N)</source>
|
||||
<translation>Anotações (Ctrl + N)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="59"/>
|
||||
<source>Search (Ctrl + F)</source>
|
||||
<translation>Procurar (Ctrl + F)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="67"/>
|
||||
<source>Fullscreen (F)</source>
|
||||
<translation>Tela cheia (F)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="216"/>
|
||||
<source>Double page mode (D)</source>
|
||||
<translation>Modo de páginas dupla (D)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="223"/>
|
||||
<source>Manga mode (M)</source>
|
||||
<translation>Modo mangá (M)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="246"/>
|
||||
<source>Zoom in (+)</source>
|
||||
<translation>Aumentar zoom (+)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="251"/>
|
||||
<source>Zoom Out (-)</source>
|
||||
<translation>Diminuir zoom (-)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="257"/>
|
||||
<source>Fit Width (W)</source>
|
||||
<translation>Ajustar largura (W)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="263"/>
|
||||
<source>Best Fit (B)</source>
|
||||
<translation>Melhor ajuste (B)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="269"/>
|
||||
<source>Original size (O)</source>
|
||||
<translation>Tamanho original (O)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="230"/>
|
||||
<source>Invert page colors</source>
|
||||
<translation>Inverter cores da página</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="237"/>
|
||||
<source>Rotate image clockwise</source>
|
||||
<translation>Rotacionar imagem no sentido horário</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="241"/>
|
||||
<source>Rotate image anti-clockwise</source>
|
||||
<translation>Rotacionar imagem no sentido anti-horário</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DefinitionsUI</name>
|
||||
<message>
|
||||
<location filename="../../definitionsdialog.py" line="143"/>
|
||||
<source>No definitions found in</source>
|
||||
<translation>Nenhuma definição achada em</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Dialog</name>
|
||||
<message>
|
||||
<location filename="../definitions.py" line="65"/>
|
||||
<source>Dialog</source>
|
||||
<translation>Diálogo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../definitions.py" line="66"/>
|
||||
<source>WERDS</source>
|
||||
<translation>PALAVRAS</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../definitions.py" line="67"/>
|
||||
<source>Play pronunciation of root word</source>
|
||||
<translation>Reproduzir pronúncia da palavra raiz</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="377"/>
|
||||
<source>Settings</source>
|
||||
<translation>Configurações</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="378"/>
|
||||
<source>Library</source>
|
||||
<translation>Biblioteca</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="386"/>
|
||||
<source>Startup: Refresh library</source>
|
||||
<translation>Inicialização: Atualizar biblioteca</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="387"/>
|
||||
<source>Remember open files</source>
|
||||
<translation>Lembrar dos arquivos abertos</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="391"/>
|
||||
<source>Generate tags from files</source>
|
||||
<translation>Gerar palavras-chave a partir de arquivos</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="388"/>
|
||||
<source>Cover shadows</source>
|
||||
<translation>Sombra nas capas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="389"/>
|
||||
<source>Enabling reduces startup time and memory usage</source>
|
||||
<translation>Habilitar diminuir tempo de inicialização e uso de memória</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="390"/>
|
||||
<source>Load covers only when needed</source>
|
||||
<translation>Carregar capas somente quando necessário</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="400"/>
|
||||
<source>Greatly reduces page transition time at the cost of more memory</source>
|
||||
<translation>Reduz bastante o tempo de transição de páginas pelo custo de mais memória</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="401"/>
|
||||
<source>Cache comic / pdf pages</source>
|
||||
<translation>Armazenar comic / páginas pdf em cache</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="381"/>
|
||||
<source>Icon theme: </source>
|
||||
<translation>Tema do ícone: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="421"/>
|
||||
<source>Scan Library</source>
|
||||
<translation>Scanear Biblioteca</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="422"/>
|
||||
<source>Close</source>
|
||||
<translation>Fechar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../metadata.py" line="88"/>
|
||||
<source>Edit metadata</source>
|
||||
<translation>Editar metadados</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../metadata.py" line="89"/>
|
||||
<source>Cover (click to change)</source>
|
||||
<translation>Capa (clique para mudar)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../metadata.py" line="91"/>
|
||||
<source>Title</source>
|
||||
<translation>Título</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../metadata.py" line="93"/>
|
||||
<source>Author</source>
|
||||
<translation>Autor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../metadata.py" line="95"/>
|
||||
<source>Year</source>
|
||||
<translation>Ano</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../metadata.py" line="96"/>
|
||||
<source>Tags (comma separated)</source>
|
||||
<translation>Palavras-chave (separadas por vígula)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../metadata.py" line="97"/>
|
||||
<source>Tags</source>
|
||||
<translation>Palavras-chave</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../metadata.py" line="98"/>
|
||||
<source>OK</source>
|
||||
<translation>OK</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../metadata.py" line="99"/>
|
||||
<source>Cancel</source>
|
||||
<translation>Cancelar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="397"/>
|
||||
<source>Horizontal scrolling with Alt + Scroll
|
||||
Reopen book to see changes</source>
|
||||
<translation>Rolagem horizontal com Alt + rolagem
|
||||
Reabrir livro para ver mudanças</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="399"/>
|
||||
<source>Hide scrollbars when reading</source>
|
||||
<translation>Esconder barra de rolagem quando estiver lendo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="384"/>
|
||||
<source>Restart application to see changes</source>
|
||||
<translation>Reabrir aplicativo para ver as mudanças</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="383"/>
|
||||
<source>&Dark</source>
|
||||
<translation>&Escuro</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="385"/>
|
||||
<source>L&ight</source>
|
||||
<translation>C&laro</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="396"/>
|
||||
<source>Reading</source>
|
||||
<translation>Leitura</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="379"/>
|
||||
<source>Consider book read at percent</source>
|
||||
<translation>Considerar livro lido na porcentagem</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="408"/>
|
||||
<source>Dictionary language</source>
|
||||
<translation>Língua do dicionário</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="409"/>
|
||||
<source>Scroll speed</source>
|
||||
<translation>Velocidade de rolagem</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="415"/>
|
||||
<source>Text</source>
|
||||
<translation>Texto</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="410"/>
|
||||
<source>New</source>
|
||||
<translation>Novo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="411"/>
|
||||
<source>Delete</source>
|
||||
<translation>Deletar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="412"/>
|
||||
<source>Edit</source>
|
||||
<translation>Editar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="413"/>
|
||||
<source>Move Up</source>
|
||||
<translation>Mover para cima</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="414"/>
|
||||
<source>Move Down</source>
|
||||
<translation>Mover para baixo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="416"/>
|
||||
<source>Image</source>
|
||||
<translation>Imagem</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="392"/>
|
||||
<source>Shrink long book titles</source>
|
||||
<translation>Encurtar títulos de livros longos</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="404"/>
|
||||
<source><html><head/><body><p>UP/DOWN ARROW - Steps to take before turning comicbook page</p></body></html></source>
|
||||
<translation><html><head/><body><p>SETAS CIMA/BAIXO - Passos para virar a página de história em quadrinhos</p></body></html></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="403"/>
|
||||
<source>Small increment</source>
|
||||
<translation>Pequeno incremento</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="407"/>
|
||||
<source><html><head/><body><p>SPACEBAR - Steps to take before turning comicbook page</p></body></html></source>
|
||||
<translation><html><head/><body><p>BARRA DE ESPAÇO - Passos para virar a página de história em quadrinhos</p></body></html></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="406"/>
|
||||
<source>Large increment</source>
|
||||
<translation>Grande incremento</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="394"/>
|
||||
<source><html><head/><body><p>Attempt to download missing book covers from Google books - SLOW</p></body></html></source>
|
||||
<translation><html><head/><body><p>Tentativa de baixar capas ausentes do Google books - DEVAGAR</p></body></html></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="395"/>
|
||||
<source>Download missing covers</source>
|
||||
<translation>Fazer download das capas ausentes</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="417"/>
|
||||
<source>About</source>
|
||||
<translation>Sobre</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="418"/>
|
||||
<source>Log</source>
|
||||
<translation>Log</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="419"/>
|
||||
<source>Reset Application</source>
|
||||
<translation>Resetar aplicativo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="420"/>
|
||||
<source>Clear Log</source>
|
||||
<translation>Apagar log</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="393"/>
|
||||
<source>Show navigation bar</source>
|
||||
<translation>Mostrar barra de navegação</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Library</name>
|
||||
<message>
|
||||
<location filename="../../library.py" line="129"/>
|
||||
<source>Author</source>
|
||||
<translation>Autor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../library.py" line="130"/>
|
||||
<source>Year</source>
|
||||
<translation>Ano</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../library.py" line="289"/>
|
||||
<source>manually added</source>
|
||||
<translation>adicionado manualmente</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../library.py" line="212"/>
|
||||
<source> books</source>
|
||||
<translation> livros</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LibraryToolBar</name>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="402"/>
|
||||
<source>Add book</source>
|
||||
<translation>Adicionar livro</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="406"/>
|
||||
<source>Delete book</source>
|
||||
<translation>Deletar livro</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="433"/>
|
||||
<source>Library background color</source>
|
||||
<translation>Cor de fundo da biblioteca</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="438"/>
|
||||
<source>Settings</source>
|
||||
<translation>Configurações</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="411"/>
|
||||
<source>View as covers</source>
|
||||
<translation>Visualizar como capas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="416"/>
|
||||
<source>View as table</source>
|
||||
<translation>Visualizar como tabela</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="430"/>
|
||||
<source>Filter library</source>
|
||||
<translation>Filtrar biblioteca</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="475"/>
|
||||
<source>Search for Title, Author, Tags...</source>
|
||||
<translation>Procurar por título, autor, palavras-chave...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="494"/>
|
||||
<source>Sort by</source>
|
||||
<translation>Ordenar por</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="422"/>
|
||||
<source>Scan Library</source>
|
||||
<translation>Scanear biblioteca</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="481"/>
|
||||
<source>Title</source>
|
||||
<translation>Título</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="482"/>
|
||||
<source>Author</source>
|
||||
<translation>Autor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="483"/>
|
||||
<source>Year</source>
|
||||
<translation>Ano</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="484"/>
|
||||
<source>Newest</source>
|
||||
<translation>Mais novo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="485"/>
|
||||
<source>Last Read</source>
|
||||
<translation>Último lido</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="486"/>
|
||||
<source>Progress</source>
|
||||
<translation>Progresso</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="444"/>
|
||||
<source>About</source>
|
||||
<translation>Sobre</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MainWindow</name>
|
||||
<message>
|
||||
<location filename="../mainwindow.py" line="67"/>
|
||||
<source>Lector</source>
|
||||
<translation>Lector</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.py" line="68"/>
|
||||
<source>Library</source>
|
||||
<translation>Biblioteca</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Main_BookToolBarUI</name>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="63"/>
|
||||
<source>Toggle distraction free mode (Ctrl + D)</source>
|
||||
<translation>Alternar modo sem distrações (Ctrl +D)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Main_UI</name>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="477"/>
|
||||
<source>Add books to database</source>
|
||||
<translation>Adicionar livros na base de dados</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="478"/>
|
||||
<source>eBooks</source>
|
||||
<translation>eBooks</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="492"/>
|
||||
<source>Adding books...</source>
|
||||
<translation>Adicionando livros...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="550"/>
|
||||
<source>Confirm deletion</source>
|
||||
<translation>Confirmar remoção</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="563"/>
|
||||
<source>Save changes and start library scan</source>
|
||||
<translation>Salvar mudanças e começar scanear bibloteca</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="630"/>
|
||||
<source> Books</source>
|
||||
<translation> Livros</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="819"/>
|
||||
<source>Start reading</source>
|
||||
<translation>Começar leitura</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="825"/>
|
||||
<source>Edit</source>
|
||||
<translation>Editar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="829"/>
|
||||
<source>Delete</source>
|
||||
<translation>Deletar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="832"/>
|
||||
<source>Mark read</source>
|
||||
<translation>Marcar como lido</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="835"/>
|
||||
<source>Mark unread</source>
|
||||
<translation>Marcar como não-lido</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="940"/>
|
||||
<source>Manually Added</source>
|
||||
<translation>Adicionado manualmente</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="581"/>
|
||||
<source> books</source>
|
||||
<translation> livros</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="424"/>
|
||||
<source>Save page as...</source>
|
||||
<translation>Salvar página como...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="425"/>
|
||||
<source>Images</source>
|
||||
<translation>Imagens</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="546"/>
|
||||
<source>Delete book(s)?</source>
|
||||
<translation>Deletar livro(s)?</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MetadataUI</name>
|
||||
<message>
|
||||
<location filename="../../metadatadialog.py" line="106"/>
|
||||
<source>Author</source>
|
||||
<translation>Autor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../metadatadialog.py" line="107"/>
|
||||
<source>Year</source>
|
||||
<translation>Ano</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>PliantQGraphicsScene</name>
|
||||
<message>
|
||||
<location filename="../../widgets.py" line="621"/>
|
||||
<source>Select new cover</source>
|
||||
<translation>Selecionar nova capa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../widgets.py" line="622"/>
|
||||
<source>Images</source>
|
||||
<translation>Imagens</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>PliantQGraphicsView</name>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="343"/>
|
||||
<source>Exit fullscreen</source>
|
||||
<translation>Sair da tela cheia</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="347"/>
|
||||
<source>Exit Distraction Free mode</source>
|
||||
<translation>Sair do modo sem distrações</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="354"/>
|
||||
<source>Save page as...</source>
|
||||
<translation>Salvar página como...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="358"/>
|
||||
<source>View</source>
|
||||
<translation>Visualização</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="363"/>
|
||||
<source>Double page mode (D)</source>
|
||||
<translation>Modo de páginas dupla (D)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="370"/>
|
||||
<source>Manga mode (M)</source>
|
||||
<translation>Modo mangá (M)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="386"/>
|
||||
<source>Zoom in (+)</source>
|
||||
<translation>Aumentar zoom (+)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="390"/>
|
||||
<source>Zoom out (-)</source>
|
||||
<translation>Diminuir zoom (-)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="394"/>
|
||||
<source>Fit width (W)</source>
|
||||
<translation>Ajustar largura (W)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="398"/>
|
||||
<source>Best fit (B)</source>
|
||||
<translation>Melhor ajuste (B)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="402"/>
|
||||
<source>Original size (O)</source>
|
||||
<translation>Tamanho original (O)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="408"/>
|
||||
<source>Bookmarks</source>
|
||||
<translation>Marca páginas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="377"/>
|
||||
<source>Invert page colors</source>
|
||||
<translation>Inverter cores da página</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>PliantQTextBrowser</name>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="781"/>
|
||||
<source>Exit fullscreen</source>
|
||||
<translation>Sair da tela cheia</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="785"/>
|
||||
<source>Exit Distraction Free mode</source>
|
||||
<translation>Sair do modo sem distrações</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="797"/>
|
||||
<source>Define</source>
|
||||
<translation>Definir</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="802"/>
|
||||
<source>Search for</source>
|
||||
<translation>Procurar por</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="807"/>
|
||||
<source>In this book</source>
|
||||
<translation>Neste livro</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="841"/>
|
||||
<source>Search</source>
|
||||
<translation>Procurar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="849"/>
|
||||
<source>Edit note</source>
|
||||
<translation>Editar nota</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="852"/>
|
||||
<source>Delete annotation</source>
|
||||
<translation>Deletar anotação</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="856"/>
|
||||
<source>Add Bookmark</source>
|
||||
<translation>Adicionar marca páginas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="862"/>
|
||||
<source>Bookmarks</source>
|
||||
<translation>Marca páginas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="823"/>
|
||||
<source>Annotate</source>
|
||||
<translation>Anotar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="763"/>
|
||||
<source>View</source>
|
||||
<translation>Visualização</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="768"/>
|
||||
<source>Flow text</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="772"/>
|
||||
<source>Single page</source>
|
||||
<translation>Página simples</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="776"/>
|
||||
<source>Double page</source>
|
||||
<translation>Página dupla</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsUI</name>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="69"/>
|
||||
<source>English</source>
|
||||
<translation>Inglês</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="70"/>
|
||||
<source>Spanish</source>
|
||||
<translation>Espanhol</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="71"/>
|
||||
<source>Hindi</source>
|
||||
<translation>Hindi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="84"/>
|
||||
<source>Save changes and start library scan</source>
|
||||
<translation>Salvar mudanças e começar scanear bibloteca</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="329"/>
|
||||
<source>Library scan in progress...</source>
|
||||
<translation>Scan da biblioteca em progresso...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="333"/>
|
||||
<source>Checking library folders</source>
|
||||
<translation>Checando pastas da biblioteca</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="349"/>
|
||||
<source>Parsing files</source>
|
||||
<translation>Analisando arquivos</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="131"/>
|
||||
<source>Library</source>
|
||||
<translation>Biblioteca</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="132"/>
|
||||
<source>Switches</source>
|
||||
<translation>Configurações</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="134"/>
|
||||
<source>About</source>
|
||||
<translation>Sobre</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="133"/>
|
||||
<source>Annotations</source>
|
||||
<translation>Anotações</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="554"/>
|
||||
<source>Confirm</source>
|
||||
<translation>Confirmar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="550"/>
|
||||
<source>Delete database and exit?</source>
|
||||
<translation>Deletar banco de dados e sair?</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SideDock</name>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="131"/>
|
||||
<source>Bookmarks</source>
|
||||
<translation>Marca páginas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="132"/>
|
||||
<source>New bookmark</source>
|
||||
<translation>Novo marca páginas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="308"/>
|
||||
<source>Annotations</source>
|
||||
<translation>Anotações</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="355"/>
|
||||
<source>Search</source>
|
||||
<translation>Procurar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="356"/>
|
||||
<source>Search entire book</source>
|
||||
<translation>Procurar no livro todo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="357"/>
|
||||
<source>Match case</source>
|
||||
<translation>Caso correspondente</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="358"/>
|
||||
<source>Match word</source>
|
||||
<translation>Palavra correspondente</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Tab</name>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="272"/>
|
||||
<source>Edit</source>
|
||||
<translation>Editar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="275"/>
|
||||
<source>Delete</source>
|
||||
<translation>Deletar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../widgets.py" line="160"/>
|
||||
<source>Note</source>
|
||||
<translation>Nota</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TableProxyModel</name>
|
||||
<message>
|
||||
<location filename="../../models.py" line="71"/>
|
||||
<source>Title</source>
|
||||
<translation>Título</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../models.py" line="72"/>
|
||||
<source>Author</source>
|
||||
<translation>Autor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../models.py" line="73"/>
|
||||
<source>Year</source>
|
||||
<translation>Ano</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../models.py" line="74"/>
|
||||
<source>Last Read</source>
|
||||
<translation>Último lido</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../models.py" line="75"/>
|
||||
<source>Tags</source>
|
||||
<translation>Palavras-chave</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
@@ -76,7 +76,7 @@
|
||||
<translation>对齐文本</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="268"/>
|
||||
<location filename="../../toolbars.py" line="277"/>
|
||||
<source>Background color</source>
|
||||
<translation>背景色</translation>
|
||||
</message>
|
||||
@@ -111,7 +111,7 @@
|
||||
<translation type="obsolete">搜索...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="304"/>
|
||||
<location filename="../../toolbars.py" line="319"/>
|
||||
<source>Table of Contents</source>
|
||||
<translation>目录</translation>
|
||||
</message>
|
||||
@@ -156,27 +156,27 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="237"/>
|
||||
<location filename="../../toolbars.py" line="246"/>
|
||||
<source>Zoom in (+)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="242"/>
|
||||
<location filename="../../toolbars.py" line="251"/>
|
||||
<source>Zoom Out (-)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="248"/>
|
||||
<location filename="../../toolbars.py" line="257"/>
|
||||
<source>Fit Width (W)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="254"/>
|
||||
<location filename="../../toolbars.py" line="263"/>
|
||||
<source>Best Fit (B)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="260"/>
|
||||
<location filename="../../toolbars.py" line="269"/>
|
||||
<source>Original size (O)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -185,11 +185,21 @@
|
||||
<source>Invert page colors</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="237"/>
|
||||
<source>Rotate image clockwise</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="241"/>
|
||||
<source>Rotate image anti-clockwise</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DefinitionsUI</name>
|
||||
<message>
|
||||
<location filename="../../definitionsdialog.py" line="144"/>
|
||||
<location filename="../../definitionsdialog.py" line="143"/>
|
||||
<source>No definitions found in</source>
|
||||
<translation>没有找到定义</translation>
|
||||
</message>
|
||||
@@ -212,67 +222,67 @@
|
||||
<translation>播放词根的发音</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="358"/>
|
||||
<location filename="../settingswindow.py" line="377"/>
|
||||
<source>Settings</source>
|
||||
<translation>设置</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="359"/>
|
||||
<location filename="../settingswindow.py" line="378"/>
|
||||
<source>Library</source>
|
||||
<translation>书库</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="367"/>
|
||||
<location filename="../settingswindow.py" line="386"/>
|
||||
<source>Startup: Refresh library</source>
|
||||
<translation>启动:刷新书库</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="368"/>
|
||||
<location filename="../settingswindow.py" line="387"/>
|
||||
<source>Remember open files</source>
|
||||
<translation>记住打开文件</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="372"/>
|
||||
<location filename="../settingswindow.py" line="391"/>
|
||||
<source>Generate tags from files</source>
|
||||
<translation>从文件生成标签</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="369"/>
|
||||
<location filename="../settingswindow.py" line="388"/>
|
||||
<source>Cover shadows</source>
|
||||
<translation>封面阴影</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="370"/>
|
||||
<location filename="../settingswindow.py" line="389"/>
|
||||
<source>Enabling reduces startup time and memory usage</source>
|
||||
<translation>开启减少启动时间和内存占用</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="371"/>
|
||||
<location filename="../settingswindow.py" line="390"/>
|
||||
<source>Load covers only when needed</source>
|
||||
<translation>只在必要时加载封面</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="380"/>
|
||||
<location filename="../settingswindow.py" line="400"/>
|
||||
<source>Greatly reduces page transition time at the cost of more memory</source>
|
||||
<translation>当需要更多内存时显著减少页面过度时间</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="381"/>
|
||||
<location filename="../settingswindow.py" line="401"/>
|
||||
<source>Cache comic / pdf pages</source>
|
||||
<translation>缓存漫画 / pdf 文件</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="362"/>
|
||||
<location filename="../settingswindow.py" line="381"/>
|
||||
<source>Icon theme: </source>
|
||||
<translation>图标主题:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="401"/>
|
||||
<location filename="../settingswindow.py" line="421"/>
|
||||
<source>Scan Library</source>
|
||||
<translation>扫描书库</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="402"/>
|
||||
<location filename="../settingswindow.py" line="422"/>
|
||||
<source>Close</source>
|
||||
<translation>关闭</translation>
|
||||
</message>
|
||||
@@ -322,49 +332,49 @@
|
||||
<translation>取消</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="377"/>
|
||||
<location filename="../settingswindow.py" line="397"/>
|
||||
<source>Horizontal scrolling with Alt + Scroll
|
||||
Reopen book to see changes</source>
|
||||
<translation>按 Alt + Scroll 横向滚动
|
||||
再次打开书籍时生效</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="379"/>
|
||||
<location filename="../settingswindow.py" line="399"/>
|
||||
<source>Hide scrollbars when reading</source>
|
||||
<translation>阅读时隐藏滚动条</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="365"/>
|
||||
<location filename="../settingswindow.py" line="384"/>
|
||||
<source>Restart application to see changes</source>
|
||||
<translation>重启程序生效</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="364"/>
|
||||
<location filename="../settingswindow.py" line="383"/>
|
||||
<source>&Dark</source>
|
||||
<translation>&暗</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="366"/>
|
||||
<location filename="../settingswindow.py" line="385"/>
|
||||
<source>L&ight</source>
|
||||
<translation>亮</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="376"/>
|
||||
<location filename="../settingswindow.py" line="396"/>
|
||||
<source>Reading</source>
|
||||
<translation>阅读</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="360"/>
|
||||
<location filename="../settingswindow.py" line="379"/>
|
||||
<source>Consider book read at percent</source>
|
||||
<translation>标记为读完,当读至百分</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="388"/>
|
||||
<location filename="../settingswindow.py" line="408"/>
|
||||
<source>Dictionary language</source>
|
||||
<translation>字典语言</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="389"/>
|
||||
<location filename="../settingswindow.py" line="409"/>
|
||||
<source>Scroll speed</source>
|
||||
<translation>滚动速度</translation>
|
||||
</message>
|
||||
@@ -414,7 +424,7 @@ Reopen book to see changes</source>
|
||||
<translation type="obsolete">下划线</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="395"/>
|
||||
<location filename="../settingswindow.py" line="415"/>
|
||||
<source>Text</source>
|
||||
<translation>文本</translation>
|
||||
</message>
|
||||
@@ -424,110 +434,115 @@ Reopen book to see changes</source>
|
||||
<translation type="obsolete">漫画 / PDF</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="373"/>
|
||||
<location filename="../settingswindow.py" line="392"/>
|
||||
<source>Shrink long book titles</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="390"/>
|
||||
<location filename="../settingswindow.py" line="410"/>
|
||||
<source>New</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="391"/>
|
||||
<location filename="../settingswindow.py" line="411"/>
|
||||
<source>Delete</source>
|
||||
<translation type="unfinished">删除</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="392"/>
|
||||
<location filename="../settingswindow.py" line="412"/>
|
||||
<source>Edit</source>
|
||||
<translation type="unfinished">编辑</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="393"/>
|
||||
<location filename="../settingswindow.py" line="413"/>
|
||||
<source>Move Up</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="394"/>
|
||||
<location filename="../settingswindow.py" line="414"/>
|
||||
<source>Move Down</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="396"/>
|
||||
<location filename="../settingswindow.py" line="416"/>
|
||||
<source>Image</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="384"/>
|
||||
<location filename="../settingswindow.py" line="404"/>
|
||||
<source><html><head/><body><p>UP/DOWN ARROW - Steps to take before turning comicbook page</p></body></html></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="383"/>
|
||||
<location filename="../settingswindow.py" line="403"/>
|
||||
<source>Small increment</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="387"/>
|
||||
<location filename="../settingswindow.py" line="407"/>
|
||||
<source><html><head/><body><p>SPACEBAR - Steps to take before turning comicbook page</p></body></html></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="386"/>
|
||||
<location filename="../settingswindow.py" line="406"/>
|
||||
<source>Large increment</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="374"/>
|
||||
<location filename="../settingswindow.py" line="394"/>
|
||||
<source><html><head/><body><p>Attempt to download missing book covers from Google books - SLOW</p></body></html></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="375"/>
|
||||
<location filename="../settingswindow.py" line="395"/>
|
||||
<source>Download missing covers</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="397"/>
|
||||
<location filename="../settingswindow.py" line="417"/>
|
||||
<source>About</source>
|
||||
<translation type="unfinished">关于</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="398"/>
|
||||
<location filename="../settingswindow.py" line="418"/>
|
||||
<source>Log</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="399"/>
|
||||
<location filename="../settingswindow.py" line="419"/>
|
||||
<source>Reset Application</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="400"/>
|
||||
<location filename="../settingswindow.py" line="420"/>
|
||||
<source>Clear Log</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="393"/>
|
||||
<source>Show navigation bar</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Library</name>
|
||||
<message>
|
||||
<location filename="../../library.py" line="136"/>
|
||||
<location filename="../../library.py" line="129"/>
|
||||
<source>Author</source>
|
||||
<translation>作者</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../library.py" line="137"/>
|
||||
<location filename="../../library.py" line="130"/>
|
||||
<source>Year</source>
|
||||
<translation>年份</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../library.py" line="296"/>
|
||||
<location filename="../../library.py" line="289"/>
|
||||
<source>manually added</source>
|
||||
<translation>手动添加的</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../library.py" line="219"/>
|
||||
<location filename="../../library.py" line="212"/>
|
||||
<source> books</source>
|
||||
<translation> 书籍</translation>
|
||||
</message>
|
||||
@@ -535,87 +550,87 @@ Reopen book to see changes</source>
|
||||
<context>
|
||||
<name>LibraryToolBar</name>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="387"/>
|
||||
<location filename="../../toolbars.py" line="402"/>
|
||||
<source>Add book</source>
|
||||
<translation>添加书籍</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="391"/>
|
||||
<location filename="../../toolbars.py" line="406"/>
|
||||
<source>Delete book</source>
|
||||
<translation>删除书籍</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="418"/>
|
||||
<location filename="../../toolbars.py" line="433"/>
|
||||
<source>Library background color</source>
|
||||
<translation>书库背景色</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="423"/>
|
||||
<location filename="../../toolbars.py" line="438"/>
|
||||
<source>Settings</source>
|
||||
<translation>设置</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="396"/>
|
||||
<location filename="../../toolbars.py" line="411"/>
|
||||
<source>View as covers</source>
|
||||
<translation>封面查看</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="401"/>
|
||||
<location filename="../../toolbars.py" line="416"/>
|
||||
<source>View as table</source>
|
||||
<translation>列表查看</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="415"/>
|
||||
<location filename="../../toolbars.py" line="430"/>
|
||||
<source>Filter library</source>
|
||||
<translation>过滤书库</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="460"/>
|
||||
<location filename="../../toolbars.py" line="475"/>
|
||||
<source>Search for Title, Author, Tags...</source>
|
||||
<translation>查找标题,作者,标签...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="479"/>
|
||||
<location filename="../../toolbars.py" line="494"/>
|
||||
<source>Sort by</source>
|
||||
<translation>排序按照</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="407"/>
|
||||
<location filename="../../toolbars.py" line="422"/>
|
||||
<source>Scan Library</source>
|
||||
<translation>扫描书库</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="466"/>
|
||||
<location filename="../../toolbars.py" line="481"/>
|
||||
<source>Title</source>
|
||||
<translation>标题</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="467"/>
|
||||
<location filename="../../toolbars.py" line="482"/>
|
||||
<source>Author</source>
|
||||
<translation>作者</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="468"/>
|
||||
<location filename="../../toolbars.py" line="483"/>
|
||||
<source>Year</source>
|
||||
<translation>年份</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="469"/>
|
||||
<location filename="../../toolbars.py" line="484"/>
|
||||
<source>Newest</source>
|
||||
<translation>最新</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="470"/>
|
||||
<location filename="../../toolbars.py" line="485"/>
|
||||
<source>Last Read</source>
|
||||
<translation>最近阅读</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="471"/>
|
||||
<location filename="../../toolbars.py" line="486"/>
|
||||
<source>Progress</source>
|
||||
<translation>进度</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="429"/>
|
||||
<location filename="../../toolbars.py" line="444"/>
|
||||
<source>About</source>
|
||||
<translation type="unfinished">关于</translation>
|
||||
</message>
|
||||
@@ -644,80 +659,85 @@ Reopen book to see changes</source>
|
||||
<context>
|
||||
<name>Main_UI</name>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="475"/>
|
||||
<location filename="../../__main__.py" line="477"/>
|
||||
<source>Add books to database</source>
|
||||
<translation>将书籍加入数据库</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="476"/>
|
||||
<location filename="../../__main__.py" line="478"/>
|
||||
<source>eBooks</source>
|
||||
<translation>电子书</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="490"/>
|
||||
<location filename="../../__main__.py" line="492"/>
|
||||
<source>Adding books...</source>
|
||||
<translation>正在添加书籍...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="548"/>
|
||||
<location filename="../../__main__.py" line="550"/>
|
||||
<source>Confirm deletion</source>
|
||||
<translation>确认删除</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="561"/>
|
||||
<location filename="../../__main__.py" line="563"/>
|
||||
<source>Save changes and start library scan</source>
|
||||
<translation>保存修改开始扫描书库</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="628"/>
|
||||
<location filename="../../__main__.py" line="630"/>
|
||||
<source> Books</source>
|
||||
<translation> 书籍</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="805"/>
|
||||
<location filename="../../__main__.py" line="819"/>
|
||||
<source>Start reading</source>
|
||||
<translation>开始阅读</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="811"/>
|
||||
<location filename="../../__main__.py" line="825"/>
|
||||
<source>Edit</source>
|
||||
<translation>编辑</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="815"/>
|
||||
<location filename="../../__main__.py" line="829"/>
|
||||
<source>Delete</source>
|
||||
<translation>删除</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="818"/>
|
||||
<location filename="../../__main__.py" line="832"/>
|
||||
<source>Mark read</source>
|
||||
<translation>标记为已读</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="821"/>
|
||||
<location filename="../../__main__.py" line="835"/>
|
||||
<source>Mark unread</source>
|
||||
<translation>标记为未读</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="923"/>
|
||||
<location filename="../../__main__.py" line="940"/>
|
||||
<source>Manually Added</source>
|
||||
<translation>手动添加的</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="579"/>
|
||||
<location filename="../../__main__.py" line="581"/>
|
||||
<source> books</source>
|
||||
<translation> 书籍</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="370"/>
|
||||
<location filename="../../contentwidgets.py" line="424"/>
|
||||
<source>Save page as...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="371"/>
|
||||
<location filename="../../contentwidgets.py" line="425"/>
|
||||
<source>Images</source>
|
||||
<translation type="unfinished">图片</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="546"/>
|
||||
<source>Delete book(s)?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MetadataUI</name>
|
||||
@@ -735,12 +755,12 @@ Reopen book to see changes</source>
|
||||
<context>
|
||||
<name>PliantQGraphicsScene</name>
|
||||
<message>
|
||||
<location filename="../../widgets.py" line="587"/>
|
||||
<location filename="../../widgets.py" line="621"/>
|
||||
<source>Select new cover</source>
|
||||
<translation>选择新封面</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../widgets.py" line="588"/>
|
||||
<location filename="../../widgets.py" line="622"/>
|
||||
<source>Images</source>
|
||||
<translation>图片</translation>
|
||||
</message>
|
||||
@@ -748,123 +768,148 @@ Reopen book to see changes</source>
|
||||
<context>
|
||||
<name>PliantQGraphicsView</name>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="299"/>
|
||||
<location filename="../../contentwidgets.py" line="343"/>
|
||||
<source>Exit fullscreen</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="303"/>
|
||||
<location filename="../../contentwidgets.py" line="347"/>
|
||||
<source>Exit Distraction Free mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="310"/>
|
||||
<location filename="../../contentwidgets.py" line="354"/>
|
||||
<source>Save page as...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="314"/>
|
||||
<location filename="../../contentwidgets.py" line="358"/>
|
||||
<source>View</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="319"/>
|
||||
<location filename="../../contentwidgets.py" line="363"/>
|
||||
<source>Double page mode (D)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="326"/>
|
||||
<location filename="../../contentwidgets.py" line="370"/>
|
||||
<source>Manga mode (M)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="334"/>
|
||||
<location filename="../../contentwidgets.py" line="386"/>
|
||||
<source>Zoom in (+)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="338"/>
|
||||
<location filename="../../contentwidgets.py" line="390"/>
|
||||
<source>Zoom out (-)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="342"/>
|
||||
<location filename="../../contentwidgets.py" line="394"/>
|
||||
<source>Fit width (W)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="346"/>
|
||||
<location filename="../../contentwidgets.py" line="398"/>
|
||||
<source>Best fit (B)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="350"/>
|
||||
<location filename="../../contentwidgets.py" line="402"/>
|
||||
<source>Original size (O)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="356"/>
|
||||
<location filename="../../contentwidgets.py" line="408"/>
|
||||
<source>Bookmarks</source>
|
||||
<translation type="unfinished">书签</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="377"/>
|
||||
<source>Invert page colors</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>PliantQTextBrowser</name>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="568"/>
|
||||
<location filename="../../contentwidgets.py" line="781"/>
|
||||
<source>Exit fullscreen</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="572"/>
|
||||
<location filename="../../contentwidgets.py" line="785"/>
|
||||
<source>Exit Distraction Free mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="584"/>
|
||||
<location filename="../../contentwidgets.py" line="797"/>
|
||||
<source>Define</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="589"/>
|
||||
<location filename="../../contentwidgets.py" line="802"/>
|
||||
<source>Search for</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="594"/>
|
||||
<location filename="../../contentwidgets.py" line="807"/>
|
||||
<source>In this book</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="628"/>
|
||||
<location filename="../../contentwidgets.py" line="841"/>
|
||||
<source>Search</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="636"/>
|
||||
<location filename="../../contentwidgets.py" line="849"/>
|
||||
<source>Edit note</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="639"/>
|
||||
<location filename="../../contentwidgets.py" line="852"/>
|
||||
<source>Delete annotation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="643"/>
|
||||
<location filename="../../contentwidgets.py" line="856"/>
|
||||
<source>Add Bookmark</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="649"/>
|
||||
<location filename="../../contentwidgets.py" line="862"/>
|
||||
<source>Bookmarks</source>
|
||||
<translation type="unfinished">书签</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="610"/>
|
||||
<location filename="../../contentwidgets.py" line="823"/>
|
||||
<source>Annotate</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="763"/>
|
||||
<source>View</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="768"/>
|
||||
<source>Flow text</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="772"/>
|
||||
<source>Single page</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="776"/>
|
||||
<source>Double page</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsUI</name>
|
||||
@@ -889,80 +934,85 @@ Reopen book to see changes</source>
|
||||
<translation>保存修改开始扫描书库</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="327"/>
|
||||
<location filename="../../settingsdialog.py" line="329"/>
|
||||
<source>Library scan in progress...</source>
|
||||
<translation>正在扫描书库</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="331"/>
|
||||
<location filename="../../settingsdialog.py" line="333"/>
|
||||
<source>Checking library folders</source>
|
||||
<translation>正在检查书库文件夹</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="347"/>
|
||||
<location filename="../../settingsdialog.py" line="349"/>
|
||||
<source>Parsing files</source>
|
||||
<translation>正在解析文件</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="129"/>
|
||||
<location filename="../../settingsdialog.py" line="131"/>
|
||||
<source>Library</source>
|
||||
<translation>书库</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="130"/>
|
||||
<location filename="../../settingsdialog.py" line="132"/>
|
||||
<source>Switches</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="132"/>
|
||||
<location filename="../../settingsdialog.py" line="134"/>
|
||||
<source>About</source>
|
||||
<translation>关于</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="131"/>
|
||||
<location filename="../../settingsdialog.py" line="133"/>
|
||||
<source>Annotations</source>
|
||||
<translation>注释</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="551"/>
|
||||
<location filename="../../settingsdialog.py" line="554"/>
|
||||
<source>Confirm</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="550"/>
|
||||
<source>Delete database and exit?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SideDock</name>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="123"/>
|
||||
<location filename="../../dockwidgets.py" line="131"/>
|
||||
<source>Bookmarks</source>
|
||||
<translation type="unfinished">书签</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="124"/>
|
||||
<location filename="../../dockwidgets.py" line="132"/>
|
||||
<source>New bookmark</source>
|
||||
<translation type="unfinished">新书签</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="300"/>
|
||||
<location filename="../../dockwidgets.py" line="308"/>
|
||||
<source>Annotations</source>
|
||||
<translation type="unfinished">注释</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="347"/>
|
||||
<location filename="../../dockwidgets.py" line="355"/>
|
||||
<source>Search</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="348"/>
|
||||
<location filename="../../dockwidgets.py" line="356"/>
|
||||
<source>Search entire book</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="349"/>
|
||||
<location filename="../../dockwidgets.py" line="357"/>
|
||||
<source>Match case</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="350"/>
|
||||
<location filename="../../dockwidgets.py" line="358"/>
|
||||
<source>Match word</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -980,12 +1030,12 @@ Reopen book to see changes</source>
|
||||
<translation type="obsolete">新书签</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="264"/>
|
||||
<location filename="../../dockwidgets.py" line="272"/>
|
||||
<source>Edit</source>
|
||||
<translation>编辑</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="267"/>
|
||||
<location filename="../../dockwidgets.py" line="275"/>
|
||||
<source>Delete</source>
|
||||
<translation>删除</translation>
|
||||
</message>
|
||||
@@ -995,7 +1045,7 @@ Reopen book to see changes</source>
|
||||
<translation type="obsolete">注释</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../widgets.py" line="146"/>
|
||||
<location filename="../../widgets.py" line="160"/>
|
||||
<source>Note</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@@ -76,12 +76,12 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="268"/>
|
||||
<location filename="../../toolbars.py" line="277"/>
|
||||
<source>Background color</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="304"/>
|
||||
<location filename="../../toolbars.py" line="319"/>
|
||||
<source>Table of Contents</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -116,27 +116,27 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="237"/>
|
||||
<location filename="../../toolbars.py" line="246"/>
|
||||
<source>Zoom in (+)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="242"/>
|
||||
<location filename="../../toolbars.py" line="251"/>
|
||||
<source>Zoom Out (-)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="248"/>
|
||||
<location filename="../../toolbars.py" line="257"/>
|
||||
<source>Fit Width (W)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="254"/>
|
||||
<location filename="../../toolbars.py" line="263"/>
|
||||
<source>Best Fit (B)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="260"/>
|
||||
<location filename="../../toolbars.py" line="269"/>
|
||||
<source>Original size (O)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -145,11 +145,21 @@
|
||||
<source>Invert page colors</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="237"/>
|
||||
<source>Rotate image clockwise</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="241"/>
|
||||
<source>Rotate image anti-clockwise</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DefinitionsUI</name>
|
||||
<message>
|
||||
<location filename="../../definitionsdialog.py" line="144"/>
|
||||
<location filename="../../definitionsdialog.py" line="143"/>
|
||||
<source>No definitions found in</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -172,67 +182,67 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="358"/>
|
||||
<location filename="../settingswindow.py" line="377"/>
|
||||
<source>Settings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="359"/>
|
||||
<location filename="../settingswindow.py" line="378"/>
|
||||
<source>Library</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="367"/>
|
||||
<location filename="../settingswindow.py" line="386"/>
|
||||
<source>Startup: Refresh library</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="368"/>
|
||||
<location filename="../settingswindow.py" line="387"/>
|
||||
<source>Remember open files</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="372"/>
|
||||
<location filename="../settingswindow.py" line="391"/>
|
||||
<source>Generate tags from files</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="369"/>
|
||||
<location filename="../settingswindow.py" line="388"/>
|
||||
<source>Cover shadows</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="370"/>
|
||||
<location filename="../settingswindow.py" line="389"/>
|
||||
<source>Enabling reduces startup time and memory usage</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="371"/>
|
||||
<location filename="../settingswindow.py" line="390"/>
|
||||
<source>Load covers only when needed</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="380"/>
|
||||
<location filename="../settingswindow.py" line="400"/>
|
||||
<source>Greatly reduces page transition time at the cost of more memory</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="381"/>
|
||||
<location filename="../settingswindow.py" line="401"/>
|
||||
<source>Cache comic / pdf pages</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="362"/>
|
||||
<location filename="../settingswindow.py" line="381"/>
|
||||
<source>Icon theme: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="401"/>
|
||||
<location filename="../settingswindow.py" line="421"/>
|
||||
<source>Scan Library</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="402"/>
|
||||
<location filename="../settingswindow.py" line="422"/>
|
||||
<source>Close</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -282,161 +292,166 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="377"/>
|
||||
<location filename="../settingswindow.py" line="397"/>
|
||||
<source>Horizontal scrolling with Alt + Scroll
|
||||
Reopen book to see changes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="379"/>
|
||||
<location filename="../settingswindow.py" line="399"/>
|
||||
<source>Hide scrollbars when reading</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="365"/>
|
||||
<location filename="../settingswindow.py" line="384"/>
|
||||
<source>Restart application to see changes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="364"/>
|
||||
<location filename="../settingswindow.py" line="383"/>
|
||||
<source>&Dark</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="366"/>
|
||||
<location filename="../settingswindow.py" line="385"/>
|
||||
<source>L&ight</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="376"/>
|
||||
<location filename="../settingswindow.py" line="396"/>
|
||||
<source>Reading</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="360"/>
|
||||
<location filename="../settingswindow.py" line="379"/>
|
||||
<source>Consider book read at percent</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="388"/>
|
||||
<location filename="../settingswindow.py" line="408"/>
|
||||
<source>Dictionary language</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="389"/>
|
||||
<location filename="../settingswindow.py" line="409"/>
|
||||
<source>Scroll speed</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="395"/>
|
||||
<location filename="../settingswindow.py" line="415"/>
|
||||
<source>Text</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="390"/>
|
||||
<location filename="../settingswindow.py" line="410"/>
|
||||
<source>New</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="391"/>
|
||||
<location filename="../settingswindow.py" line="411"/>
|
||||
<source>Delete</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="392"/>
|
||||
<location filename="../settingswindow.py" line="412"/>
|
||||
<source>Edit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="393"/>
|
||||
<location filename="../settingswindow.py" line="413"/>
|
||||
<source>Move Up</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="394"/>
|
||||
<location filename="../settingswindow.py" line="414"/>
|
||||
<source>Move Down</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="396"/>
|
||||
<location filename="../settingswindow.py" line="416"/>
|
||||
<source>Image</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="373"/>
|
||||
<location filename="../settingswindow.py" line="392"/>
|
||||
<source>Shrink long book titles</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="384"/>
|
||||
<location filename="../settingswindow.py" line="404"/>
|
||||
<source><html><head/><body><p>UP/DOWN ARROW - Steps to take before turning comicbook page</p></body></html></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="383"/>
|
||||
<location filename="../settingswindow.py" line="403"/>
|
||||
<source>Small increment</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="387"/>
|
||||
<location filename="../settingswindow.py" line="407"/>
|
||||
<source><html><head/><body><p>SPACEBAR - Steps to take before turning comicbook page</p></body></html></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="386"/>
|
||||
<location filename="../settingswindow.py" line="406"/>
|
||||
<source>Large increment</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="374"/>
|
||||
<location filename="../settingswindow.py" line="394"/>
|
||||
<source><html><head/><body><p>Attempt to download missing book covers from Google books - SLOW</p></body></html></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="375"/>
|
||||
<location filename="../settingswindow.py" line="395"/>
|
||||
<source>Download missing covers</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="397"/>
|
||||
<location filename="../settingswindow.py" line="417"/>
|
||||
<source>About</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="398"/>
|
||||
<location filename="../settingswindow.py" line="418"/>
|
||||
<source>Log</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="399"/>
|
||||
<location filename="../settingswindow.py" line="419"/>
|
||||
<source>Reset Application</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="400"/>
|
||||
<location filename="../settingswindow.py" line="420"/>
|
||||
<source>Clear Log</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingswindow.py" line="393"/>
|
||||
<source>Show navigation bar</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Library</name>
|
||||
<message>
|
||||
<location filename="../../library.py" line="136"/>
|
||||
<location filename="../../library.py" line="129"/>
|
||||
<source>Author</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../library.py" line="137"/>
|
||||
<location filename="../../library.py" line="130"/>
|
||||
<source>Year</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../library.py" line="296"/>
|
||||
<location filename="../../library.py" line="289"/>
|
||||
<source>manually added</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../library.py" line="219"/>
|
||||
<location filename="../../library.py" line="212"/>
|
||||
<source> books</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -444,87 +459,87 @@ Reopen book to see changes</source>
|
||||
<context>
|
||||
<name>LibraryToolBar</name>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="387"/>
|
||||
<location filename="../../toolbars.py" line="402"/>
|
||||
<source>Add book</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="391"/>
|
||||
<location filename="../../toolbars.py" line="406"/>
|
||||
<source>Delete book</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="418"/>
|
||||
<location filename="../../toolbars.py" line="433"/>
|
||||
<source>Library background color</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="423"/>
|
||||
<location filename="../../toolbars.py" line="438"/>
|
||||
<source>Settings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="396"/>
|
||||
<location filename="../../toolbars.py" line="411"/>
|
||||
<source>View as covers</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="401"/>
|
||||
<location filename="../../toolbars.py" line="416"/>
|
||||
<source>View as table</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="415"/>
|
||||
<location filename="../../toolbars.py" line="430"/>
|
||||
<source>Filter library</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="460"/>
|
||||
<location filename="../../toolbars.py" line="475"/>
|
||||
<source>Search for Title, Author, Tags...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="479"/>
|
||||
<location filename="../../toolbars.py" line="494"/>
|
||||
<source>Sort by</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="407"/>
|
||||
<location filename="../../toolbars.py" line="422"/>
|
||||
<source>Scan Library</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="466"/>
|
||||
<location filename="../../toolbars.py" line="481"/>
|
||||
<source>Title</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="467"/>
|
||||
<location filename="../../toolbars.py" line="482"/>
|
||||
<source>Author</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="468"/>
|
||||
<location filename="../../toolbars.py" line="483"/>
|
||||
<source>Year</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="469"/>
|
||||
<location filename="../../toolbars.py" line="484"/>
|
||||
<source>Newest</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="470"/>
|
||||
<location filename="../../toolbars.py" line="485"/>
|
||||
<source>Last Read</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="471"/>
|
||||
<location filename="../../toolbars.py" line="486"/>
|
||||
<source>Progress</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../toolbars.py" line="429"/>
|
||||
<location filename="../../toolbars.py" line="444"/>
|
||||
<source>About</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -553,80 +568,85 @@ Reopen book to see changes</source>
|
||||
<context>
|
||||
<name>Main_UI</name>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="475"/>
|
||||
<location filename="../../__main__.py" line="477"/>
|
||||
<source>Add books to database</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="476"/>
|
||||
<location filename="../../__main__.py" line="478"/>
|
||||
<source>eBooks</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="490"/>
|
||||
<location filename="../../__main__.py" line="492"/>
|
||||
<source>Adding books...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="548"/>
|
||||
<location filename="../../__main__.py" line="550"/>
|
||||
<source>Confirm deletion</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="561"/>
|
||||
<location filename="../../__main__.py" line="563"/>
|
||||
<source>Save changes and start library scan</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="628"/>
|
||||
<location filename="../../__main__.py" line="630"/>
|
||||
<source> Books</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="805"/>
|
||||
<location filename="../../__main__.py" line="819"/>
|
||||
<source>Start reading</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="811"/>
|
||||
<location filename="../../__main__.py" line="825"/>
|
||||
<source>Edit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="815"/>
|
||||
<location filename="../../__main__.py" line="829"/>
|
||||
<source>Delete</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="818"/>
|
||||
<location filename="../../__main__.py" line="832"/>
|
||||
<source>Mark read</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="821"/>
|
||||
<location filename="../../__main__.py" line="835"/>
|
||||
<source>Mark unread</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="923"/>
|
||||
<location filename="../../__main__.py" line="940"/>
|
||||
<source>Manually Added</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="579"/>
|
||||
<location filename="../../__main__.py" line="581"/>
|
||||
<source> books</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="370"/>
|
||||
<location filename="../../contentwidgets.py" line="424"/>
|
||||
<source>Save page as...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="371"/>
|
||||
<location filename="../../contentwidgets.py" line="425"/>
|
||||
<source>Images</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../__main__.py" line="546"/>
|
||||
<source>Delete book(s)?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MetadataUI</name>
|
||||
@@ -644,12 +664,12 @@ Reopen book to see changes</source>
|
||||
<context>
|
||||
<name>PliantQGraphicsScene</name>
|
||||
<message>
|
||||
<location filename="../../widgets.py" line="587"/>
|
||||
<location filename="../../widgets.py" line="621"/>
|
||||
<source>Select new cover</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../widgets.py" line="588"/>
|
||||
<location filename="../../widgets.py" line="622"/>
|
||||
<source>Images</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -657,123 +677,148 @@ Reopen book to see changes</source>
|
||||
<context>
|
||||
<name>PliantQGraphicsView</name>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="299"/>
|
||||
<location filename="../../contentwidgets.py" line="343"/>
|
||||
<source>Exit fullscreen</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="303"/>
|
||||
<location filename="../../contentwidgets.py" line="347"/>
|
||||
<source>Exit Distraction Free mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="310"/>
|
||||
<location filename="../../contentwidgets.py" line="354"/>
|
||||
<source>Save page as...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="314"/>
|
||||
<location filename="../../contentwidgets.py" line="358"/>
|
||||
<source>View</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="319"/>
|
||||
<location filename="../../contentwidgets.py" line="363"/>
|
||||
<source>Double page mode (D)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="326"/>
|
||||
<location filename="../../contentwidgets.py" line="370"/>
|
||||
<source>Manga mode (M)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="334"/>
|
||||
<location filename="../../contentwidgets.py" line="386"/>
|
||||
<source>Zoom in (+)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="338"/>
|
||||
<location filename="../../contentwidgets.py" line="390"/>
|
||||
<source>Zoom out (-)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="342"/>
|
||||
<location filename="../../contentwidgets.py" line="394"/>
|
||||
<source>Fit width (W)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="346"/>
|
||||
<location filename="../../contentwidgets.py" line="398"/>
|
||||
<source>Best fit (B)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="350"/>
|
||||
<location filename="../../contentwidgets.py" line="402"/>
|
||||
<source>Original size (O)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="356"/>
|
||||
<location filename="../../contentwidgets.py" line="408"/>
|
||||
<source>Bookmarks</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="377"/>
|
||||
<source>Invert page colors</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>PliantQTextBrowser</name>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="568"/>
|
||||
<location filename="../../contentwidgets.py" line="781"/>
|
||||
<source>Exit fullscreen</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="572"/>
|
||||
<location filename="../../contentwidgets.py" line="785"/>
|
||||
<source>Exit Distraction Free mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="584"/>
|
||||
<location filename="../../contentwidgets.py" line="797"/>
|
||||
<source>Define</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="589"/>
|
||||
<location filename="../../contentwidgets.py" line="802"/>
|
||||
<source>Search for</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="594"/>
|
||||
<location filename="../../contentwidgets.py" line="807"/>
|
||||
<source>In this book</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="628"/>
|
||||
<location filename="../../contentwidgets.py" line="841"/>
|
||||
<source>Search</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="636"/>
|
||||
<location filename="../../contentwidgets.py" line="849"/>
|
||||
<source>Edit note</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="639"/>
|
||||
<location filename="../../contentwidgets.py" line="852"/>
|
||||
<source>Delete annotation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="643"/>
|
||||
<location filename="../../contentwidgets.py" line="856"/>
|
||||
<source>Add Bookmark</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="649"/>
|
||||
<location filename="../../contentwidgets.py" line="862"/>
|
||||
<source>Bookmarks</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="610"/>
|
||||
<location filename="../../contentwidgets.py" line="823"/>
|
||||
<source>Annotate</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="763"/>
|
||||
<source>View</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="768"/>
|
||||
<source>Flow text</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="772"/>
|
||||
<source>Single page</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../contentwidgets.py" line="776"/>
|
||||
<source>Double page</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsUI</name>
|
||||
@@ -798,80 +843,85 @@ Reopen book to see changes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="327"/>
|
||||
<location filename="../../settingsdialog.py" line="329"/>
|
||||
<source>Library scan in progress...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="331"/>
|
||||
<location filename="../../settingsdialog.py" line="333"/>
|
||||
<source>Checking library folders</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="347"/>
|
||||
<location filename="../../settingsdialog.py" line="349"/>
|
||||
<source>Parsing files</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="129"/>
|
||||
<location filename="../../settingsdialog.py" line="131"/>
|
||||
<source>Library</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="130"/>
|
||||
<location filename="../../settingsdialog.py" line="132"/>
|
||||
<source>Switches</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="132"/>
|
||||
<location filename="../../settingsdialog.py" line="134"/>
|
||||
<source>About</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="131"/>
|
||||
<location filename="../../settingsdialog.py" line="133"/>
|
||||
<source>Annotations</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="551"/>
|
||||
<location filename="../../settingsdialog.py" line="554"/>
|
||||
<source>Confirm</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../settingsdialog.py" line="550"/>
|
||||
<source>Delete database and exit?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SideDock</name>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="123"/>
|
||||
<location filename="../../dockwidgets.py" line="131"/>
|
||||
<source>Bookmarks</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="124"/>
|
||||
<location filename="../../dockwidgets.py" line="132"/>
|
||||
<source>New bookmark</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="300"/>
|
||||
<location filename="../../dockwidgets.py" line="308"/>
|
||||
<source>Annotations</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="347"/>
|
||||
<location filename="../../dockwidgets.py" line="355"/>
|
||||
<source>Search</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="348"/>
|
||||
<location filename="../../dockwidgets.py" line="356"/>
|
||||
<source>Search entire book</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="349"/>
|
||||
<location filename="../../dockwidgets.py" line="357"/>
|
||||
<source>Match case</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="350"/>
|
||||
<location filename="../../dockwidgets.py" line="358"/>
|
||||
<source>Match word</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -879,17 +929,17 @@ Reopen book to see changes</source>
|
||||
<context>
|
||||
<name>Tab</name>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="264"/>
|
||||
<location filename="../../dockwidgets.py" line="272"/>
|
||||
<source>Edit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dockwidgets.py" line="267"/>
|
||||
<location filename="../../dockwidgets.py" line="275"/>
|
||||
<source>Delete</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../widgets.py" line="146"/>
|
||||
<location filename="../../widgets.py" line="160"/>
|
||||
<source>Note</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@@ -124,6 +124,8 @@ class Settings:
|
||||
'hideScrollBars', 'False').capitalize())
|
||||
self.parent.settings['auto_cover'] = literal_eval(self.settings.value(
|
||||
'autoCover', 'False').capitalize())
|
||||
self.parent.settings['nav_bar'] = literal_eval(self.settings.value(
|
||||
'navBar', 'False').capitalize())
|
||||
self.parent.settings['scroll_speed'] = int(self.settings.value('scrollSpeed', 7))
|
||||
self.parent.settings['consider_read_at'] = int(self.settings.value('considerReadAt', 95))
|
||||
self.parent.settings['small_increment'] = int(self.settings.value('smallIncrement', 4))
|
||||
@@ -215,6 +217,7 @@ class Settings:
|
||||
self.settings.setValue('cachingEnabled', str(current_settings['caching_enabled']))
|
||||
self.settings.setValue('hideScrollBars', str(current_settings['hide_scrollbars']))
|
||||
self.settings.setValue('attenuateTitles', str(current_settings['attenuate_titles']))
|
||||
self.settings.setValue('navBar', str(current_settings['nav_bar']))
|
||||
self.settings.setValue('autoCover', str(current_settings['auto_cover']))
|
||||
self.settings.setValue('scrollSpeed', current_settings['scroll_speed'])
|
||||
self.settings.setValue('considerReadAt', current_settings['consider_read_at'])
|
||||
|
@@ -103,6 +103,7 @@ class SettingsUI(QtWidgets.QDialog, settingswindow.Ui_Dialog):
|
||||
self.cachingEnabled.setChecked(self.main_window.settings['caching_enabled'])
|
||||
self.hideScrollBars.setChecked(self.main_window.settings['hide_scrollbars'])
|
||||
self.attenuateTitles.setChecked(self.main_window.settings['attenuate_titles'])
|
||||
self.navBarVisible.setChecked(self.main_window.settings['nav_bar'])
|
||||
self.autoCover.setChecked(self.main_window.settings['auto_cover'])
|
||||
self.scrollSpeedSlider.setValue(self.main_window.settings['scroll_speed'])
|
||||
self.readAtPercent.setValue(self.main_window.settings['consider_read_at'])
|
||||
@@ -117,6 +118,7 @@ class SettingsUI(QtWidgets.QDialog, settingswindow.Ui_Dialog):
|
||||
self.cachingEnabled.clicked.connect(self.manage_checkboxes)
|
||||
self.hideScrollBars.clicked.connect(self.manage_checkboxes)
|
||||
self.attenuateTitles.clicked.connect(self.manage_checkboxes)
|
||||
self.navBarVisible.clicked.connect(self.manage_checkboxes)
|
||||
self.autoCover.clicked.connect(self.manage_checkboxes)
|
||||
self.scrollSpeedSlider.valueChanged.connect(self.change_scroll_speed)
|
||||
self.readAtPercent.valueChanged.connect(self.change_read_at)
|
||||
@@ -427,6 +429,7 @@ class SettingsUI(QtWidgets.QDialog, settingswindow.Ui_Dialog):
|
||||
'cachingEnabled': 'caching_enabled',
|
||||
'hideScrollBars': 'hide_scrollbars',
|
||||
'attenuateTitles': 'attenuate_titles',
|
||||
'navBarVisible': 'nav_bar',
|
||||
'autoCover': 'auto_cover'}
|
||||
|
||||
self.main_window.settings[
|
||||
|
@@ -58,7 +58,27 @@ if mupdf_check:
|
||||
from lector.parsers.pdf import ParsePDF
|
||||
sorter['pdf'] = ParsePDF
|
||||
else:
|
||||
error_string = 'pymupdf is not installed. Will be unable to load PDFs.'
|
||||
error_string = 'pymupdf is not installed. Will be unable to load PDF files.'
|
||||
print(error_string)
|
||||
logger.error(error_string)
|
||||
|
||||
# djvu - Optional
|
||||
djvu_check = importlib.util.find_spec('djvu')
|
||||
if djvu_check:
|
||||
from lector.parsers.djvu import ParseDJVU
|
||||
sorter['djvu'] = ParseDJVU
|
||||
else:
|
||||
error_string = 'djvulibre is not installed. Will be unable to load Djvu files.'
|
||||
print(error_string)
|
||||
logger.error(error_string)
|
||||
|
||||
# markdown - Optional
|
||||
markdown_check = importlib.util.find_spec('markdown')
|
||||
if markdown_check:
|
||||
from lector.parsers.markdown import ParseMD
|
||||
sorter['md'] = ParseMD
|
||||
else:
|
||||
error_string = 'markdown is not installed. Will be unable to load Markdown files.'
|
||||
print(error_string)
|
||||
logger.error(error_string)
|
||||
|
||||
@@ -85,6 +105,16 @@ else:
|
||||
print(critical_sting)
|
||||
logger.critical(critical_sting)
|
||||
|
||||
# txt - Optional
|
||||
textile_check = importlib.util.find_spec('textile')
|
||||
if textile_check:
|
||||
from lector.parsers.txt import ParseTXT
|
||||
sorter['txt'] = ParseTXT
|
||||
else:
|
||||
error_string = 'textile is not installed. Will be unable to load TXT files.'
|
||||
print(error_string)
|
||||
logger.error(error_string)
|
||||
|
||||
available_parsers = [i for i in sorter]
|
||||
progressbar = None # This is populated by __main__
|
||||
_progress_emitter = None # This is to be made into a global variable
|
||||
@@ -164,7 +194,7 @@ class BookSorter:
|
||||
return book_data
|
||||
|
||||
def read_book(self, filename):
|
||||
# filename is expected as a string containg the
|
||||
# filename is expected as a string containing the
|
||||
# full path of the ebook file
|
||||
|
||||
with open(filename, 'rb') as current_book:
|
||||
@@ -211,8 +241,6 @@ class BookSorter:
|
||||
# None of the following have an exception type specified
|
||||
# This will keep everything from crashing, but will make
|
||||
# troubleshooting difficult
|
||||
# TODO
|
||||
# In application notifications
|
||||
|
||||
try:
|
||||
book_ref.read_book()
|
||||
|
@@ -25,11 +25,17 @@ from PyQt5 import QtCore, QtGui
|
||||
from lector import sorter
|
||||
from lector import database
|
||||
|
||||
# The following have to be separate
|
||||
try:
|
||||
from lector.parsers.pdf import render_pdf_page
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
try:
|
||||
from lector.parsers.djvu import render_djvu_page
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@@ -165,6 +171,10 @@ class BackGroundCacheRefill(QtCore.QThread):
|
||||
page_data = self.book.loadPage(current_page)
|
||||
pixmap = render_pdf_page(page_data)
|
||||
|
||||
elif self.filetype == 'djvu':
|
||||
page_data = self.book.pages[current_page]
|
||||
pixmap = render_djvu_page(page_data)
|
||||
|
||||
return pixmap
|
||||
|
||||
remove_index = self.image_cache.index(self.remove_value)
|
||||
|
@@ -234,6 +234,15 @@ class BookToolBar(QtWidgets.QToolBar):
|
||||
self.invertButton.setObjectName('mangaModeButton')
|
||||
self.invertButton.setCheckable(True)
|
||||
|
||||
self.rotateRightButton = QtWidgets.QAction(
|
||||
image_factory.get_image('rotate-right'),
|
||||
self._translate('BookToolBar', 'Rotate image clockwise'),
|
||||
self)
|
||||
self.rotateLeftButton = QtWidgets.QAction(
|
||||
image_factory.get_image('rotate-left'),
|
||||
self._translate('BookToolBar', 'Rotate image anti-clockwise'),
|
||||
self)
|
||||
|
||||
self.zoomIn = QtWidgets.QAction(
|
||||
image_factory.get_image('zoom-in'),
|
||||
self._translate('BookToolBar', 'Zoom in (+)'),
|
||||
@@ -273,12 +282,15 @@ class BookToolBar(QtWidgets.QToolBar):
|
||||
self.addAction(self.mangaModeButton)
|
||||
self.addAction(self.invertButton)
|
||||
self.comicSeparator2 = self.addSeparator()
|
||||
self.addAction(self.rotateRightButton)
|
||||
self.addAction(self.rotateLeftButton)
|
||||
self.comicSeparator3 = self.addSeparator()
|
||||
self.addAction(self.zoomIn)
|
||||
self.addAction(self.zoomOut)
|
||||
self.addAction(self.fitWidth)
|
||||
self.addAction(self.bestFit)
|
||||
self.addAction(self.originalSize)
|
||||
self.comicSeparator3 = self.addSeparator()
|
||||
self.comicSeparator4 = self.addSeparator()
|
||||
self.comicBGColorAction = self.addWidget(self.comicBGColor)
|
||||
|
||||
self.comicActions = [
|
||||
@@ -286,6 +298,8 @@ class BookToolBar(QtWidgets.QToolBar):
|
||||
self.mangaModeButton,
|
||||
self.invertButton,
|
||||
self.comicBGColorAction,
|
||||
self.rotateLeftButton,
|
||||
self.rotateRightButton,
|
||||
self.zoomIn,
|
||||
self.zoomOut,
|
||||
self.fitWidth,
|
||||
@@ -293,7 +307,8 @@ class BookToolBar(QtWidgets.QToolBar):
|
||||
self.originalSize,
|
||||
self.comicSeparator1,
|
||||
self.comicSeparator2,
|
||||
self.comicSeparator3]
|
||||
self.comicSeparator3,
|
||||
self.comicSeparator4]
|
||||
|
||||
for i in self.comicActions:
|
||||
i.setVisible(False)
|
||||
@@ -498,7 +513,10 @@ class FixedComboBox(QtWidgets.QComboBox):
|
||||
|
||||
def sizeHint(self):
|
||||
# This and the one below should adjust to screen size
|
||||
return QtCore.QSize(self.adjusted_size, 22)
|
||||
return self.minimumSizeHint()
|
||||
|
||||
def minimumSizeHint(self):
|
||||
return QtCore.QSize(self.adjusted_size, 32)
|
||||
|
||||
def wheelEvent(self, QWheelEvent):
|
||||
# Disable mouse wheel scrolling in the ComboBox
|
||||
@@ -511,7 +529,10 @@ class FixedLineEdit(QtWidgets.QLineEdit):
|
||||
self.adjusted_size = screen_width // 4.5
|
||||
|
||||
def sizeHint(self):
|
||||
return QtCore.QSize(self.adjusted_size, 22)
|
||||
return self.minimumSizeHint()
|
||||
|
||||
def minimumSizeHint(self):
|
||||
return QtCore.QSize(self.adjusted_size, 32)
|
||||
|
||||
def keyReleaseEvent(self, event):
|
||||
if event.key() == QtCore.Qt.Key_Escape:
|
||||
|
@@ -24,7 +24,7 @@ import logging
|
||||
from PyQt5 import QtWidgets, QtGui, QtCore
|
||||
|
||||
from lector.sorter import resize_image
|
||||
from lector.dockwidgets import PliantDockWidget
|
||||
from lector.dockwidgets import PliantDockWidget, PliantNavBarWidget
|
||||
from lector.contentwidgets import PliantQGraphicsView, PliantQTextBrowser
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
@@ -78,6 +78,7 @@ class Tab(QtWidgets.QWidget):
|
||||
if self.are_we_doing_images_only:
|
||||
self.contentView = PliantQGraphicsView(
|
||||
self.metadata['path'], self.main_window, self)
|
||||
self.image_rotation = 0
|
||||
|
||||
else:
|
||||
self.contentView = PliantQTextBrowser(
|
||||
@@ -135,6 +136,19 @@ class Tab(QtWidgets.QWidget):
|
||||
self.contentView.setVerticalScrollBarPolicy(
|
||||
QtCore.Qt.ScrollBarAsNeeded)
|
||||
|
||||
# Create a NavBar widget
|
||||
if self.main_window.settings['nav_bar']:
|
||||
self.navBar = PliantNavBarWidget(
|
||||
self.main_window, self.contentView, self)
|
||||
self.navBar.setFloating(True)
|
||||
self.navBar.setTitleBarWidget(QtWidgets.QWidget(self))
|
||||
self.navBar.hide()
|
||||
else:
|
||||
# This keeps from having to set visibility conditions
|
||||
# everywhere
|
||||
self.navBar = QtWidgets.QWidget()
|
||||
self.navBar.setFixedSize(0, 0)
|
||||
|
||||
# Create a common dock for bookmarks, annotations, and search
|
||||
self.sideDock = PliantDockWidget(
|
||||
self.main_window, False, self.contentView, self)
|
||||
@@ -178,9 +192,9 @@ class Tab(QtWidgets.QWidget):
|
||||
this_tab_index, QtGui.QIcon(cover_icon))
|
||||
|
||||
# Hide mouse cursor timer
|
||||
self.mouse_hide_timer = QtCore.QTimer()
|
||||
self.mouse_hide_timer.setSingleShot(True)
|
||||
self.mouse_hide_timer.timeout.connect(self.hide_mouse)
|
||||
self.mouseHideTimer = QtCore.QTimer()
|
||||
self.mouseHideTimer.setSingleShot(True)
|
||||
self.mouseHideTimer.timeout.connect(self.hide_mouse)
|
||||
|
||||
# Hide the tab bar in case distraction free mode is active
|
||||
if not self.main_window.settings['show_bars']:
|
||||
@@ -202,6 +216,15 @@ class Tab(QtWidgets.QWidget):
|
||||
|
||||
self.sideDock.sideDockTabWidget.setCurrentIndex(tab_required)
|
||||
|
||||
def generate_rotation(self, delta_angle):
|
||||
self.image_rotation += delta_angle
|
||||
|
||||
# Set bounds for rotation angle
|
||||
if self.image_rotation == 360:
|
||||
self.image_rotation = 0
|
||||
if self.image_rotation == -90:
|
||||
self.image_rotation = 270
|
||||
|
||||
def update_last_accessed_time(self):
|
||||
self.metadata['last_accessed'] = QtCore.QDateTime().currentDateTime()
|
||||
|
||||
@@ -249,7 +272,7 @@ class Tab(QtWidgets.QWidget):
|
||||
|
||||
# Finally, to make sure the cover image isn't
|
||||
# scrolled halfway through on first open,
|
||||
if self.metadata['position']['current_chapter'] == 1:
|
||||
if self.metadata['cover'] and self.metadata['position']['current_chapter'] == 1:
|
||||
self.contentView.verticalScrollBar().setValue(0)
|
||||
|
||||
def generate_position(self, is_read=False):
|
||||
@@ -380,7 +403,7 @@ class Tab(QtWidgets.QWidget):
|
||||
if not self.are_we_doing_images_only:
|
||||
self.hiddenButton.animateClick(50)
|
||||
|
||||
self.mouse_hide_timer.start(2000)
|
||||
self.mouseHideTimer.start(2000)
|
||||
self.is_fullscreen = True
|
||||
|
||||
def exit_fullscreen(self):
|
||||
@@ -413,7 +436,8 @@ class Tab(QtWidgets.QWidget):
|
||||
if not self.main_window.settings['show_bars']:
|
||||
self.main_window.toggle_distraction_free()
|
||||
|
||||
self.mouse_hide_timer.start(2000)
|
||||
self.navBar.hide()
|
||||
self.mouseHideTimer.start(2000)
|
||||
self.contentView.setFocus()
|
||||
|
||||
def set_content(self, required_position, tocBox_readjust=False, record_position=False):
|
||||
@@ -450,6 +474,13 @@ class Tab(QtWidgets.QWidget):
|
||||
if tocBox_readjust:
|
||||
self.set_tocBox_index(required_position, None)
|
||||
|
||||
# The NavBar doesn't get declared until later
|
||||
try:
|
||||
self.set_tocBox_index(
|
||||
required_position, self.navBar.tocComboBox)
|
||||
except AttributeError:
|
||||
pass
|
||||
|
||||
self.contentView.setFocus()
|
||||
|
||||
def set_tocBox_index(self, current_position=None, tocBox=None):
|
||||
@@ -561,6 +592,9 @@ class Tab(QtWidgets.QWidget):
|
||||
def hide_mouse(self):
|
||||
self.contentView.viewport().setCursor(QtCore.Qt.BlankCursor)
|
||||
|
||||
if self.contentView.hasFocus():
|
||||
self.navBar.hide()
|
||||
|
||||
def sneaky_change(self):
|
||||
direction = -1
|
||||
if self.sender().objectName() == 'nextChapter':
|
||||
|