mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Merge from trunk
This commit is contained in:
commit
f5f41107fd
@ -26,3 +26,5 @@ nbproject/
|
||||
*.pidb
|
||||
*.sln
|
||||
*.userprefs
|
||||
.project
|
||||
.pydevproject
|
||||
|
69
resources/recipes/ajc.recipe
Normal file
69
resources/recipes/ajc.recipe
Normal file
@ -0,0 +1,69 @@
|
||||
from calibre.web.feeds.news import BasicNewsRecipe
|
||||
|
||||
class AdvancedUserRecipe1282101454(BasicNewsRecipe):
|
||||
title = 'The AJC'
|
||||
language = 'en'
|
||||
__author__ = 'TonytheBookworm'
|
||||
description = 'News from Atlanta and USA'
|
||||
publisher = 'The Atlanta Journal'
|
||||
category = 'news, politics, USA'
|
||||
oldest_article = 1
|
||||
max_articles_per_feed = 100
|
||||
no_stylesheets = True
|
||||
extra_css = '.headline {font-size: x-large;} \n .fact { padding-top: 10pt }'
|
||||
masthead_url = 'http://gawand.org/wp-content/uploads/2010/06/ajc-logo.gif'
|
||||
keep_only_tags = [
|
||||
dict(name='div', attrs={'id':['cxArticleContent']})
|
||||
,dict(attrs={'id':['cxArticleText','cxArticleBodyText']})
|
||||
]
|
||||
feeds = [
|
||||
('Breaking News', 'http://www.ajc.com/genericList-rss.do?source=61499'),
|
||||
# -------------------------------------------------------------------
|
||||
# Here are the different area feeds. Choose which ever one you wish to
|
||||
# read by simply removing the pound sign from it. I currently have it
|
||||
# set to only get the Cobb area
|
||||
# --------------------------------------------------------------------
|
||||
('Atlanta & Fulton', 'http://www.ajc.com/section-rss.do?source=atlanta'),
|
||||
#('Clayton', 'http://www.ajc.com/section-rss.do?source=clayton'),
|
||||
#('DeKalb', 'http://www.ajc.com/section-rss.do?source=dekalb'),
|
||||
#('Gwinnett', 'http://www.ajc.com/section-rss.do?source=gwinnett'),
|
||||
#('North Fulton', 'http://www.ajc.com/section-rss.do?source=north-fulton'),
|
||||
#('Metro', 'http://www.ajc.com/section-rss.do?source=news'),
|
||||
#('Cherokee', 'http://www.ajc.com/section-rss.do?source=cherokee'),
|
||||
('Cobb', 'http://www.ajc.com/section-rss.do?source=cobb'),
|
||||
#('Fayette', 'http://www.ajc.com/section-rss.do?source=fayette'),
|
||||
#('Henry', 'http://www.ajc.com/section-rss.do?source=henry'),
|
||||
#('Q & A', 'http://www.ajc.com/genericList-rss.do?source=77197'),
|
||||
('Opinions', 'http://www.ajc.com/section-rss.do?source=opinion'),
|
||||
('Ga Politics', 'http://www.ajc.com/section-rss.do?source=georgia-politics-elections'),
|
||||
# ------------------------------------------------------------------------
|
||||
# Here are the different sports feeds. I only follow the Falcons, and Highschool
|
||||
# but again
|
||||
# You can enable which ever team you like by removing the pound sign
|
||||
# ------------------------------------------------------------------------
|
||||
('Sports News', 'http://www.ajc.com/genericList-rss.do?source=61510'),
|
||||
#('Braves', 'http://www.ajc.com/genericList-rss.do?source=61457'),
|
||||
('Falcons', 'http://www.ajc.com/genericList-rss.do?source=61458'),
|
||||
#('Hawks', 'http://www.ajc.com/genericList-rss.do?source=61522'),
|
||||
#('Dawgs', 'http://www.ajc.com/genericList-rss.do?source=61492'),
|
||||
#('Yellowjackets', 'http://www.ajc.com/genericList-rss.do?source=61523'),
|
||||
('Highschool', 'http://www.ajc.com/section-rss.do?source=high-school'),
|
||||
('Events', 'http://www.accessatlanta.com/section-rss.do?source=events'),
|
||||
('Music', 'http://www.accessatlanta.com/section-rss.do?source=music'),
|
||||
]
|
||||
|
||||
|
||||
|
||||
|
||||
def print_version(self, url):
|
||||
return url.partition('?')[0] +'?printArticle=y'
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -118,6 +118,8 @@ class LinuxFreeze(Command):
|
||||
glob.glob('src/calibre/gui2/catalog/*.py')]
|
||||
includes += ['calibre.gui2.actions.'+x.split('/')[-1].rpartition('.')[0] for x in \
|
||||
glob.glob('src/calibre/gui2/actions/*.py')]
|
||||
includes += ['calibre.gui2.preferences.'+x.split('/')[-1].rpartition('.')[0] for x in \
|
||||
glob.glob('src/calibre/gui2/preferences/*.py')]
|
||||
|
||||
|
||||
LOADER = '/tmp/loader.py'
|
||||
|
@ -373,6 +373,7 @@ class Py2App(object):
|
||||
CFBundleName=APPNAME,
|
||||
CFBundleIdentifier='net.kovidgoyal.calibre',
|
||||
CFBundleVersion=VERSION,
|
||||
CFBundleShortVersionString=VERSION,
|
||||
CFBundlePackageType='APPL',
|
||||
CFBundleSignature='????',
|
||||
CFBundleExecutable='calibre',
|
||||
|
@ -20,7 +20,7 @@ class ANDROID(USBMS):
|
||||
VENDOR_ID = {
|
||||
# HTC
|
||||
0x0bb4 : { 0x0c02 : [0x100, 0x0227], 0x0c01 : [0x100, 0x0227], 0x0ff9
|
||||
: [0x0100, 0x0227, 0x0226]},
|
||||
: [0x0100, 0x0227, 0x0226], 0x0c87: [0x0100, 0x0227, 0x0226]},
|
||||
|
||||
# Motorola
|
||||
0x22b8 : { 0x41d9 : [0x216], 0x2d67 : [0x100], 0x41db : [0x216],
|
||||
|
@ -206,7 +206,7 @@ class HTMLPreProcessor(object):
|
||||
(re.compile(ur'\u00a0'), lambda match : ' '),
|
||||
|
||||
# Detect Chapters to match default XPATH in GUI
|
||||
(re.compile(r'(?=<(/?br|p))(<(/?br|p)[^>]*)?>\s*(?P<chap>(<i><b>|<i>|<b>)?(Chapter|Epilogue|Prologue|Book|Part)\s*([\d\w-]+)?(</i></b>|</i>|</b>)?)(</?p[^>]*>|<br[^>]*>)\n?((?=(<i>)?\s*\w+(\s+\w+)?(</i>)?(<br[^>]*>|</?p[^>]*>))((?P<title>(<i>)?\s*\w+(\s+\w+)?(</i>)?)(<br[^>]*>|</?p[^>]*>)))?', re.IGNORECASE), chap_head),
|
||||
(re.compile(r'(?=<(/?br|p))(<(/?br|p)[^>]*)?>\s*(?P<chap>(<i><b>|<i>|<b>)?(Chapter|Epilogue|Prologue|Book|Part)\s*([\d\w-]+(\s\w+)?)?(</i></b>|</i>|</b>)?)(</?p[^>]*>|<br[^>]*>)\n?((?=(<i>)?\s*\w+(\s+\w+)?(</i>)?(<br[^>]*>|</?p[^>]*>))((?P<title>(<i>)?\s*\w+(\s+\w+)?(</i>)?)(<br[^>]*>|</?p[^>]*>)))?', re.IGNORECASE), chap_head),
|
||||
(re.compile(r'(?=<(/?br|p))(<(/?br|p)[^>]*)?>\s*(?P<chap>([A-Z \'"!]{5,})\s*(\d+|\w+)?)(</?p[^>]*>|<br[^>]*>)\n?((?=(<i>)?\s*\w+(\s+\w+)?(</i>)?(<br[^>]*>|</?p[^>]*>))((?P<title>.*)(<br[^>]*>|</?p[^>]*>)))?'), chap_head),
|
||||
|
||||
# Have paragraphs show better
|
||||
|
@ -6,6 +6,8 @@ __license__ = 'GPL v3'
|
||||
__copyright__ = '2009, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
__docformat__ = 'restructuredtext en'
|
||||
|
||||
import re
|
||||
|
||||
from calibre.customize.conversion import InputFormatPlugin
|
||||
|
||||
class LITInput(InputFormatPlugin):
|
||||
@ -49,3 +51,10 @@ class LITInput(InputFormatPlugin):
|
||||
ne = copy.deepcopy(elem)
|
||||
pre.append(ne)
|
||||
|
||||
|
||||
def preprocess_html(self, html):
|
||||
chapdetect = re.compile(r'(?=</?(br|p|span))(</?(br|p|span)[^>]*>)?\s*(?P<chap>(<(i|b)><(i|b)>|<(i|b)>)?(.?Chapter|Epilogue|Prologue|Book|Part|Dedication)\s*([\d\w-]+(\s\w+)?)?(</(i|b)></(i|b)>|</(i|b)>)?)(</?(p|br|span)[^>]*>)', re.IGNORECASE)
|
||||
html = chapdetect.sub('<h2>'+'\g<chap>'+'</h2>\n', html)
|
||||
html = re.sub(r"(?<=.{65}[a-z,\IA])\s*</(span|p|div)>\s*(</(p|span|div)>\s*<p[^>]*>(\s*<(p|span|div)>\s*</(p|span|div)[^>]*>)?\s*(</(p|span|div)>\s*<p[^>]*>)?)?\s*<(span|div|p)[^>]*>", " ", html)
|
||||
return html
|
||||
|
||||
|
@ -19,8 +19,35 @@ from calibre.ebooks.metadata.meta import get_metadata, metadata_from_formats
|
||||
from calibre.ebooks.metadata import MetaInformation
|
||||
from calibre.utils.date import UNDEFINED_DATE
|
||||
|
||||
# Setup gprefs {{{
|
||||
gprefs = JSONConfig('gui')
|
||||
|
||||
gprefs.defaults['action-layout-toolbar'] = (
|
||||
'Add Books', 'Edit Metadata', None, 'Convert Books', 'View', None,
|
||||
'Choose Library', 'Donate', None, 'Fetch News', 'Save To Disk',
|
||||
'Connect Share', None, 'Remove Books', None, 'Help', 'Preferences',
|
||||
)
|
||||
|
||||
gprefs.defaults['action-layout-toolbar-device'] = (
|
||||
'Add Books', 'Edit Metadata', None, 'Convert Books', 'View',
|
||||
'Send To Device', None, None, 'Location Manager', None, None,
|
||||
'Fetch News', 'Save To Disk', 'Connect Share', None,
|
||||
'Remove Books', None, 'Help', 'Preferences',
|
||||
)
|
||||
|
||||
gprefs.defaults['action-layout-context-menu'] = (
|
||||
'Edit Metadata', 'Send To Device', 'Save To Disk',
|
||||
'Connect Share', 'Copy To Library', None,
|
||||
'Convert Books', 'View', 'Open Folder', 'Show Book Details',
|
||||
'Similar Books', None, 'Remove Books',
|
||||
)
|
||||
|
||||
gprefs.defaults['action-layout-context-menu-device'] = (
|
||||
'View', 'Save To Disk', None, 'Remove Books', None,
|
||||
'Add To Library', 'Edit Collections',
|
||||
)
|
||||
# }}}
|
||||
|
||||
NONE = QVariant() #: Null value to return from the data function of item models
|
||||
UNDEFINED_QDATE = QDate(UNDEFINED_DATE)
|
||||
|
||||
|
@ -60,6 +60,17 @@ class InterfaceAction(QObject):
|
||||
#: shortcut must be a translated string if not None
|
||||
action_spec = ('text', 'icon', None, None)
|
||||
|
||||
#: Set of locations to which this action must not be added.
|
||||
#: See :attr:`all_locations` for a list of possible locations
|
||||
dont_add_to = frozenset([])
|
||||
|
||||
#: Set of locations from which this action must not be removed.
|
||||
#: See :attr:`all_locations` for a list of possible locations
|
||||
dont_remove_from = frozenset([])
|
||||
|
||||
all_locations = frozenset(['toolbar', 'toolbar-device', 'context-menu',
|
||||
'context-menu-device'])
|
||||
|
||||
def __init__(self, parent, site_customization):
|
||||
QObject.__init__(self, parent)
|
||||
self.setObjectName(self.name)
|
||||
|
@ -22,7 +22,9 @@ from calibre.gui2.actions import InterfaceAction
|
||||
class AddAction(InterfaceAction):
|
||||
|
||||
name = 'Add Books'
|
||||
action_spec = (_('Add books'), 'add_book.svg', None, _('A'))
|
||||
action_spec = (_('Add books'), 'add_book.svg',
|
||||
_('Add books to the calibre library/device from files on your computer')
|
||||
, _('A'))
|
||||
|
||||
def genesis(self):
|
||||
self._add_filesystem_book = self.Dispatcher(self.__add_filesystem_book)
|
||||
|
@ -10,7 +10,9 @@ from calibre.gui2.actions import InterfaceAction
|
||||
class AddToLibraryAction(InterfaceAction):
|
||||
|
||||
name = 'Add To Library'
|
||||
action_spec = (_('Add books to library'), 'add_book.svg', None, None)
|
||||
action_spec = (_('Add books to library'), 'add_book.svg',
|
||||
_('Add books to your calibre library from the connected device'), None)
|
||||
dont_add_to = frozenset(['toolbar', 'context-menu'])
|
||||
|
||||
def location_selected(self, loc):
|
||||
enabled = loc != 'library'
|
||||
|
@ -18,6 +18,7 @@ class GenerateCatalogAction(InterfaceAction):
|
||||
|
||||
name = 'Generate Catalog'
|
||||
action_spec = (_('Create catalog of books in your calibre library'), None, None, None)
|
||||
dont_add_to = frozenset(['toolbar-device', 'context-menu-device'])
|
||||
|
||||
def generate_catalog(self):
|
||||
rows = self.gui.library_view.selectionModel().selectedRows()
|
||||
|
@ -72,6 +72,7 @@ class ChooseLibraryAction(InterfaceAction):
|
||||
name = 'Choose Library'
|
||||
action_spec = (_('%d books'), 'lt.png',
|
||||
_('Choose calibre library to work with'), None)
|
||||
dont_add_to = frozenset(['toolbar-device', 'context-menu-device'])
|
||||
|
||||
def genesis(self):
|
||||
self.count_changed(0)
|
||||
|
@ -20,6 +20,7 @@ class ConvertAction(InterfaceAction):
|
||||
|
||||
name = 'Convert Books'
|
||||
action_spec = (_('Convert books'), 'convert.svg', None, _('C'))
|
||||
dont_add_to = frozenset(['toolbar-device', 'context-menu-device'])
|
||||
|
||||
def genesis(self):
|
||||
cm = QMenu()
|
||||
|
@ -63,6 +63,7 @@ class CopyToLibraryAction(InterfaceAction):
|
||||
action_spec = (_('Copy to library'), 'lt.png',
|
||||
_('Copy selected books to the specified library'), None)
|
||||
popup_type = QToolButton.InstantPopup
|
||||
dont_add_to = frozenset(['toolbar-device', 'context-menu-device'])
|
||||
|
||||
def genesis(self):
|
||||
self.menu = QMenu(self.gui)
|
||||
|
@ -19,6 +19,7 @@ class ShareConnMenu(QMenu): # {{{
|
||||
connect_to_itunes = pyqtSignal()
|
||||
config_email = pyqtSignal()
|
||||
toggle_server = pyqtSignal()
|
||||
dont_add_to = frozenset(['toolbar-device', 'context-menu-device'])
|
||||
|
||||
def __init__(self, parent=None):
|
||||
QMenu.__init__(self, parent)
|
||||
@ -95,6 +96,8 @@ class SendToDeviceAction(InterfaceAction):
|
||||
|
||||
name = 'Send To Device'
|
||||
action_spec = (_('Send to device'), 'sync.svg', None, _('D'))
|
||||
dont_remove_from = frozenset(['toolbar-device'])
|
||||
dont_add_to = frozenset(['toolbar', 'context-menu'])
|
||||
|
||||
def genesis(self):
|
||||
self.qaction.triggered.connect(self.do_sync)
|
||||
|
@ -10,7 +10,9 @@ from calibre.gui2.actions import InterfaceAction
|
||||
class EditCollectionsAction(InterfaceAction):
|
||||
|
||||
name = 'Edit Collections'
|
||||
action_spec = (_('Manage collections'), None, None, None)
|
||||
action_spec = (_('Manage collections'), None,
|
||||
_('Manage the collections on this device'), None)
|
||||
dont_add_to = frozenset(['toolbar', 'context-menu'])
|
||||
|
||||
def location_selected(self, loc):
|
||||
enabled = loc != 'library'
|
||||
|
@ -13,6 +13,7 @@ class OpenFolderAction(InterfaceAction):
|
||||
name = 'Open Folder'
|
||||
action_spec = (_('Open containing folder'), 'document_open.svg', None,
|
||||
_('O'))
|
||||
dont_add_to = frozenset(['toolbar-device', 'context-menu-device'])
|
||||
|
||||
def genesis(self):
|
||||
self.qaction.triggered.connect(self.gui.iactions['View'].view_folder)
|
||||
|
@ -15,6 +15,7 @@ class PreferencesAction(InterfaceAction):
|
||||
|
||||
name = 'Preferences'
|
||||
action_spec = (_('Preferences'), 'config.svg', None, _('Ctrl+P'))
|
||||
dont_remove_from = frozenset(['toolbar'])
|
||||
|
||||
def genesis(self):
|
||||
pm = QMenu()
|
||||
@ -55,6 +56,8 @@ class PreferencesAction(InterfaceAction):
|
||||
self.gui.tags_view.recount()
|
||||
self.gui.create_device_menu()
|
||||
self.gui.set_device_menu_items_state(bool(self.gui.device_connected))
|
||||
self.gui.tool_bar.build_bar()
|
||||
self.gui.build_context_menus()
|
||||
self.gui.tool_bar.apply_settings()
|
||||
|
||||
|
||||
|
@ -15,6 +15,7 @@ class ShowBookDetailsAction(InterfaceAction):
|
||||
name = 'Show Book Details'
|
||||
action_spec = (_('Show book details'), 'dialog_information.svg', None,
|
||||
_('I'))
|
||||
dont_add_to = frozenset(['toolbar-device', 'context-menu-device'])
|
||||
|
||||
def genesis(self):
|
||||
self.qaction.triggered.connect(self.show_book_info)
|
||||
|
@ -14,6 +14,7 @@ from PyQt4.Qt import QDialog, QListWidgetItem, QIcon, \
|
||||
from calibre.constants import iswindows, isosx
|
||||
from calibre.gui2.dialogs.config.config_ui import Ui_Dialog
|
||||
from calibre.gui2.dialogs.config.create_custom_column import CreateCustomColumn
|
||||
from calibre.gui2.dialogs.config.toolbar import ToolbarLayout
|
||||
from calibre.gui2 import error_dialog, config, gprefs, \
|
||||
open_url, open_local_file, \
|
||||
ALL_COLUMNS, NONE, info_dialog, choose_files, \
|
||||
@ -524,6 +525,9 @@ class ConfigDialog(ResizableDialog, Ui_Dialog):
|
||||
self.current_tweaks.setPlainText(curt.decode('utf-8'))
|
||||
self.default_tweaks.setPlainText(deft.decode('utf-8'))
|
||||
self.restore_tweaks_to_default_button.clicked.connect(self.restore_tweaks_to_default)
|
||||
self.toolbar_cm_widget = ToolbarLayout(parent, parent)
|
||||
self.toolbar_cm_tab.addTab(self.toolbar_cm_widget,
|
||||
_('Toolbars/Context menus'))
|
||||
|
||||
self.category_view.setCurrentIndex(self.category_view.model().index_for_name(initial_category))
|
||||
|
||||
@ -888,6 +892,7 @@ class ConfigDialog(ResizableDialog, Ui_Dialog):
|
||||
wl = self.opt_worker_limit.value()
|
||||
if wl%2 != 0:
|
||||
wl += 1
|
||||
self.toolbar_cm_widget.commit()
|
||||
config['worker_limit'] = wl
|
||||
|
||||
config['use_roman_numerals_for_series_number'] = bool(self.roman_numerals.isChecked())
|
||||
|
@ -109,7 +109,7 @@
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<number>0</number>
|
||||
<number>1</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="page_3">
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
@ -294,361 +294,371 @@
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="page">
|
||||
<layout class="QGridLayout" name="gridLayout_8">
|
||||
<item row="2" column="0">
|
||||
<widget class="QCheckBox" name="roman_numerals">
|
||||
<property name="text">
|
||||
<string>Use &Roman numerals for series number</string>
|
||||
<layout class="QGridLayout" name="gridLayout_12">
|
||||
<item row="0" column="0">
|
||||
<widget class="QTabWidget" name="toolbar_cm_tab">
|
||||
<property name="currentIndex">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QCheckBox" name="systray_icon">
|
||||
<property name="text">
|
||||
<string>Enable system &tray icon (needs restart)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QCheckBox" name="systray_notifications">
|
||||
<property name="text">
|
||||
<string>Show &notifications in system tray</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QCheckBox" name="show_splash_screen">
|
||||
<property name="text">
|
||||
<string>Show &splash screen at startup</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="separate_cover_flow">
|
||||
<property name="text">
|
||||
<string>Show cover &browser in a separate window (needs restart)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="show_avg_rating">
|
||||
<property name="text">
|
||||
<string>Show &average ratings in the tags browser</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="0">
|
||||
<widget class="QCheckBox" name="search_as_you_type">
|
||||
<property name="text">
|
||||
<string>Search as you type</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="9" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="sync_news">
|
||||
<property name="text">
|
||||
<string>Automatically send downloaded &news to ebook reader</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="10" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="delete_news">
|
||||
<property name="text">
|
||||
<string>&Delete news from library when it is automatically sent to reader</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="11" column="0" colspan="2">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="text">
|
||||
<string>&Number of covers to show in browse mode (needs restart):</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>cover_browse</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSpinBox" name="cover_browse"/>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="12" column="0" colspan="2">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_7">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="title">
|
||||
<string>Select visible &columns in library view</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_7">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||
<item>
|
||||
<widget class="QListWidget" name="columns">
|
||||
<property name="alternatingRowColors">
|
||||
<bool>true</bool>
|
||||
<widget class="QWidget" name="tab_3">
|
||||
<attribute name="title">
|
||||
<string>&Miscellaneous</string>
|
||||
</attribute>
|
||||
<layout class="QGridLayout" name="gridLayout_8">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_17">
|
||||
<property name="text">
|
||||
<string>User Interface &layout (needs restart):</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>opt_gui_layout</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QComboBox" name="opt_gui_layout">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>250</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="text">
|
||||
<string>&Number of covers to show in browse mode (needs restart):</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>cover_browse</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QSpinBox" name="cover_browse"/>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_170">
|
||||
<property name="text">
|
||||
<string>Restriction to apply when the current library is opened:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>opt_gui_restriction</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QComboBox" name="opt_gui_restriction">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>250</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Apply this restriction on calibre startup if the current library is being used. Also applied when switching to this library. Note that this setting is per library. </string>
|
||||
</property>
|
||||
<property name="sizeAdjustPolicy">
|
||||
<enum>QComboBox::AdjustToMinimumContentsLengthWithIcon</enum>
|
||||
</property>
|
||||
<property name="minimumContentsLength">
|
||||
<number>15</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QCheckBox" name="roman_numerals">
|
||||
<property name="text">
|
||||
<string>Use &Roman numerals for series number</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QCheckBox" name="opt_disable_animations">
|
||||
<property name="toolTip">
|
||||
<string>Disable all animations. Useful if you have a slow/old computer.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Disable &animations</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QCheckBox" name="systray_icon">
|
||||
<property name="text">
|
||||
<string>Enable system &tray icon (needs restart)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QCheckBox" name="systray_notifications">
|
||||
<property name="text">
|
||||
<string>Show &notifications in system tray</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
<widget class="QCheckBox" name="opt_show_donate_button">
|
||||
<property name="text">
|
||||
<string>Show &donate button (restart)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="11" column="0" colspan="2">
|
||||
<widget class="QGroupBox" name="groupBox_2">
|
||||
<property name="title">
|
||||
<string>&Toolbar</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="1">
|
||||
<widget class="QComboBox" name="opt_toolbar_icon_size"/>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>&Icon size:</string>
|
||||
</property>
|
||||
<property name="selectionBehavior">
|
||||
<enum>QAbstractItemView::SelectRows</enum>
|
||||
<property name="buddy">
|
||||
<cstring>opt_toolbar_icon_size</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<item row="1" column="1">
|
||||
<widget class="QComboBox" name="opt_toolbar_text"/>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Show &text under icons:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>opt_toolbar_text</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="10" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="delete_news">
|
||||
<property name="text">
|
||||
<string>&Delete news from library when it is automatically sent to reader</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="12" column="0" colspan="2">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_7">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="title">
|
||||
<string>Select visible &columns in library view</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_7">
|
||||
<item>
|
||||
<widget class="QToolButton" name="column_up">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../../../../../resources/images.qrc">
|
||||
<normaloff>:/images/arrow-up.svg</normaloff>:/images/arrow-up.svg</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||
<item>
|
||||
<widget class="QListWidget" name="columns">
|
||||
<property name="alternatingRowColors">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="selectionBehavior">
|
||||
<enum>QAbstractItemView::SelectRows</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<item>
|
||||
<widget class="QToolButton" name="column_up">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../../../../../resources/images.qrc">
|
||||
<normaloff>:/images/arrow-up.svg</normaloff>:/images/arrow-up.svg</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="del_custcol_button">
|
||||
<property name="toolTip">
|
||||
<string>Remove a user-defined column</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../../../../../resources/images.qrc">
|
||||
<normaloff>:/images/minus.svg</normaloff>:/images/minus.svg</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="add_custcol_button">
|
||||
<property name="toolTip">
|
||||
<string>Add a user-defined column</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../../../../../resources/images.qrc">
|
||||
<normaloff>:/images/plus.svg</normaloff>:/images/plus.svg</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="edit_custcol_button">
|
||||
<property name="toolTip">
|
||||
<string>Edit settings of a user-defined column</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../../../../../resources/images.qrc">
|
||||
<normaloff>:/images/edit_input.svg</normaloff>:/images/edit_input.svg</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="column_down">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../../../../../resources/images.qrc">
|
||||
<normaloff>:/images/arrow-down.svg</normaloff>:/images/arrow-down.svg</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_3">
|
||||
<property name="title">
|
||||
<string>Use internal &viewer for:</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_4">
|
||||
<item row="0" column="0">
|
||||
<widget class="QListWidget" name="viewer">
|
||||
<property name="alternatingRowColors">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="del_custcol_button">
|
||||
<property name="toolTip">
|
||||
<string>Remove a user-defined column</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../../../../../resources/images.qrc">
|
||||
<normaloff>:/images/minus.svg</normaloff>:/images/minus.svg</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="add_custcol_button">
|
||||
<property name="toolTip">
|
||||
<string>Add a user-defined column</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../../../../../resources/images.qrc">
|
||||
<normaloff>:/images/plus.svg</normaloff>:/images/plus.svg</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="edit_custcol_button">
|
||||
<property name="toolTip">
|
||||
<string>Edit settings of a user-defined column</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../../../../../resources/images.qrc">
|
||||
<normaloff>:/images/edit_input.svg</normaloff>:/images/edit_input.svg</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="column_down">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../../../../../resources/images.qrc">
|
||||
<normaloff>:/images/arrow-down.svg</normaloff>:/images/arrow-down.svg</iconset>
|
||||
<property name="selectionMode">
|
||||
<enum>QAbstractItemView::NoSelection</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_3">
|
||||
<property name="title">
|
||||
<string>Use internal &viewer for:</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_4">
|
||||
<item row="0" column="0">
|
||||
<widget class="QListWidget" name="viewer">
|
||||
<property name="alternatingRowColors">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="selectionMode">
|
||||
<enum>QAbstractItemView::NoSelection</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_17">
|
||||
<property name="text">
|
||||
<string>User Interface &layout (needs restart):</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>opt_gui_layout</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QComboBox" name="opt_gui_layout">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>250</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_170">
|
||||
<property name="text">
|
||||
<string>Restriction to apply when the current library is opened:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>opt_gui_restriction</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QComboBox" name="opt_gui_restriction">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>250</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Apply this restriction on calibre startup if the current library is being used. Also applied when switching to this library. Note that this setting is per library. </string>
|
||||
</property>
|
||||
<property name="sizeAdjustPolicy">
|
||||
<enum>QComboBox::AdjustToMinimumContentsLengthWithIcon</enum>
|
||||
</property>
|
||||
<property name="minimumContentsLength">
|
||||
<number>20</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QCheckBox" name="opt_disable_animations">
|
||||
<property name="toolTip">
|
||||
<string>Disable all animations. Useful if you have a slow/old computer.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Disable &animations</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QCheckBox" name="opt_show_donate_button">
|
||||
<property name="text">
|
||||
<string>Show &donate button (restart)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="0" colspan="2">
|
||||
<widget class="QGroupBox" name="groupBox_2">
|
||||
<property name="title">
|
||||
<string>&Toolbar</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="1">
|
||||
<widget class="QComboBox" name="opt_toolbar_icon_size"/>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>&Icon size:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>opt_toolbar_icon_size</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QComboBox" name="opt_toolbar_text"/>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Show &text under icons:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>opt_toolbar_text</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="8" column="1">
|
||||
<widget class="QCheckBox" name="show_splash_screen">
|
||||
<property name="text">
|
||||
<string>Show &splash screen at startup</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="0">
|
||||
<widget class="QCheckBox" name="sync_news">
|
||||
<property name="text">
|
||||
<string>Automatically send downloaded &news to ebook reader</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="1">
|
||||
<widget class="QCheckBox" name="search_as_you_type">
|
||||
<property name="text">
|
||||
<string>Search as you type</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0">
|
||||
<widget class="QCheckBox" name="show_avg_rating">
|
||||
<property name="text">
|
||||
<string>Show &average ratings in the tags browser</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="0">
|
||||
<widget class="QCheckBox" name="separate_cover_flow">
|
||||
<property name="text">
|
||||
<string>Show cover &browser in a separate window (needs restart)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
|
@ -11,41 +11,29 @@ from PyQt4.Qt import QWidget, QAbstractListModel, Qt, QIcon, \
|
||||
QVariant, QItemSelectionModel
|
||||
|
||||
from calibre.gui2.dialogs.config.toolbar_ui import Ui_Form
|
||||
from calibre.gui2.layout import TOOLBAR_NO_DEVICE, TOOLBAR_DEVICE
|
||||
from calibre.gui2.init import LIBRARY_CONTEXT_MENU, DEVICE_CONTEXT_MENU
|
||||
from calibre.gui2 import gprefs, NONE
|
||||
from calibre.gui2 import gprefs, NONE, warning_dialog
|
||||
|
||||
DEFAULTS = {
|
||||
'toolbar': TOOLBAR_NO_DEVICE,
|
||||
'toolbar-device': TOOLBAR_DEVICE,
|
||||
'context-menu': LIBRARY_CONTEXT_MENU,
|
||||
'context-menu-device': DEVICE_CONTEXT_MENU,
|
||||
}
|
||||
|
||||
UNREMOVABLE = {
|
||||
'toolbar': ['Preferences'],
|
||||
'toolbar-device': ['Send To Device', 'Location Manager'],
|
||||
}
|
||||
|
||||
UNADDABLE = {
|
||||
'toolbar': ['Location Manager'],
|
||||
'context-menu': ['Location Manager'],
|
||||
'context-menu-device': ['Location Manager'],
|
||||
}
|
||||
|
||||
class FakeAction(object):
|
||||
|
||||
def __init__(self, name, icon, tooltip=None):
|
||||
def __init__(self, name, icon, tooltip=None,
|
||||
dont_add_to=frozenset([]), dont_remove_from=frozenset([])):
|
||||
self.name = name
|
||||
self.action_spec = (name, icon, tooltip, None)
|
||||
self.dont_remove_from = dont_remove_from
|
||||
self.dont_add_to = dont_add_to
|
||||
|
||||
class BaseModel(QAbstractListModel):
|
||||
|
||||
def name_to_action(self, name, gui):
|
||||
if name == 'Donate':
|
||||
return FakeAction(name, 'donate.svg')
|
||||
return FakeAction(name, 'donate.svg',
|
||||
dont_add_to=frozenset(['context-menu',
|
||||
'context-menu-device']))
|
||||
if name == 'Location Manager':
|
||||
return FakeAction(name, None)
|
||||
return FakeAction(name, None,
|
||||
_('Switch between library and device views'),
|
||||
dont_remove_from=set(['toolbar-device']))
|
||||
if name is None:
|
||||
return FakeAction('--- '+_('Separator')+' ---', None)
|
||||
return gui.iactions[name]
|
||||
@ -71,25 +59,73 @@ class BaseModel(QAbstractListModel):
|
||||
return QVariant(action[2])
|
||||
return NONE
|
||||
|
||||
def names(self, indexes):
|
||||
rows = [i.row() for i in indexes]
|
||||
ans = []
|
||||
for i in rows:
|
||||
n = self._data[i].name
|
||||
if n.startswith('---'):
|
||||
n = None
|
||||
ans.append(n)
|
||||
return ans
|
||||
|
||||
|
||||
class AllModel(BaseModel):
|
||||
|
||||
def __init__(self, key, gui):
|
||||
BaseModel.__init__(self)
|
||||
current = gprefs.get('action-layout-'+key, DEFAULTS[key])
|
||||
all = list(gui.iactions.keys()) + ['Donate']
|
||||
all = [x for x in all if x not in current] + [None]
|
||||
all = [self.name_to_action(x, gui) for x in all]
|
||||
all.sort()
|
||||
self.gprefs_name = 'action-layout-'+key
|
||||
current = gprefs[self.gprefs_name]
|
||||
self.gui = gui
|
||||
self.key = key
|
||||
self._data = self.get_all_actions(current)
|
||||
|
||||
self._data = all
|
||||
def get_all_actions(self, current):
|
||||
all = list(self.gui.iactions.keys()) + ['Donate']
|
||||
all = [x for x in all if x not in current] + [None]
|
||||
all = [self.name_to_action(x, self.gui) for x in all]
|
||||
all = [x for x in all if self.key not in x.dont_add_to]
|
||||
all.sort()
|
||||
return all
|
||||
|
||||
def add(self, names):
|
||||
actions = []
|
||||
for name in names:
|
||||
if name is None or name.startswith('---'): continue
|
||||
actions.append(self.name_to_action(name, self.gui))
|
||||
self._data.extend(actions)
|
||||
self._data.sort()
|
||||
self.reset()
|
||||
|
||||
def remove(self, indices, allowed):
|
||||
rows = [i.row() for i in indices]
|
||||
remove = set([])
|
||||
for row in rows:
|
||||
ac = self._data[row]
|
||||
if ac.name.startswith('---'): continue
|
||||
if ac.name in allowed:
|
||||
remove.add(row)
|
||||
ndata = []
|
||||
for i, ac in enumerate(self._data):
|
||||
if i not in remove:
|
||||
ndata.append(ac)
|
||||
self._data = ndata
|
||||
self.reset()
|
||||
|
||||
def restore_defaults(self):
|
||||
current = gprefs.defaults[self.gprefs_name]
|
||||
self._data = self.get_all_actions(current)
|
||||
self.reset()
|
||||
|
||||
class CurrentModel(BaseModel):
|
||||
|
||||
def __init__(self, key, gui):
|
||||
BaseModel.__init__(self)
|
||||
current = gprefs.get('action-layout-'+key, DEFAULTS[key])
|
||||
self.gprefs_name = 'action-layout-'+key
|
||||
current = gprefs[self.gprefs_name]
|
||||
self._data = [self.name_to_action(x, gui) for x in current]
|
||||
self.key = key
|
||||
self.gui = gui
|
||||
|
||||
def move(self, idx, delta):
|
||||
row = idx.row()
|
||||
@ -106,6 +142,58 @@ class CurrentModel(BaseModel):
|
||||
self.dataChanged.emit(ni, ni)
|
||||
return ni
|
||||
|
||||
def add(self, names):
|
||||
actions = []
|
||||
reject = set([])
|
||||
for name in names:
|
||||
ac = self.name_to_action(name, self.gui)
|
||||
if self.key in ac.dont_add_to:
|
||||
reject.add(ac)
|
||||
else:
|
||||
actions.append(ac)
|
||||
|
||||
self._data.extend(actions)
|
||||
self.reset()
|
||||
return reject
|
||||
|
||||
def remove(self, indices):
|
||||
rows = [i.row() for i in indices]
|
||||
remove, rejected = set([]), set([])
|
||||
for row in rows:
|
||||
ac = self._data[row]
|
||||
if self.key in ac.dont_remove_from:
|
||||
rejected.add(ac)
|
||||
continue
|
||||
remove.add(row)
|
||||
ndata = []
|
||||
for i, ac in enumerate(self._data):
|
||||
if i not in remove:
|
||||
ndata.append(ac)
|
||||
self._data = ndata
|
||||
self.reset()
|
||||
return rejected
|
||||
|
||||
def commit(self):
|
||||
old = gprefs[self.gprefs_name]
|
||||
new = []
|
||||
for x in self._data:
|
||||
n = x.name
|
||||
if n.startswith('---'):
|
||||
n = None
|
||||
new.append(n)
|
||||
new = tuple(new)
|
||||
if new != old:
|
||||
defaults = gprefs.defaults[self.gprefs_name]
|
||||
if defaults == new:
|
||||
del gprefs[self.gprefs_name]
|
||||
else:
|
||||
gprefs[self.gprefs_name] = new
|
||||
|
||||
def restore_defaults(self):
|
||||
current = gprefs.defaults[self.gprefs_name]
|
||||
self._data = [self.name_to_action(x, self.gui) for x in current]
|
||||
self.reset()
|
||||
|
||||
|
||||
class ToolbarLayout(QWidget, Ui_Form):
|
||||
|
||||
@ -134,6 +222,7 @@ class ToolbarLayout(QWidget, Ui_Form):
|
||||
|
||||
self.add_action_button.clicked.connect(self.add_action)
|
||||
self.remove_action_button.clicked.connect(self.remove_action)
|
||||
self.restore_defaults_button.clicked.connect(self.restore_defaults)
|
||||
self.action_up_button.clicked.connect(partial(self.move, -1))
|
||||
self.action_down_button.clicked.connect(partial(self.move, 1))
|
||||
|
||||
@ -143,10 +232,36 @@ class ToolbarLayout(QWidget, Ui_Form):
|
||||
self.current_actions.setModel(self.models[key][1])
|
||||
|
||||
def add_action(self, *args):
|
||||
pass
|
||||
x = self.all_actions.selectionModel().selectedIndexes()
|
||||
names = self.all_actions.model().names(x)
|
||||
if names:
|
||||
not_added = self.current_actions.model().add(names)
|
||||
ns = set([x.name for x in not_added])
|
||||
added = set(names) - ns
|
||||
self.all_actions.model().remove(x, added)
|
||||
if not_added:
|
||||
warning_dialog(self, _('Cannot add'),
|
||||
_('Cannot add the actions %s to this location') %
|
||||
','.join([a.action_spec[0] for a in not_added]),
|
||||
show=True)
|
||||
if added:
|
||||
ca = self.current_actions
|
||||
idx = ca.model().index(ca.model().rowCount(None)-1)
|
||||
ca.scrollTo(idx)
|
||||
|
||||
def remove_action(self, *args):
|
||||
pass
|
||||
x = self.current_actions.selectionModel().selectedIndexes()
|
||||
names = self.current_actions.model().names(x)
|
||||
if names:
|
||||
not_removed = self.current_actions.model().remove(x)
|
||||
ns = set([x.name for x in not_removed])
|
||||
removed = set(names) - ns
|
||||
self.all_actions.model().add(removed)
|
||||
if not_removed:
|
||||
warning_dialog(self, _('Cannot remove'),
|
||||
_('Cannot remove the actions %s from this location') %
|
||||
','.join([a.action_spec[0] for a in not_removed]),
|
||||
show=True)
|
||||
|
||||
def move(self, delta, *args):
|
||||
ci = self.current_actions.currentIndex()
|
||||
@ -158,6 +273,16 @@ class ToolbarLayout(QWidget, Ui_Form):
|
||||
self.current_actions.selectionModel().select(ni,
|
||||
QItemSelectionModel.ClearAndSelect)
|
||||
|
||||
def commit(self):
|
||||
for am, cm in self.models.values():
|
||||
cm.commit()
|
||||
|
||||
def restore_defaults(self, *args):
|
||||
for am, cm in self.models.values():
|
||||
cm.restore_defaults()
|
||||
am.restore_defaults()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
from PyQt4.Qt import QApplication
|
||||
from calibre.gui2.ui import Main
|
||||
@ -166,4 +291,5 @@ if __name__ == '__main__':
|
||||
a = ToolbarLayout(m)
|
||||
a.show()
|
||||
app.exec_()
|
||||
a.commit()
|
||||
|
||||
|
@ -207,6 +207,13 @@
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="3" column="2">
|
||||
<widget class="QPushButton" name="restore_defaults_button">
|
||||
<property name="text">
|
||||
<string>Restore to &default</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources>
|
||||
|
@ -13,7 +13,7 @@ from PyQt4.Qt import Qt, QStackedWidget, QMenu, \
|
||||
from calibre.utils.config import prefs
|
||||
from calibre.constants import isosx, __appname__, preferred_encoding, \
|
||||
__version__
|
||||
from calibre.gui2 import config, is_widescreen
|
||||
from calibre.gui2 import config, is_widescreen, gprefs
|
||||
from calibre.gui2.library.views import BooksView, DeviceBooksView
|
||||
from calibre.gui2.widgets import Splitter
|
||||
from calibre.gui2.tag_view import TagBrowserWidget
|
||||
@ -27,35 +27,10 @@ def partial(*args, **kwargs):
|
||||
_keep_refs.append(ans)
|
||||
return ans
|
||||
|
||||
LIBRARY_CONTEXT_MENU = (
|
||||
'Edit Metadata', 'Send To Device', 'Save To Disk',
|
||||
'Connect Share', 'Copy To Library', None,
|
||||
'Convert Books', 'View', 'Open Folder', 'Show Book Details',
|
||||
'Similar Books', None, 'Remove Books',
|
||||
)
|
||||
|
||||
DEVICE_CONTEXT_MENU = ('View', 'Save To Disk', None, 'Remove Books', None,
|
||||
'Add To Library', 'Edit Collections',
|
||||
)
|
||||
|
||||
class LibraryViewMixin(object): # {{{
|
||||
|
||||
def __init__(self, db):
|
||||
lm = QMenu(self)
|
||||
def populate_menu(m, items):
|
||||
for what in items:
|
||||
if what is None:
|
||||
m.addSeparator()
|
||||
elif what in self.iactions:
|
||||
m.addAction(self.iactions[what].qaction)
|
||||
populate_menu(lm, LIBRARY_CONTEXT_MENU)
|
||||
dm = QMenu(self)
|
||||
populate_menu(dm, DEVICE_CONTEXT_MENU)
|
||||
ec = self.iactions['Edit Collections'].qaction
|
||||
self.library_view.set_context_menu(lm, ec)
|
||||
for v in (self.memory_view, self.card_a_view, self.card_b_view):
|
||||
v.set_context_menu(dm, ec)
|
||||
|
||||
self.library_view.files_dropped.connect(self.iactions['Add Books'].files_dropped, type=Qt.QueuedConnection)
|
||||
for func, args in [
|
||||
('connect_to_search_box', (self.search,
|
||||
@ -85,6 +60,23 @@ class LibraryViewMixin(object): # {{{
|
||||
view = getattr(self, view+'_view')
|
||||
view.verticalHeader().sectionDoubleClicked.connect(self.iactions['View'].view_specific_book)
|
||||
|
||||
self.build_context_menus()
|
||||
|
||||
def build_context_menus(self):
|
||||
lm = QMenu(self)
|
||||
def populate_menu(m, items):
|
||||
for what in items:
|
||||
if what is None:
|
||||
m.addSeparator()
|
||||
elif what in self.iactions:
|
||||
m.addAction(self.iactions[what].qaction)
|
||||
populate_menu(lm, gprefs['action-layout-context-menu'])
|
||||
dm = QMenu(self)
|
||||
populate_menu(dm, gprefs['action-layout-context-menu-device'])
|
||||
ec = self.iactions['Edit Collections'].qaction
|
||||
self.library_view.set_context_menu(lm, ec)
|
||||
for v in (self.memory_view, self.card_a_view, self.card_b_view):
|
||||
v.set_context_menu(dm, ec)
|
||||
|
||||
|
||||
def search_done(self, view, ok):
|
||||
|
@ -19,19 +19,6 @@ from calibre.gui2 import config, gprefs
|
||||
from calibre.gui2.widgets import ComboBoxWithHelp
|
||||
from calibre import human_readable
|
||||
|
||||
TOOLBAR_NO_DEVICE = (
|
||||
'Add Books', 'Edit Metadata', None, 'Convert Books', 'View', None,
|
||||
'Choose Library', 'Donate', None, 'Fetch News', 'Save To Disk',
|
||||
'Connect Share', None, 'Remove Books', None, 'Help', 'Preferences',
|
||||
)
|
||||
|
||||
TOOLBAR_DEVICE = (
|
||||
'Add Books', 'Edit Metadata', None, 'Convert Books', 'View',
|
||||
'Send To Device', None, None, 'Location Manager', None, None,
|
||||
'Fetch News', 'Save To Disk', 'Connect Share', None,
|
||||
'Remove Books', None, 'Help', 'Preferences',
|
||||
)
|
||||
|
||||
class LocationManager(QObject): # {{{
|
||||
|
||||
locations_changed = pyqtSignal()
|
||||
@ -248,7 +235,8 @@ class ToolBar(QToolBar): # {{{
|
||||
|
||||
def build_bar(self):
|
||||
showing_device = self.location_manager.has_device
|
||||
actions = TOOLBAR_DEVICE if showing_device else TOOLBAR_NO_DEVICE
|
||||
actions = '-device' if showing_device else ''
|
||||
actions = gprefs['action-layout-toolbar'+actions]
|
||||
|
||||
self.clear()
|
||||
|
||||
|
@ -112,6 +112,6 @@ class cmd_commit(_cmd_commit):
|
||||
server = xmlrpclib.ServerProxy(url)
|
||||
server.ticket.update(int(bug), msg,
|
||||
{'status':'closed', 'resolution':'fixed'},
|
||||
False)
|
||||
True)
|
||||
|
||||
bzrlib.commands.register_command(cmd_commit)
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -7,14 +7,14 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: calibre\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2010-08-18 22:24+0000\n"
|
||||
"PO-Revision-Date: 2010-08-19 19:17+0000\n"
|
||||
"POT-Creation-Date: 2010-08-20 20:19+0000\n"
|
||||
"PO-Revision-Date: 2010-08-21 08:43+0000\n"
|
||||
"Last-Translator: Glenn <Unknown>\n"
|
||||
"Language-Team: Danish <da@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-08-20 03:34+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-08-22 03:44+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43
|
||||
@ -27,7 +27,7 @@ msgstr "Gør absolut ingenting"
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:70
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:506
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:507
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:405
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:97
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:100
|
||||
@ -136,10 +136,10 @@ msgstr "Gør absolut ingenting"
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1076
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1760
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1762
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1885
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1889
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:201
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:134
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:137
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:136
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:139
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/xml.py:70
|
||||
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117
|
||||
#: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46
|
||||
@ -763,7 +763,11 @@ msgstr "Kommunikér med Booq Avant"
|
||||
msgid "Communicate with the Sweex MM300"
|
||||
msgstr "Kommunikér med Sweex MM300"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:78
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:79
|
||||
msgid "Communicate with the Kogan"
|
||||
msgstr "Kommunikér med Kogan"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:87
|
||||
msgid "Communicate with the Pandigital Novel"
|
||||
msgstr "Kommunikér med Pandigital Novel"
|
||||
|
||||
@ -807,7 +811,7 @@ msgstr ""
|
||||
"Komma separeret liste af metadata felter som oversættes til collections på "
|
||||
"enheden. Muligheder omfatter: "
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:144
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:145
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/structure.py:68
|
||||
msgid "Unnamed"
|
||||
msgstr "Unavngivet"
|
||||
@ -1671,7 +1675,11 @@ msgstr "Udfører transformationer på e-bog..."
|
||||
msgid "Creating"
|
||||
msgstr "Opretter"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/__init__.py:18
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/__init__.py:20
|
||||
msgid "Failed to parse: %s with error: %s"
|
||||
msgstr "Fejlede med at parse: %s med fejl: %s"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/__init__.py:26
|
||||
msgid "ePub Fixer"
|
||||
msgstr "ePub-fixer"
|
||||
|
||||
@ -1692,7 +1700,7 @@ msgstr ""
|
||||
"Dette kan forårsage omfattende ændringer til din epub, klag til epubcheck-"
|
||||
"projektet."
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:19
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:21
|
||||
msgid ""
|
||||
"%prog [options] file.epub\n"
|
||||
"\n"
|
||||
@ -1710,7 +1718,7 @@ msgstr ""
|
||||
"By default, no fixing is done and messages are printed out for each error "
|
||||
"detected. Use the options to control which errors are automatically fixed."
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:50
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:52
|
||||
msgid "You must specify an epub file"
|
||||
msgstr "Du skal angive en epub-fil"
|
||||
|
||||
@ -2103,7 +2111,7 @@ msgstr "Tegneserie"
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:359
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:887
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:550
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:569
|
||||
msgid "Title"
|
||||
msgstr "Titel"
|
||||
|
||||
@ -3151,7 +3159,7 @@ msgid ""
|
||||
"directory, assumes every ebook file is the same book in a different format)"
|
||||
msgstr ""
|
||||
"Tilføj bøger fra mapper, inklusiv undermapper (Én e-bog per mappe, formoder "
|
||||
"hver e-bogsfil er den samme e-bog i forskellge formater)"
|
||||
"hver e-bogsfil er den samme e-bog i forskellige formater)"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:36
|
||||
msgid ""
|
||||
@ -3293,6 +3301,7 @@ msgstr "Kun brugernoter genereret fra arbejdsbibliotek"
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:63
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:30
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:85
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:98
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:74
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:140
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:176
|
||||
@ -3368,7 +3377,8 @@ msgid "Select destination for %s.%s"
|
||||
msgstr "Gem destination for %s.%s"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:73
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:108
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:62
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:110
|
||||
msgid "%d books"
|
||||
msgstr "%d bøger"
|
||||
|
||||
@ -3435,14 +3445,45 @@ msgstr "Kan ikke konvertere"
|
||||
msgid "Starting conversion of %d book(s)"
|
||||
msgstr "Starter konvertering af %d bog/bøger"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:15
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:63
|
||||
msgid "Copy to library"
|
||||
msgstr "Kopiér til bibliotek"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:16
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:64
|
||||
msgid "Copy selected books to the specified library"
|
||||
msgstr "Kopiér udvalgte bøger til det angivne bibliotek"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:97
|
||||
msgid "Cannot copy"
|
||||
msgstr "Kan ikke kopiere"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:102
|
||||
msgid "No library"
|
||||
msgstr "Intet bibliotek"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:103
|
||||
msgid "No library found at %s"
|
||||
msgstr "Intet bibliotek fundet ved %s"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:106
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:110
|
||||
msgid "Copying"
|
||||
msgstr "Kopiérer"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:120
|
||||
msgid "Could not copy books: "
|
||||
msgstr "Kunne ikke kopiere bøger: "
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:120
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:678
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:231
|
||||
msgid "Failed"
|
||||
msgstr "Fejlede"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:123
|
||||
msgid "Copied %d books to %s"
|
||||
msgstr "Kopiéret %d bøger til %s"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:18
|
||||
msgid "Del"
|
||||
msgstr "Slet"
|
||||
@ -3875,35 +3916,35 @@ msgstr "Ingen detaljeret information tilgængelig om bøger på enheden."
|
||||
msgid "Similar books..."
|
||||
msgstr "Lignende bøger..."
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:22
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:23
|
||||
msgid "Alt+A"
|
||||
msgstr "Alt+A"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:22
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:23
|
||||
msgid "Books by same author"
|
||||
msgstr "Bøger af samme forfatter"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:23
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:24
|
||||
msgid "Alt+S"
|
||||
msgstr "Alt+S"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:23
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:24
|
||||
msgid "Books in this series"
|
||||
msgstr "Bøger i denne serie"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:24
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:25
|
||||
msgid "Alt+P"
|
||||
msgstr "Alt+P"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:24
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:25
|
||||
msgid "Books by this publisher"
|
||||
msgstr "Bøger fra denne udgiver"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:25
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:26
|
||||
msgid "Alt+T"
|
||||
msgstr "Alt+T"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:25
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:26
|
||||
msgid "Books with the same tags"
|
||||
msgstr "Bøger med samme mærker"
|
||||
|
||||
@ -4121,6 +4162,10 @@ msgstr ""
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:636
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:637
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:690
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:98
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:100
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:103
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:105
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:365
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:370
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:384
|
||||
@ -4286,6 +4331,7 @@ msgstr "output"
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:67
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:77
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/save_template_ui.py:41
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:93
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:35
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:106
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:107
|
||||
@ -5559,11 +5605,6 @@ msgstr "Kommunikationsfejl med enheden"
|
||||
msgid "Select folder to open as device"
|
||||
msgstr "Vælg mappe til at åbne som enhed"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:678
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:231
|
||||
msgid "Failed"
|
||||
msgstr "Fejlede"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:684
|
||||
msgid "Error talking to device"
|
||||
msgstr "Fejl ved kommunikation med enhed"
|
||||
@ -6746,7 +6787,7 @@ msgstr "Tal"
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:889
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:549
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:568
|
||||
msgid "Date"
|
||||
msgstr "Dato"
|
||||
|
||||
@ -6940,6 +6981,63 @@ msgstr "Tilgængelige variable:"
|
||||
msgid "Downloading social metadata, please wait..."
|
||||
msgstr "Downloader sociale metadata, vent venligst..."
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:50
|
||||
msgid "Separator"
|
||||
msgstr "Separator"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:63
|
||||
msgid "Choose library"
|
||||
msgstr "Vælg bibliotek"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:113
|
||||
msgid "The main toolbar"
|
||||
msgstr "Hovedværktøjslinjen"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:114
|
||||
msgid "The main toolbar when a device is connected"
|
||||
msgstr "Hovedværktøjslinjen når en enhed er forbundet"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:115
|
||||
msgid "The context menu for the books in the calibre library"
|
||||
msgstr "Kontekstmenuen til bøgerne i calibre-biblioteket"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:117
|
||||
msgid "The context menu for the books on the device"
|
||||
msgstr "Kontekstmenuen til bøgerne i enheden"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:94
|
||||
msgid "Customize the actions in:"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:95
|
||||
msgid "A&vailable actions"
|
||||
msgstr "&Tilgængelige aktioner"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:96
|
||||
msgid "&Current actions"
|
||||
msgstr "&Aktuelle aktioner"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:97
|
||||
msgid "Move selected action up"
|
||||
msgstr "Flyt udvalgte aktion op"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:99
|
||||
msgid "Move selected action down"
|
||||
msgstr "Flyt udvalgte aktion ned"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:101
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:78
|
||||
msgid "Ctrl+S"
|
||||
msgstr "Ctrl+S"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:102
|
||||
msgid "Add selected actions to toolbar"
|
||||
msgstr "Tilføj udvalgte aktioner til værktøjslinjen"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:104
|
||||
msgid "Remove selected actions from toolbar"
|
||||
msgstr "Fjern udvalgte aktioner fra værktøjslinjen"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:50
|
||||
msgid "&Show this warning again"
|
||||
msgstr "&Vis denne advarsel igen"
|
||||
@ -7911,10 +8009,6 @@ msgstr ""
|
||||
msgid "Rename the item in every book where it is used."
|
||||
msgstr "Omdøb emnet i bøger hvor det er brugt."
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:78
|
||||
msgid "Ctrl+S"
|
||||
msgstr "Ctrl+S"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/test_email_ui.py:51
|
||||
msgid "Test email settings"
|
||||
msgstr "Test e-mail indstillinger"
|
||||
@ -8228,48 +8322,48 @@ msgstr "ISBN:"
|
||||
msgid "Regular expression (?P<isbn>)"
|
||||
msgstr "Regulært udtryk (?P<isbn>)"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:104
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:105
|
||||
msgid "Cover Browser"
|
||||
msgstr "omslags-browser"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:109
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:110
|
||||
msgid "Shift+Alt+B"
|
||||
msgstr "Shift+Alt+B"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:123
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:124
|
||||
msgid "Tag Browser"
|
||||
msgstr "Mærke-browser"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:125
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:126
|
||||
msgid "Shift+Alt+T"
|
||||
msgstr "Shift+Alt+T"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:145
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:146
|
||||
msgid "version"
|
||||
msgstr "version"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:146
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:147
|
||||
msgid "created by Kovid Goyal"
|
||||
msgstr "skabt af Kovid Goyal"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:164
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:165
|
||||
msgid "Connected "
|
||||
msgstr "Forbundet "
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:173
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:174
|
||||
msgid "Update found"
|
||||
msgstr "Opdatering fundet"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:217
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:227
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:218
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:228
|
||||
msgid "Book Details"
|
||||
msgstr "bog detaljer"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:219
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:220
|
||||
msgid "Alt+D"
|
||||
msgstr "Alt+D"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:229
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:230
|
||||
msgid "Shift+Alt+D"
|
||||
msgstr "Shift+Alt+D"
|
||||
|
||||
@ -8341,7 +8435,7 @@ msgid "Eject this device"
|
||||
msgstr "Skub denne enhed ud"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:192
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:194
|
||||
msgid "Library"
|
||||
msgstr "Bibliotek"
|
||||
|
||||
@ -10604,7 +10698,52 @@ msgstr "Spørger/spørg ikke efter bekræftelse"
|
||||
msgid "Error: You must specify a column label"
|
||||
msgstr "Fejl: Du skal specificere en kolonne label"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:809
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:803
|
||||
msgid ""
|
||||
"\n"
|
||||
" %prog saved_searches [options] list\n"
|
||||
" %prog saved_searches add name search\n"
|
||||
" %prog saved_searches remove name\n"
|
||||
"\n"
|
||||
" Manage the saved searches stored in this database.\n"
|
||||
" If you try to add a query with a name that already exists, it will be\n"
|
||||
" replaced.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:821
|
||||
msgid "Error: You must specify an action (add|remove|list)"
|
||||
msgstr "Fejl: Du skal angive en aktion (tilføj|fjern|liste)"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:829
|
||||
msgid "Name:"
|
||||
msgstr "Navn:"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:830
|
||||
msgid "Search string:"
|
||||
msgstr "Søgestreng:"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:836
|
||||
msgid "Error: You must specify a name and a search string"
|
||||
msgstr "Fejl: Du skal angive et navn og en søgestreng"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:839
|
||||
msgid "added"
|
||||
msgstr "tilføjet"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:844
|
||||
msgid "Error: You must specify a name"
|
||||
msgstr "Fejl: Du skal angive et navn"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:847
|
||||
msgid "removed"
|
||||
msgstr "fjernet"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:851
|
||||
msgid "Error: Action %s not recognized, must be one of: (add|remove|list)"
|
||||
msgstr "Fejl: Aktion %s ikke genkendt, skal være en af: (tilføj|fjern|liste)"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:865
|
||||
msgid ""
|
||||
"%%prog command [options] [arguments]\n"
|
||||
"\n"
|
||||
@ -10644,27 +10783,27 @@ msgstr "%sMiddel vurderingen er %3.1f"
|
||||
msgid "Main"
|
||||
msgstr "Main/hjem/primær"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1911
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1915
|
||||
msgid "<p>Migrating old database to ebook library in %s<br><center>"
|
||||
msgstr "<p>Flytter gammel database til e-bogsbibliotek i %s<br><center>"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1940
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1944
|
||||
msgid "Copying <b>%s</b>"
|
||||
msgstr "Kopierer <b>%s</b>"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1957
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1961
|
||||
msgid "Compacting database"
|
||||
msgstr "Komprimerer database"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2050
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2054
|
||||
msgid "Checking SQL integrity..."
|
||||
msgstr "Checker SQL integritet..."
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2091
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2095
|
||||
msgid "Checking for missing files."
|
||||
msgstr "Checker for manglende filer."
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2113
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2117
|
||||
msgid "Checked id"
|
||||
msgstr "Checket id"
|
||||
|
||||
@ -10897,35 +11036,39 @@ msgstr ""
|
||||
"Angiv en restriktion som skal anvendes til denne aktivering. Denne mulighed "
|
||||
"overstyrer enhver per-biblioteksindstilling angivet i GUI-en"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:127
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:110
|
||||
msgid "%d book"
|
||||
msgstr "%d bog"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129
|
||||
msgid "%d items"
|
||||
msgstr "%d emner"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:144
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:146
|
||||
msgid "RATING: %s<br />"
|
||||
msgstr "VURDERING: %s<br />"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:147
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:149
|
||||
msgid "TAGS: %s<br />"
|
||||
msgstr "MÆRKATER: %s<br />"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:151
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:153
|
||||
msgid "SERIES: %s [%s]<br />"
|
||||
msgstr "SERIER: %s [%s]<br />"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:231
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:233
|
||||
msgid "Books in your library"
|
||||
msgstr "Bøger i dit bibliotek"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:237
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:239
|
||||
msgid "By "
|
||||
msgstr "Af/efter "
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:238
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:240
|
||||
msgid "Books sorted by "
|
||||
msgstr "Bøger sorteret efter "
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:549
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:568
|
||||
msgid "Newest"
|
||||
msgstr "Nyeste"
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -7,14 +7,14 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: calibre\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2010-08-18 22:24+0000\n"
|
||||
"PO-Revision-Date: 2010-08-20 02:58+0000\n"
|
||||
"POT-Creation-Date: 2010-08-20 20:19+0000\n"
|
||||
"PO-Revision-Date: 2010-08-20 22:07+0000\n"
|
||||
"Last-Translator: Eleftherios Kosmas <elkosmas@gmail.com>\n"
|
||||
"Language-Team: Greek <el@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-08-20 03:34+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-08-22 03:44+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43
|
||||
@ -27,7 +27,7 @@ msgstr "Δεν κάνει τίποτα"
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:70
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:506
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:507
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:405
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:97
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:100
|
||||
@ -136,10 +136,10 @@ msgstr "Δεν κάνει τίποτα"
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1076
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1760
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1762
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1885
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1889
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:201
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:134
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:137
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:136
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:139
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/xml.py:70
|
||||
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117
|
||||
#: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46
|
||||
@ -755,7 +755,11 @@ msgstr "Επικοινωνία με το Booq Avant"
|
||||
msgid "Communicate with the Sweex MM300"
|
||||
msgstr "Επικοινωνία με το Sweex MM300"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:78
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:79
|
||||
msgid "Communicate with the Kogan"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:87
|
||||
msgid "Communicate with the Pandigital Novel"
|
||||
msgstr "Επικοινωνία με το Pandigital Novel"
|
||||
|
||||
@ -799,7 +803,7 @@ msgstr ""
|
||||
"Κατάλογος πεδίων συνδεδομένων, χωρισμένων με κόμμα, στη συσκευή, προς "
|
||||
"μετατροπή σε συλλογές. Οι πιθανότητες συμπεριλαμβάνουν: "
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:144
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:145
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/structure.py:68
|
||||
msgid "Unnamed"
|
||||
msgstr "Χωρίς όνομα"
|
||||
@ -1636,7 +1640,11 @@ msgstr ""
|
||||
msgid "Creating"
|
||||
msgstr "Δημιουργία"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/__init__.py:18
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/__init__.py:20
|
||||
msgid "Failed to parse: %s with error: %s"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/__init__.py:26
|
||||
msgid "ePub Fixer"
|
||||
msgstr ""
|
||||
|
||||
@ -1652,7 +1660,7 @@ msgid ""
|
||||
"cause significant changes to your epub, complain to the epubcheck project."
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:19
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:21
|
||||
msgid ""
|
||||
"%prog [options] file.epub\n"
|
||||
"\n"
|
||||
@ -1663,7 +1671,7 @@ msgid ""
|
||||
"detected. Use the options to control which errors are automatically fixed."
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:50
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:52
|
||||
msgid "You must specify an epub file"
|
||||
msgstr ""
|
||||
|
||||
@ -1994,7 +2002,7 @@ msgstr ""
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:359
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:887
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:550
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:569
|
||||
msgid "Title"
|
||||
msgstr ""
|
||||
|
||||
@ -3037,6 +3045,7 @@ msgstr ""
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:63
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:30
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:85
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:98
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:74
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:140
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:176
|
||||
@ -3110,7 +3119,8 @@ msgid "Select destination for %s.%s"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:73
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:108
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:62
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:110
|
||||
msgid "%d books"
|
||||
msgstr ""
|
||||
|
||||
@ -3175,14 +3185,45 @@ msgstr ""
|
||||
msgid "Starting conversion of %d book(s)"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:15
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:63
|
||||
msgid "Copy to library"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:16
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:64
|
||||
msgid "Copy selected books to the specified library"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:97
|
||||
msgid "Cannot copy"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:102
|
||||
msgid "No library"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:103
|
||||
msgid "No library found at %s"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:106
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:110
|
||||
msgid "Copying"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:120
|
||||
msgid "Could not copy books: "
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:120
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:678
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:231
|
||||
msgid "Failed"
|
||||
msgstr "Απέτυχε"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:123
|
||||
msgid "Copied %d books to %s"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:18
|
||||
msgid "Del"
|
||||
msgstr "Διαγραφή"
|
||||
@ -3596,35 +3637,35 @@ msgstr ""
|
||||
msgid "Similar books..."
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:22
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:23
|
||||
msgid "Alt+A"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:22
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:23
|
||||
msgid "Books by same author"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:23
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:24
|
||||
msgid "Alt+S"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:23
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:24
|
||||
msgid "Books in this series"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:24
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:25
|
||||
msgid "Alt+P"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:24
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:25
|
||||
msgid "Books by this publisher"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:25
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:26
|
||||
msgid "Alt+T"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:25
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:26
|
||||
msgid "Books with the same tags"
|
||||
msgstr ""
|
||||
|
||||
@ -3825,6 +3866,10 @@ msgstr ""
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:636
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:637
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:690
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:98
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:100
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:103
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:105
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:365
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:370
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:384
|
||||
@ -3987,6 +4032,7 @@ msgstr "έξοδος"
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:67
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:77
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/save_template_ui.py:41
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:93
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:35
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:106
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:107
|
||||
@ -5198,11 +5244,6 @@ msgstr ""
|
||||
msgid "Select folder to open as device"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:678
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:231
|
||||
msgid "Failed"
|
||||
msgstr "Απέτυχε"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:684
|
||||
msgid "Error talking to device"
|
||||
msgstr ""
|
||||
@ -6295,7 +6336,7 @@ msgstr "Αριθμός"
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:889
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:549
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:568
|
||||
msgid "Date"
|
||||
msgstr "Ημερομηνία"
|
||||
|
||||
@ -6473,6 +6514,63 @@ msgstr ""
|
||||
msgid "Downloading social metadata, please wait..."
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:50
|
||||
msgid "Separator"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:63
|
||||
msgid "Choose library"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:113
|
||||
msgid "The main toolbar"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:114
|
||||
msgid "The main toolbar when a device is connected"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:115
|
||||
msgid "The context menu for the books in the calibre library"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:117
|
||||
msgid "The context menu for the books on the device"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:94
|
||||
msgid "Customize the actions in:"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:95
|
||||
msgid "A&vailable actions"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:96
|
||||
msgid "&Current actions"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:97
|
||||
msgid "Move selected action up"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:99
|
||||
msgid "Move selected action down"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:101
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:78
|
||||
msgid "Ctrl+S"
|
||||
msgstr "Ctrl+Ε"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:102
|
||||
msgid "Add selected actions to toolbar"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:104
|
||||
msgid "Remove selected actions from toolbar"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:50
|
||||
msgid "&Show this warning again"
|
||||
msgstr ""
|
||||
@ -7396,10 +7494,6 @@ msgstr ""
|
||||
msgid "Rename the item in every book where it is used."
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:78
|
||||
msgid "Ctrl+S"
|
||||
msgstr "Ctrl+Ε"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/test_email_ui.py:51
|
||||
msgid "Test email settings"
|
||||
msgstr ""
|
||||
@ -7678,48 +7772,48 @@ msgstr ""
|
||||
msgid "Regular expression (?P<isbn>)"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:104
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:105
|
||||
msgid "Cover Browser"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:109
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:110
|
||||
msgid "Shift+Alt+B"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:123
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:124
|
||||
msgid "Tag Browser"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:125
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:126
|
||||
msgid "Shift+Alt+T"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:145
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:146
|
||||
msgid "version"
|
||||
msgstr "έκδοση"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:146
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:147
|
||||
msgid "created by Kovid Goyal"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:164
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:165
|
||||
msgid "Connected "
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:173
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:174
|
||||
msgid "Update found"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:217
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:227
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:218
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:228
|
||||
msgid "Book Details"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:219
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:220
|
||||
msgid "Alt+D"
|
||||
msgstr "Alt+Π"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:229
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:230
|
||||
msgid "Shift+Alt+D"
|
||||
msgstr ""
|
||||
|
||||
@ -7791,7 +7885,7 @@ msgid "Eject this device"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:192
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:194
|
||||
msgid "Library"
|
||||
msgstr "Βιβλιοθήκη"
|
||||
|
||||
@ -9780,7 +9874,52 @@ msgstr ""
|
||||
msgid "Error: You must specify a column label"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:809
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:803
|
||||
msgid ""
|
||||
"\n"
|
||||
" %prog saved_searches [options] list\n"
|
||||
" %prog saved_searches add name search\n"
|
||||
" %prog saved_searches remove name\n"
|
||||
"\n"
|
||||
" Manage the saved searches stored in this database.\n"
|
||||
" If you try to add a query with a name that already exists, it will be\n"
|
||||
" replaced.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:821
|
||||
msgid "Error: You must specify an action (add|remove|list)"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:829
|
||||
msgid "Name:"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:830
|
||||
msgid "Search string:"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:836
|
||||
msgid "Error: You must specify a name and a search string"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:839
|
||||
msgid "added"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:844
|
||||
msgid "Error: You must specify a name"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:847
|
||||
msgid "removed"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:851
|
||||
msgid "Error: Action %s not recognized, must be one of: (add|remove|list)"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:865
|
||||
msgid ""
|
||||
"%%prog command [options] [arguments]\n"
|
||||
"\n"
|
||||
@ -9810,27 +9949,27 @@ msgstr ""
|
||||
msgid "Main"
|
||||
msgstr "Κύριο"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1911
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1915
|
||||
msgid "<p>Migrating old database to ebook library in %s<br><center>"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1940
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1944
|
||||
msgid "Copying <b>%s</b>"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1957
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1961
|
||||
msgid "Compacting database"
|
||||
msgstr "Συμπίεση βάσης δεδομένων"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2050
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2054
|
||||
msgid "Checking SQL integrity..."
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2091
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2095
|
||||
msgid "Checking for missing files."
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2113
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2117
|
||||
msgid "Checked id"
|
||||
msgstr ""
|
||||
|
||||
@ -10026,35 +10165,39 @@ msgid ""
|
||||
"overrides any per-library settings specified in the GUI"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:127
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:110
|
||||
msgid "%d book"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129
|
||||
msgid "%d items"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:144
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:146
|
||||
msgid "RATING: %s<br />"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:147
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:149
|
||||
msgid "TAGS: %s<br />"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:151
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:153
|
||||
msgid "SERIES: %s [%s]<br />"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:231
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:233
|
||||
msgid "Books in your library"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:237
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:239
|
||||
msgid "By "
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:238
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:240
|
||||
msgid "Books sorted by "
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:549
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:568
|
||||
msgid "Newest"
|
||||
msgstr "Νεώτερη"
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -7,14 +7,14 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: calibre\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2010-08-18 22:24+0000\n"
|
||||
"PO-Revision-Date: 2010-08-19 22:29+0000\n"
|
||||
"Last-Translator: Bingen Markes <Unknown>\n"
|
||||
"POT-Creation-Date: 2010-08-20 20:19+0000\n"
|
||||
"PO-Revision-Date: 2010-08-20 21:29+0000\n"
|
||||
"Last-Translator: Kovid Goyal <Unknown>\n"
|
||||
"Language-Team: Basque <eu@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-08-20 03:34+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-08-21 03:49+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43
|
||||
@ -27,7 +27,7 @@ msgstr "Ez du ezer egiten"
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:70
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:506
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:507
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:405
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:97
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:100
|
||||
@ -136,10 +136,10 @@ msgstr "Ez du ezer egiten"
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1076
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1760
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1762
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1885
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1889
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:201
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:134
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:137
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:136
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:139
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/xml.py:70
|
||||
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117
|
||||
#: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46
|
||||
@ -772,7 +772,11 @@ msgstr "Jar zaitez harremanetan \"Booq Avant\" horrekin."
|
||||
msgid "Communicate with the Sweex MM300"
|
||||
msgstr "Jar zaitez harremanetan \"Sweex MM300\" horrekin."
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:78
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:79
|
||||
msgid "Communicate with the Kogan"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:87
|
||||
msgid "Communicate with the Pandigital Novel"
|
||||
msgstr "Jar zaitez harremanetan \"Pandigital Novel\" horrekin."
|
||||
|
||||
@ -816,7 +820,7 @@ msgstr ""
|
||||
"Komez bereiziriko meta-datuen eremuen zerrenda gailuan bildumak bihurtzeko "
|
||||
"modukoak. Aukeren artean hauek: "
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:144
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:145
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/structure.py:68
|
||||
msgid "Unnamed"
|
||||
msgstr "Identifikatu gabea"
|
||||
@ -1756,7 +1760,11 @@ msgstr ""
|
||||
msgid "Creating"
|
||||
msgstr "Sortzen"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/__init__.py:18
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/__init__.py:20
|
||||
msgid "Failed to parse: %s with error: %s"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/__init__.py:26
|
||||
msgid "ePub Fixer"
|
||||
msgstr "ePub Fixer (ePUB formatuan doitzeko tresna)"
|
||||
|
||||
@ -1778,7 +1786,7 @@ msgstr ""
|
||||
"fitxategiari aldaketa nabarmenak ekar liezazkioke... Horrela izan bada, "
|
||||
"kexak \"ePUB Project\" horretara bideratu."
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:19
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:21
|
||||
msgid ""
|
||||
"%prog [options] file.epub\n"
|
||||
"\n"
|
||||
@ -1797,7 +1805,7 @@ msgstr ""
|
||||
"detektaturiko akats bakoitzari buruzko mezu bana. Erabil itzazu aukerak "
|
||||
"kontrolatzeko zeintzuk akats izan dira automatikoki eraldatuak."
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:50
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:52
|
||||
msgid "You must specify an epub file"
|
||||
msgstr "ePUB fitxategi bat zehaztu beharko duzu"
|
||||
|
||||
@ -2129,6 +2137,7 @@ msgstr ""
|
||||
"%prog [options] mybook.lrf\n"
|
||||
"\n"
|
||||
"\n"
|
||||
"\n"
|
||||
"Erakutsi/Editatu metadatuak LRF fitxategian.\n"
|
||||
"\n"
|
||||
|
||||
@ -2219,7 +2228,7 @@ msgstr "Komikia"
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:359
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:887
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:550
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:569
|
||||
msgid "Title"
|
||||
msgstr "Izenburua"
|
||||
|
||||
@ -3442,6 +3451,7 @@ msgstr "Liburutegi nagusian erabiltzaileak sortu dituen oharrak bakarrik"
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:63
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:30
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:85
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:98
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:74
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:140
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:176
|
||||
@ -3517,7 +3527,8 @@ msgid "Select destination for %s.%s"
|
||||
msgstr "Aukeratu helburua honentzat: %s.%s"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:73
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:108
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:62
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:110
|
||||
msgid "%d books"
|
||||
msgstr "%d books"
|
||||
|
||||
@ -3586,14 +3597,45 @@ msgstr "Ezin da bihurtu"
|
||||
msgid "Starting conversion of %d book(s)"
|
||||
msgstr "%d liburu(ar)en bihurketa abiatzen"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:15
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:63
|
||||
msgid "Copy to library"
|
||||
msgstr "Liburutegira kopiatu."
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:16
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:64
|
||||
msgid "Copy selected books to the specified library"
|
||||
msgstr "Kopiatu hautatutako liburuak adierazitako liburutegian"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:97
|
||||
msgid "Cannot copy"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:102
|
||||
msgid "No library"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:103
|
||||
msgid "No library found at %s"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:106
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:110
|
||||
msgid "Copying"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:120
|
||||
msgid "Could not copy books: "
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:120
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:678
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:231
|
||||
msgid "Failed"
|
||||
msgstr "Huts egin du"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:123
|
||||
msgid "Copied %d books to %s"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:18
|
||||
msgid "Del"
|
||||
msgstr "Del"
|
||||
@ -4028,35 +4070,35 @@ msgstr "No detailed information is available for books on the device."
|
||||
msgid "Similar books..."
|
||||
msgstr "Similar books..."
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:22
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:23
|
||||
msgid "Alt+A"
|
||||
msgstr "Alt+A"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:22
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:23
|
||||
msgid "Books by same author"
|
||||
msgstr "Books by same author"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:23
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:24
|
||||
msgid "Alt+S"
|
||||
msgstr "Alt+S"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:23
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:24
|
||||
msgid "Books in this series"
|
||||
msgstr "Books in this series"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:24
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:25
|
||||
msgid "Alt+P"
|
||||
msgstr "Alt+P"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:24
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:25
|
||||
msgid "Books by this publisher"
|
||||
msgstr "Books by this publisher"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:25
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:26
|
||||
msgid "Alt+T"
|
||||
msgstr "Alt+T"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:25
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:26
|
||||
msgid "Books with the same tags"
|
||||
msgstr "Books with the same tags"
|
||||
|
||||
@ -4278,6 +4320,10 @@ msgstr ""
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:636
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:637
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:690
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:98
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:100
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:103
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:105
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:365
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:370
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:384
|
||||
@ -4445,6 +4491,7 @@ msgstr "outputa, helburua"
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:67
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:77
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/save_template_ui.py:41
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:93
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:35
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:106
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:107
|
||||
@ -5727,11 +5774,6 @@ msgstr "Irakurgailuarekin komunikatzeko saioak huts egin du"
|
||||
msgid "Select folder to open as device"
|
||||
msgstr "Aukeratu karpeta bat irakurgailua izango balitz bezala zabaltzeko"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:678
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:231
|
||||
msgid "Failed"
|
||||
msgstr "Huts egin du"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:684
|
||||
msgid "Error talking to device"
|
||||
msgstr "Akatsen bat irakurgailuarekin komunikatzerakoan"
|
||||
@ -6899,7 +6941,7 @@ msgstr "Number"
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:889
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:549
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:568
|
||||
msgid "Date"
|
||||
msgstr "Date"
|
||||
|
||||
@ -7092,6 +7134,63 @@ msgstr "Available variables:"
|
||||
msgid "Downloading social metadata, please wait..."
|
||||
msgstr "Downloading social metadata, please wait..."
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:50
|
||||
msgid "Separator"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:63
|
||||
msgid "Choose library"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:113
|
||||
msgid "The main toolbar"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:114
|
||||
msgid "The main toolbar when a device is connected"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:115
|
||||
msgid "The context menu for the books in the calibre library"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:117
|
||||
msgid "The context menu for the books on the device"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:94
|
||||
msgid "Customize the actions in:"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:95
|
||||
msgid "A&vailable actions"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:96
|
||||
msgid "&Current actions"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:97
|
||||
msgid "Move selected action up"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:99
|
||||
msgid "Move selected action down"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:101
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:78
|
||||
msgid "Ctrl+S"
|
||||
msgstr "Ctrl+S"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:102
|
||||
msgid "Add selected actions to toolbar"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:104
|
||||
msgid "Remove selected actions from toolbar"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:50
|
||||
msgid "&Show this warning again"
|
||||
msgstr "&Show this warning again"
|
||||
@ -8057,10 +8156,6 @@ msgstr ""
|
||||
msgid "Rename the item in every book where it is used."
|
||||
msgstr "Rename the item in every book where it is used."
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:78
|
||||
msgid "Ctrl+S"
|
||||
msgstr "Ctrl+S"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/test_email_ui.py:51
|
||||
msgid "Test email settings"
|
||||
msgstr "Test email settings"
|
||||
@ -8371,48 +8466,48 @@ msgstr "ISBN:"
|
||||
msgid "Regular expression (?P<isbn>)"
|
||||
msgstr "Regular expression (?P<isbn>)"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:104
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:105
|
||||
msgid "Cover Browser"
|
||||
msgstr "Cover Browser"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:109
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:110
|
||||
msgid "Shift+Alt+B"
|
||||
msgstr "Shift+Alt+B"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:123
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:124
|
||||
msgid "Tag Browser"
|
||||
msgstr "Tag Browser"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:125
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:126
|
||||
msgid "Shift+Alt+T"
|
||||
msgstr "Shift+Alt+T"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:145
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:146
|
||||
msgid "version"
|
||||
msgstr "version"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:146
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:147
|
||||
msgid "created by Kovid Goyal"
|
||||
msgstr "created by Kovid Goyal"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:164
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:165
|
||||
msgid "Connected "
|
||||
msgstr "Connected "
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:173
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:174
|
||||
msgid "Update found"
|
||||
msgstr "Update found"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:217
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:227
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:218
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:228
|
||||
msgid "Book Details"
|
||||
msgstr "Book Details"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:219
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:220
|
||||
msgid "Alt+D"
|
||||
msgstr "Alt+D"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:229
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:230
|
||||
msgid "Shift+Alt+D"
|
||||
msgstr "Shift+Alt+D"
|
||||
|
||||
@ -8484,7 +8579,7 @@ msgid "Eject this device"
|
||||
msgstr "Eject this device"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:192
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:194
|
||||
msgid "Library"
|
||||
msgstr "Library"
|
||||
|
||||
@ -10744,7 +10839,52 @@ msgstr "Do not ask for confirmation"
|
||||
msgid "Error: You must specify a column label"
|
||||
msgstr "Error: You must specify a column label"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:809
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:803
|
||||
msgid ""
|
||||
"\n"
|
||||
" %prog saved_searches [options] list\n"
|
||||
" %prog saved_searches add name search\n"
|
||||
" %prog saved_searches remove name\n"
|
||||
"\n"
|
||||
" Manage the saved searches stored in this database.\n"
|
||||
" If you try to add a query with a name that already exists, it will be\n"
|
||||
" replaced.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:821
|
||||
msgid "Error: You must specify an action (add|remove|list)"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:829
|
||||
msgid "Name:"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:830
|
||||
msgid "Search string:"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:836
|
||||
msgid "Error: You must specify a name and a search string"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:839
|
||||
msgid "added"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:844
|
||||
msgid "Error: You must specify a name"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:847
|
||||
msgid "removed"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:851
|
||||
msgid "Error: Action %s not recognized, must be one of: (add|remove|list)"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:865
|
||||
msgid ""
|
||||
"%%prog command [options] [arguments]\n"
|
||||
"\n"
|
||||
@ -10784,27 +10924,27 @@ msgstr "%sAverage rating is %3.1f"
|
||||
msgid "Main"
|
||||
msgstr "Main"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1911
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1915
|
||||
msgid "<p>Migrating old database to ebook library in %s<br><center>"
|
||||
msgstr "<p>Migrating old database to ebook library in %s<br><center>"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1940
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1944
|
||||
msgid "Copying <b>%s</b>"
|
||||
msgstr "Copying <b>%s</b>"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1957
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1961
|
||||
msgid "Compacting database"
|
||||
msgstr "Compacting database"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2050
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2054
|
||||
msgid "Checking SQL integrity..."
|
||||
msgstr "Checking SQL integrity..."
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2091
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2095
|
||||
msgid "Checking for missing files."
|
||||
msgstr "Checking for missing files."
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2113
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2117
|
||||
msgid "Checked id"
|
||||
msgstr "Checked id"
|
||||
|
||||
@ -11036,35 +11176,39 @@ msgid ""
|
||||
"overrides any per-library settings specified in the GUI"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:127
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:110
|
||||
msgid "%d book"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129
|
||||
msgid "%d items"
|
||||
msgstr "%d items"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:144
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:146
|
||||
msgid "RATING: %s<br />"
|
||||
msgstr "RATING: %s<br />"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:147
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:149
|
||||
msgid "TAGS: %s<br />"
|
||||
msgstr "TAGS: %s<br />"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:151
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:153
|
||||
msgid "SERIES: %s [%s]<br />"
|
||||
msgstr "SERIES: %s [%s]<br />"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:231
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:233
|
||||
msgid "Books in your library"
|
||||
msgstr "Books in your library"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:237
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:239
|
||||
msgid "By "
|
||||
msgstr "By "
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:238
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:240
|
||||
msgid "Books sorted by "
|
||||
msgstr "Books sorted by "
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:549
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:568
|
||||
msgid "Newest"
|
||||
msgstr "Newest"
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -7,14 +7,14 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: calibre\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2010-08-18 22:24+0000\n"
|
||||
"PO-Revision-Date: 2010-08-20 00:46+0000\n"
|
||||
"Last-Translator: Marcos X. <Unknown>\n"
|
||||
"POT-Creation-Date: 2010-08-20 20:19+0000\n"
|
||||
"PO-Revision-Date: 2010-08-20 22:29+0000\n"
|
||||
"Last-Translator: Kovid Goyal <Unknown>\n"
|
||||
"Language-Team: Galician <gl@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-08-20 03:34+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-08-22 03:44+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43
|
||||
@ -27,7 +27,7 @@ msgstr "Non facer nada"
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:70
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:506
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:507
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:405
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:97
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:100
|
||||
@ -136,10 +136,10 @@ msgstr "Non facer nada"
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1076
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1760
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1762
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1885
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1889
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:201
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:134
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:137
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:136
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:139
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/xml.py:70
|
||||
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117
|
||||
#: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46
|
||||
@ -762,7 +762,11 @@ msgstr "Comunicar co Booq Avant"
|
||||
msgid "Communicate with the Sweex MM300"
|
||||
msgstr "Conectar co Sweex MM300"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:78
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:79
|
||||
msgid "Communicate with the Kogan"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:87
|
||||
msgid "Communicate with the Pandigital Novel"
|
||||
msgstr "Conectar co Pandigital Novel"
|
||||
|
||||
@ -806,7 +810,7 @@ msgstr ""
|
||||
"Lista separada por comas de campos de metadatos para convertelos en "
|
||||
"coleccións no dispositivo. As posibilidades son: "
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:144
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:145
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/structure.py:68
|
||||
msgid "Unnamed"
|
||||
msgstr "Sen nome"
|
||||
@ -1690,7 +1694,11 @@ msgstr "Aplicando transformacións ao libro electrónico..."
|
||||
msgid "Creating"
|
||||
msgstr "A crear"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/__init__.py:18
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/__init__.py:20
|
||||
msgid "Failed to parse: %s with error: %s"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/__init__.py:26
|
||||
msgid "ePub Fixer"
|
||||
msgstr "Corrector de ePub"
|
||||
|
||||
@ -1711,7 +1719,7 @@ msgstr ""
|
||||
"provoar mudanzas significantes no epub. Dirixa as súas queixas ao proxecto "
|
||||
"epubcheck."
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:19
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:21
|
||||
msgid ""
|
||||
"%prog [options] file.epub\n"
|
||||
"\n"
|
||||
@ -1722,7 +1730,7 @@ msgid ""
|
||||
"detected. Use the options to control which errors are automatically fixed."
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:50
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:52
|
||||
msgid "You must specify an epub file"
|
||||
msgstr "Debe especificar un ficheiro de epub"
|
||||
|
||||
@ -2115,7 +2123,7 @@ msgstr "Cómic"
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:359
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:887
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:550
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:569
|
||||
msgid "Title"
|
||||
msgstr "Título"
|
||||
|
||||
@ -3324,6 +3332,7 @@ msgstr "Usar as anotacións xeradas só dende a biblioteca principal"
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:63
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:30
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:85
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:98
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:74
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:140
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:176
|
||||
@ -3399,7 +3408,8 @@ msgid "Select destination for %s.%s"
|
||||
msgstr "Escoller o destino para %s %s"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:73
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:108
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:62
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:110
|
||||
msgid "%d books"
|
||||
msgstr "%d libros"
|
||||
|
||||
@ -3466,14 +3476,45 @@ msgstr "Non se pode converter"
|
||||
msgid "Starting conversion of %d book(s)"
|
||||
msgstr "Esta a comezar a conversión de %d libros(s)"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:15
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:63
|
||||
msgid "Copy to library"
|
||||
msgstr "Copiar á biblioteca"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:16
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:64
|
||||
msgid "Copy selected books to the specified library"
|
||||
msgstr "Copiar os libros seleccionados á biblioteca especificada"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:97
|
||||
msgid "Cannot copy"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:102
|
||||
msgid "No library"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:103
|
||||
msgid "No library found at %s"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:106
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:110
|
||||
msgid "Copying"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:120
|
||||
msgid "Could not copy books: "
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:120
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:678
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:231
|
||||
msgid "Failed"
|
||||
msgstr "Fallou"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:123
|
||||
msgid "Copied %d books to %s"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:18
|
||||
msgid "Del"
|
||||
msgstr "Supr"
|
||||
@ -3902,35 +3943,35 @@ msgstr "Non hai dispoñíbel información detallada dos libros no dispositivo."
|
||||
msgid "Similar books..."
|
||||
msgstr "Libros semellantes..."
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:22
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:23
|
||||
msgid "Alt+A"
|
||||
msgstr "Alt+A"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:22
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:23
|
||||
msgid "Books by same author"
|
||||
msgstr "Libros coa mesma autoría"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:23
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:24
|
||||
msgid "Alt+S"
|
||||
msgstr "Alt+S"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:23
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:24
|
||||
msgid "Books in this series"
|
||||
msgstr "Libros con esta serie"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:24
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:25
|
||||
msgid "Alt+P"
|
||||
msgstr "Alt+P"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:24
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:25
|
||||
msgid "Books by this publisher"
|
||||
msgstr "Libros por editorial"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:25
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:26
|
||||
msgid "Alt+T"
|
||||
msgstr "Alt+T"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:25
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:26
|
||||
msgid "Books with the same tags"
|
||||
msgstr "Libros coas mesmas etiquetas"
|
||||
|
||||
@ -4150,6 +4191,10 @@ msgstr ""
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:636
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:637
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:690
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:98
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:100
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:103
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:105
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:365
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:370
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:384
|
||||
@ -4316,6 +4361,7 @@ msgstr "saída"
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:67
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:77
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/save_template_ui.py:41
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:93
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:35
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:106
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:107
|
||||
@ -5561,11 +5607,6 @@ msgstr "Erro ao conectar co dispositivo"
|
||||
msgid "Select folder to open as device"
|
||||
msgstr "Escoller o cartafol para abrir co como dispositivo"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:678
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:231
|
||||
msgid "Failed"
|
||||
msgstr "Fallou"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:684
|
||||
msgid "Error talking to device"
|
||||
msgstr "Erro ao conectar co dispositivo"
|
||||
@ -6749,7 +6790,7 @@ msgstr "Número"
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:889
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:549
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:568
|
||||
msgid "Date"
|
||||
msgstr "Data"
|
||||
|
||||
@ -6941,6 +6982,63 @@ msgstr "Variábeis dispoñíbeis"
|
||||
msgid "Downloading social metadata, please wait..."
|
||||
msgstr "A descargar os metadatos sociais, agarde..."
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:50
|
||||
msgid "Separator"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:63
|
||||
msgid "Choose library"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:113
|
||||
msgid "The main toolbar"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:114
|
||||
msgid "The main toolbar when a device is connected"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:115
|
||||
msgid "The context menu for the books in the calibre library"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:117
|
||||
msgid "The context menu for the books on the device"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:94
|
||||
msgid "Customize the actions in:"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:95
|
||||
msgid "A&vailable actions"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:96
|
||||
msgid "&Current actions"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:97
|
||||
msgid "Move selected action up"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:99
|
||||
msgid "Move selected action down"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:101
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:78
|
||||
msgid "Ctrl+S"
|
||||
msgstr "Ctrl + S"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:102
|
||||
msgid "Add selected actions to toolbar"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:104
|
||||
msgid "Remove selected actions from toolbar"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:50
|
||||
msgid "&Show this warning again"
|
||||
msgstr "&Amosar este aviso outra vez"
|
||||
@ -7913,10 +8011,6 @@ msgstr ""
|
||||
msgid "Rename the item in every book where it is used."
|
||||
msgstr "Cambiar o nome ao elemento en cada libro que o emprega."
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:78
|
||||
msgid "Ctrl+S"
|
||||
msgstr "Ctrl + S"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/test_email_ui.py:51
|
||||
msgid "Test email settings"
|
||||
msgstr "Probar a configuración do correo de proba"
|
||||
@ -8231,48 +8325,48 @@ msgstr "ISBN:"
|
||||
msgid "Regular expression (?P<isbn>)"
|
||||
msgstr "Expresión regular (?P<isbn>)"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:104
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:105
|
||||
msgid "Cover Browser"
|
||||
msgstr "Navegador de capas"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:109
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:110
|
||||
msgid "Shift+Alt+B"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:123
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:124
|
||||
msgid "Tag Browser"
|
||||
msgstr "Navegador de etiquetas"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:125
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:126
|
||||
msgid "Shift+Alt+T"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:145
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:146
|
||||
msgid "version"
|
||||
msgstr "versión"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:146
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:147
|
||||
msgid "created by Kovid Goyal"
|
||||
msgstr "creado por Kovid Goyal"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:164
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:165
|
||||
msgid "Connected "
|
||||
msgstr "Conectado "
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:173
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:174
|
||||
msgid "Update found"
|
||||
msgstr "Actualización atopada"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:217
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:227
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:218
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:228
|
||||
msgid "Book Details"
|
||||
msgstr "Detalles do libro"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:219
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:220
|
||||
msgid "Alt+D"
|
||||
msgstr "Alt+D"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:229
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:230
|
||||
msgid "Shift+Alt+D"
|
||||
msgstr ""
|
||||
|
||||
@ -8344,7 +8438,7 @@ msgid "Eject this device"
|
||||
msgstr "Extraer o dispositivo"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:192
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:194
|
||||
msgid "Library"
|
||||
msgstr "Biblioteca"
|
||||
|
||||
@ -10360,7 +10454,52 @@ msgstr ""
|
||||
msgid "Error: You must specify a column label"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:809
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:803
|
||||
msgid ""
|
||||
"\n"
|
||||
" %prog saved_searches [options] list\n"
|
||||
" %prog saved_searches add name search\n"
|
||||
" %prog saved_searches remove name\n"
|
||||
"\n"
|
||||
" Manage the saved searches stored in this database.\n"
|
||||
" If you try to add a query with a name that already exists, it will be\n"
|
||||
" replaced.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:821
|
||||
msgid "Error: You must specify an action (add|remove|list)"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:829
|
||||
msgid "Name:"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:830
|
||||
msgid "Search string:"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:836
|
||||
msgid "Error: You must specify a name and a search string"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:839
|
||||
msgid "added"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:844
|
||||
msgid "Error: You must specify a name"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:847
|
||||
msgid "removed"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:851
|
||||
msgid "Error: Action %s not recognized, must be one of: (add|remove|list)"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:865
|
||||
msgid ""
|
||||
"%%prog command [options] [arguments]\n"
|
||||
"\n"
|
||||
@ -10390,27 +10529,27 @@ msgstr ""
|
||||
msgid "Main"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1911
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1915
|
||||
msgid "<p>Migrating old database to ebook library in %s<br><center>"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1940
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1944
|
||||
msgid "Copying <b>%s</b>"
|
||||
msgstr "A copiar <b>%s</b>"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1957
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1961
|
||||
msgid "Compacting database"
|
||||
msgstr "A compactar a base de datos"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2050
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2054
|
||||
msgid "Checking SQL integrity..."
|
||||
msgstr "A comprobar a integridade SQL..."
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2091
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2095
|
||||
msgid "Checking for missing files."
|
||||
msgstr "A comprobar os ficheiros perdidos."
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2113
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2117
|
||||
msgid "Checked id"
|
||||
msgstr "id comprobada"
|
||||
|
||||
@ -10606,35 +10745,39 @@ msgid ""
|
||||
"overrides any per-library settings specified in the GUI"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:127
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:110
|
||||
msgid "%d book"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129
|
||||
msgid "%d items"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:144
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:146
|
||||
msgid "RATING: %s<br />"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:147
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:149
|
||||
msgid "TAGS: %s<br />"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:151
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:153
|
||||
msgid "SERIES: %s [%s]<br />"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:231
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:233
|
||||
msgid "Books in your library"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:237
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:239
|
||||
msgid "By "
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:238
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:240
|
||||
msgid "Books sorted by "
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:549
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:568
|
||||
msgid "Newest"
|
||||
msgstr ""
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
10449
src/calibre/translations/mr.po
Normal file
10449
src/calibre/translations/mr.po
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -7,14 +7,14 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: calibre\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2010-08-18 22:24+0000\n"
|
||||
"PO-Revision-Date: 2010-08-19 10:53+0000\n"
|
||||
"POT-Creation-Date: 2010-08-20 20:19+0000\n"
|
||||
"PO-Revision-Date: 2010-08-20 22:26+0000\n"
|
||||
"Last-Translator: ppanhh <ppanhh@gmail.com>\n"
|
||||
"Language-Team: Vietnamese <vi@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-08-20 03:34+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-08-22 03:46+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43
|
||||
@ -27,7 +27,7 @@ msgstr "hoàn toàn không thực thi"
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:70
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:506
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:507
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:405
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:97
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:100
|
||||
@ -136,10 +136,10 @@ msgstr "hoàn toàn không thực thi"
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1076
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1760
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1762
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1885
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1889
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:201
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:134
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:137
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:136
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:139
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/xml.py:70
|
||||
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117
|
||||
#: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46
|
||||
@ -750,7 +750,11 @@ msgstr ""
|
||||
msgid "Communicate with the Sweex MM300"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:78
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:79
|
||||
msgid "Communicate with the Kogan"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:87
|
||||
msgid "Communicate with the Pandigital Novel"
|
||||
msgstr ""
|
||||
|
||||
@ -792,7 +796,7 @@ msgid ""
|
||||
"device. Possibilities include: "
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:144
|
||||
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:145
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/structure.py:68
|
||||
msgid "Unnamed"
|
||||
msgstr "Chưa được đặt tên"
|
||||
@ -1539,7 +1543,11 @@ msgstr ""
|
||||
msgid "Creating"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/__init__.py:18
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/__init__.py:20
|
||||
msgid "Failed to parse: %s with error: %s"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/__init__.py:26
|
||||
msgid "ePub Fixer"
|
||||
msgstr ""
|
||||
|
||||
@ -1555,7 +1563,7 @@ msgid ""
|
||||
"cause significant changes to your epub, complain to the epubcheck project."
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:19
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:21
|
||||
msgid ""
|
||||
"%prog [options] file.epub\n"
|
||||
"\n"
|
||||
@ -1566,7 +1574,7 @@ msgid ""
|
||||
"detected. Use the options to control which errors are automatically fixed."
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:50
|
||||
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:52
|
||||
msgid "You must specify an epub file"
|
||||
msgstr ""
|
||||
|
||||
@ -1899,7 +1907,7 @@ msgstr ""
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:359
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:887
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:550
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:569
|
||||
msgid "Title"
|
||||
msgstr "Tựa"
|
||||
|
||||
@ -2965,6 +2973,7 @@ msgstr ""
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:63
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:30
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:85
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:98
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:74
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:140
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:176
|
||||
@ -3038,7 +3047,8 @@ msgid "Select destination for %s.%s"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:73
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:108
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:62
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:110
|
||||
msgid "%d books"
|
||||
msgstr ""
|
||||
|
||||
@ -3103,14 +3113,45 @@ msgstr ""
|
||||
msgid "Starting conversion of %d book(s)"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:15
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:63
|
||||
msgid "Copy to library"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:16
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:64
|
||||
msgid "Copy selected books to the specified library"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:97
|
||||
msgid "Cannot copy"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:102
|
||||
msgid "No library"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:103
|
||||
msgid "No library found at %s"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:106
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:110
|
||||
msgid "Copying"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:120
|
||||
msgid "Could not copy books: "
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:120
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:678
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:231
|
||||
msgid "Failed"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:123
|
||||
msgid "Copied %d books to %s"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:18
|
||||
msgid "Del"
|
||||
msgstr ""
|
||||
@ -3524,35 +3565,35 @@ msgstr ""
|
||||
msgid "Similar books..."
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:22
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:23
|
||||
msgid "Alt+A"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:22
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:23
|
||||
msgid "Books by same author"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:23
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:24
|
||||
msgid "Alt+S"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:23
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:24
|
||||
msgid "Books in this series"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:24
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:25
|
||||
msgid "Alt+P"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:24
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:25
|
||||
msgid "Books by this publisher"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:25
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:26
|
||||
msgid "Alt+T"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:25
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:26
|
||||
msgid "Books with the same tags"
|
||||
msgstr ""
|
||||
|
||||
@ -3753,6 +3794,10 @@ msgstr ""
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:636
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:637
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:690
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:98
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:100
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:103
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:105
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:365
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:370
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:384
|
||||
@ -3915,6 +3960,7 @@ msgstr ""
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:67
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:77
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/save_template_ui.py:41
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:93
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:35
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:106
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:107
|
||||
@ -5126,11 +5172,6 @@ msgstr ""
|
||||
msgid "Select folder to open as device"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:678
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:231
|
||||
msgid "Failed"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:684
|
||||
msgid "Error talking to device"
|
||||
msgstr ""
|
||||
@ -6223,7 +6264,7 @@ msgstr ""
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:889
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:549
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:568
|
||||
msgid "Date"
|
||||
msgstr ""
|
||||
|
||||
@ -6401,6 +6442,63 @@ msgstr ""
|
||||
msgid "Downloading social metadata, please wait..."
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:50
|
||||
msgid "Separator"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:63
|
||||
msgid "Choose library"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:113
|
||||
msgid "The main toolbar"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:114
|
||||
msgid "The main toolbar when a device is connected"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:115
|
||||
msgid "The context menu for the books in the calibre library"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:117
|
||||
msgid "The context menu for the books on the device"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:94
|
||||
msgid "Customize the actions in:"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:95
|
||||
msgid "A&vailable actions"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:96
|
||||
msgid "&Current actions"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:97
|
||||
msgid "Move selected action up"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:99
|
||||
msgid "Move selected action down"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:101
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:78
|
||||
msgid "Ctrl+S"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:102
|
||||
msgid "Add selected actions to toolbar"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:104
|
||||
msgid "Remove selected actions from toolbar"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:50
|
||||
msgid "&Show this warning again"
|
||||
msgstr ""
|
||||
@ -7325,10 +7423,6 @@ msgstr ""
|
||||
msgid "Rename the item in every book where it is used."
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:78
|
||||
msgid "Ctrl+S"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/test_email_ui.py:51
|
||||
msgid "Test email settings"
|
||||
msgstr ""
|
||||
@ -7607,48 +7701,48 @@ msgstr ""
|
||||
msgid "Regular expression (?P<isbn>)"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:104
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:105
|
||||
msgid "Cover Browser"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:109
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:110
|
||||
msgid "Shift+Alt+B"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:123
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:124
|
||||
msgid "Tag Browser"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:125
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:126
|
||||
msgid "Shift+Alt+T"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:145
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:146
|
||||
msgid "version"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:146
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:147
|
||||
msgid "created by Kovid Goyal"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:164
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:165
|
||||
msgid "Connected "
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:173
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:174
|
||||
msgid "Update found"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:217
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:227
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:218
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:228
|
||||
msgid "Book Details"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:219
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:220
|
||||
msgid "Alt+D"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:229
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:230
|
||||
msgid "Shift+Alt+D"
|
||||
msgstr ""
|
||||
|
||||
@ -7720,7 +7814,7 @@ msgid "Eject this device"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:192
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:194
|
||||
msgid "Library"
|
||||
msgstr ""
|
||||
|
||||
@ -9709,7 +9803,52 @@ msgstr ""
|
||||
msgid "Error: You must specify a column label"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:809
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:803
|
||||
msgid ""
|
||||
"\n"
|
||||
" %prog saved_searches [options] list\n"
|
||||
" %prog saved_searches add name search\n"
|
||||
" %prog saved_searches remove name\n"
|
||||
"\n"
|
||||
" Manage the saved searches stored in this database.\n"
|
||||
" If you try to add a query with a name that already exists, it will be\n"
|
||||
" replaced.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:821
|
||||
msgid "Error: You must specify an action (add|remove|list)"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:829
|
||||
msgid "Name:"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:830
|
||||
msgid "Search string:"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:836
|
||||
msgid "Error: You must specify a name and a search string"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:839
|
||||
msgid "added"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:844
|
||||
msgid "Error: You must specify a name"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:847
|
||||
msgid "removed"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:851
|
||||
msgid "Error: Action %s not recognized, must be one of: (add|remove|list)"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:865
|
||||
msgid ""
|
||||
"%%prog command [options] [arguments]\n"
|
||||
"\n"
|
||||
@ -9739,27 +9878,27 @@ msgstr ""
|
||||
msgid "Main"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1911
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1915
|
||||
msgid "<p>Migrating old database to ebook library in %s<br><center>"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1940
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1944
|
||||
msgid "Copying <b>%s</b>"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1957
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1961
|
||||
msgid "Compacting database"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2050
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2054
|
||||
msgid "Checking SQL integrity..."
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2091
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2095
|
||||
msgid "Checking for missing files."
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2113
|
||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2117
|
||||
msgid "Checked id"
|
||||
msgstr ""
|
||||
|
||||
@ -9955,35 +10094,39 @@ msgid ""
|
||||
"overrides any per-library settings specified in the GUI"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:127
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:110
|
||||
msgid "%d book"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129
|
||||
msgid "%d items"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:144
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:146
|
||||
msgid "RATING: %s<br />"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:147
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:149
|
||||
msgid "TAGS: %s<br />"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:151
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:153
|
||||
msgid "SERIES: %s [%s]<br />"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:231
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:233
|
||||
msgid "Books in your library"
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:237
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:239
|
||||
msgid "By "
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:238
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:240
|
||||
msgid "Books sorted by "
|
||||
msgstr ""
|
||||
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:549
|
||||
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:568
|
||||
msgid "Newest"
|
||||
msgstr ""
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -496,6 +496,7 @@ class DynamicConfig(dict):
|
||||
def __init__(self, name='dynamic'):
|
||||
dict.__init__(self, {})
|
||||
self.name = name
|
||||
self.defaults = {}
|
||||
self.file_path = os.path.join(config_dir, name+'.pickle')
|
||||
self.refresh()
|
||||
|
||||
@ -520,7 +521,13 @@ class DynamicConfig(dict):
|
||||
try:
|
||||
return dict.__getitem__(self, key)
|
||||
except KeyError:
|
||||
return None
|
||||
return self.defaults.get(key, None)
|
||||
|
||||
def get(self, key, default=None):
|
||||
try:
|
||||
return dict.__getitem__(self, key)
|
||||
except KeyError:
|
||||
return self.defaults.get(key, default)
|
||||
|
||||
def __setitem__(self, key, val):
|
||||
dict.__setitem__(self, key, val)
|
||||
@ -555,6 +562,7 @@ class XMLConfig(dict):
|
||||
|
||||
def __init__(self, rel_path_to_cf_file):
|
||||
dict.__init__(self)
|
||||
self.defaults = {}
|
||||
self.file_path = os.path.join(config_dir,
|
||||
*(rel_path_to_cf_file.split('/')))
|
||||
self.file_path = os.path.abspath(self.file_path)
|
||||
@ -592,7 +600,16 @@ class XMLConfig(dict):
|
||||
ans = ans.data
|
||||
return ans
|
||||
except KeyError:
|
||||
return None
|
||||
return self.defaults.get(key, None)
|
||||
|
||||
def get(self, key, default=None):
|
||||
try:
|
||||
ans = dict.__getitem__(self, key)
|
||||
if isinstance(ans, plistlib.Data):
|
||||
ans = ans.data
|
||||
return ans
|
||||
except KeyError:
|
||||
return self.defaults.get(key, default)
|
||||
|
||||
def __setitem__(self, key, val):
|
||||
if isinstance(val, (bytes, str)):
|
||||
@ -604,8 +621,9 @@ class XMLConfig(dict):
|
||||
self.__setitem__(key, val)
|
||||
|
||||
def __delitem__(self, key):
|
||||
dict.__delitem__(self, key)
|
||||
self.commit()
|
||||
if dict.has_key(self, key):
|
||||
dict.__delitem__(self, key)
|
||||
self.commit()
|
||||
|
||||
def commit(self):
|
||||
if hasattr(self, 'file_path') and self.file_path:
|
||||
@ -648,7 +666,16 @@ class JSONConfig(XMLConfig):
|
||||
return json.dumps(self, indent=2, default=to_json)
|
||||
|
||||
def __getitem__(self, key):
|
||||
return dict.__getitem__(self, key)
|
||||
try:
|
||||
return dict.__getitem__(self, key)
|
||||
except KeyError:
|
||||
return self.defaults[key]
|
||||
|
||||
def get(self, key, default=None):
|
||||
try:
|
||||
return dict.__getitem__(self, key)
|
||||
except KeyError:
|
||||
return self.defaults.get(key, default)
|
||||
|
||||
def __setitem__(self, key, val):
|
||||
dict.__setitem__(self, key, val)
|
||||
|
@ -54,7 +54,7 @@ def shorten_components_to(length, components):
|
||||
r = x[0] if x is components[-1] else ''
|
||||
else:
|
||||
if x is components[-1]:
|
||||
b, e = os.path.splitext(x)
|
||||
b, _, e = x.rpartition('.')
|
||||
r = b[:-delta]+e
|
||||
if r.startswith('.'): r = x[0]+r
|
||||
else:
|
||||
|
Loading…
x
Reference in New Issue
Block a user