mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
String changes
This commit is contained in:
parent
6ecefa928b
commit
7f7cd84c63
@ -721,7 +721,7 @@ calibre has several keyboard shortcuts to save you time and mouse movement. Thes
|
||||
* - :kbd:`Shift+Ctrl+E`
|
||||
- Add empty books to calibre
|
||||
* - :kbd:`Ctrl+M`
|
||||
- Toggle Mark/unmarked status on selected books
|
||||
- Toggle mark/unmarked status on selected books
|
||||
* - :kbd:`Q`
|
||||
- Open the Quick View popup for viewing books in related series/tags/etc.
|
||||
* - :kbd:`Shift+Q`
|
||||
|
@ -494,7 +494,7 @@ gui_view_history_size = 15
|
||||
# negative number to increase or decrease the font size.
|
||||
change_book_details_font_size_by = 0
|
||||
|
||||
#: Compile general program Mode templates to Python
|
||||
#: Compile general program mode templates to Python
|
||||
# Compiled general program mode templates are significantly faster than
|
||||
# interpreted templates. Setting this tweak to True causes calibre to compile
|
||||
# (in most cases) general program mode templates. Setting it to False causes
|
||||
@ -504,14 +504,14 @@ change_book_details_font_size_by = 0
|
||||
# No compile: compile_gpm_templates = False
|
||||
compile_gpm_templates = True
|
||||
|
||||
#: What format to default to when using the Tweak feature
|
||||
# The Tweak feature of calibre allows direct editing of a book format.
|
||||
#: What format to default to when using the "Unpack book" feature
|
||||
# The "Unpack book" feature of calibre allows direct editing of a book format.
|
||||
# If multiple formats are available, calibre will offer you a choice
|
||||
# of formats, defaulting to your preferred output format if it is available.
|
||||
# Set this tweak to a specific value of 'EPUB' or 'AZW3' to always default
|
||||
# to that format rather than your output format preference.
|
||||
# Set to a value of 'remember' to use whichever format you chose last time you
|
||||
# used the Tweak feature.
|
||||
# used the "Unpack book" feature.
|
||||
# Examples:
|
||||
# default_tweak_format = None (Use output format)
|
||||
# default_tweak_format = 'EPUB'
|
||||
@ -569,9 +569,9 @@ restrict_output_formats = None
|
||||
# The value can be between 50 and 99
|
||||
content_server_thumbnail_compression_quality = 75
|
||||
|
||||
#: Image file types to treat as e-books when dropping onto the Book details panel
|
||||
#: Image file types to treat as e-books when dropping onto the "Book details" panel
|
||||
# Normally, if you drop any image file in a format known to calibre onto the
|
||||
# Book details panel, it will be used to set the cover. If you want to store
|
||||
# "Book details" panel, it will be used to set the cover. If you want to store
|
||||
# some image types as e-books instead, you can set this tweak.
|
||||
# Examples:
|
||||
# cover_drop_exclude = {'tiff', 'webp'}
|
||||
|
@ -346,20 +346,20 @@ class FileTypePlugin(Plugin): # {{{
|
||||
'''
|
||||
Run the plugin. Must be implemented in subclasses.
|
||||
It should perform whatever modifications are required
|
||||
on the ebook and return the absolute path to the
|
||||
modified ebook. If no modifications are needed, it should
|
||||
return the path to the original ebook. If an error is encountered
|
||||
on the e-book and return the absolute path to the
|
||||
modified e-book. If no modifications are needed, it should
|
||||
return the path to the original e-book. If an error is encountered
|
||||
it should raise an Exception. The default implementation
|
||||
simply return the path to the original ebook. Note that the path to
|
||||
simply return the path to the original e-book. Note that the path to
|
||||
the original file (before any file type plugins are run, is available as
|
||||
self.original_path_to_file).
|
||||
|
||||
The modified ebook file should be created with the
|
||||
The modified e-book file should be created with the
|
||||
:meth:`temporary_file` method.
|
||||
|
||||
:param path_to_ebook: Absolute path to the ebook.
|
||||
:param path_to_ebook: Absolute path to the e-book.
|
||||
|
||||
:return: Absolute path to the modified ebook.
|
||||
:return: Absolute path to the modified e-book.
|
||||
'''
|
||||
# Default implementation does nothing
|
||||
return path_to_ebook
|
||||
@ -687,18 +687,18 @@ class StoreBase(Plugin): # {{{
|
||||
# Information about the store. Should be in the primary language
|
||||
# of the store. This should not be translatable when set by
|
||||
# a subclass.
|
||||
description = _('An ebook store.')
|
||||
description = _('An e-book store.')
|
||||
minimum_calibre_version = (0, 8, 0)
|
||||
version = (1, 0, 1)
|
||||
|
||||
actual_plugin = None
|
||||
|
||||
# Does the store only distribute ebooks without DRM.
|
||||
# Does the store only distribute e-books without DRM.
|
||||
drm_free_only = False
|
||||
# This is the 2 letter country code for the corporate
|
||||
# headquarters of the store.
|
||||
headquarters = ''
|
||||
# All formats the store distributes ebooks in.
|
||||
# All formats the store distributes e-books in.
|
||||
formats = []
|
||||
# Is this store on an affiliate program?
|
||||
affiliate = False
|
||||
|
@ -852,13 +852,13 @@ class ActionGenerateCatalog(InterfaceActionBase):
|
||||
class ActionConvert(InterfaceActionBase):
|
||||
name = 'Convert Books'
|
||||
actual_plugin = 'calibre.gui2.actions.convert:ConvertAction'
|
||||
description = _('Convert books to various ebook formats')
|
||||
description = _('Convert books to various e-book formats')
|
||||
|
||||
|
||||
class ActionPolish(InterfaceActionBase):
|
||||
name = 'Polish Books'
|
||||
actual_plugin = 'calibre.gui2.actions.polish:PolishAction'
|
||||
description = _('Fine tune your ebooks')
|
||||
description = _('Fine tune your e-books')
|
||||
|
||||
|
||||
class ActionEditToC(InterfaceActionBase):
|
||||
@ -894,7 +894,7 @@ class ActionView(InterfaceActionBase):
|
||||
class ActionFetchNews(InterfaceActionBase):
|
||||
name = 'Fetch News'
|
||||
actual_plugin = 'calibre.gui2.actions.fetch_news:FetchNewsAction'
|
||||
description = _('Download news from the internet in ebook form')
|
||||
description = _('Download news from the internet in e-book form')
|
||||
|
||||
|
||||
class ActionQuickview(InterfaceActionBase):
|
||||
@ -1005,7 +1005,7 @@ class ActionCopyToLibrary(InterfaceActionBase):
|
||||
class ActionTweakEpub(InterfaceActionBase):
|
||||
name = 'Tweak ePub'
|
||||
actual_plugin = 'calibre.gui2.actions.tweak_epub:TweakEpubAction'
|
||||
description = _('Edit ebooks in the epub or azw3 formats')
|
||||
description = _('Edit e-books in the epub or azw3 formats')
|
||||
|
||||
|
||||
class ActionUnpackBook(InterfaceActionBase):
|
||||
@ -1218,7 +1218,7 @@ class Sending(PreferencesPlugin):
|
||||
name_order = 3
|
||||
config_widget = 'calibre.gui2.preferences.sending'
|
||||
description = _('Control how calibre transfers files to your '
|
||||
'ebook reader')
|
||||
'e-book reader')
|
||||
|
||||
|
||||
class Plugboard(PreferencesPlugin):
|
||||
@ -1281,7 +1281,7 @@ class MetadataSources(PreferencesPlugin):
|
||||
category_order = 4
|
||||
name_order = 3
|
||||
config_widget = 'calibre.gui2.preferences.metadata_sources'
|
||||
description = _('Control how calibre downloads ebook metadata from the net')
|
||||
description = _('Control how calibre downloads e-book metadata from the net')
|
||||
|
||||
|
||||
class IgnoredDevices(PreferencesPlugin):
|
||||
@ -1427,7 +1427,7 @@ class StoreAmazonDEKindleStore(StoreBase):
|
||||
class StoreAmazonFRKindleStore(StoreBase):
|
||||
name = 'Amazon FR Kindle'
|
||||
author = 'Kovid Goyal'
|
||||
description = u'Tous les ebooks Kindle'
|
||||
description = u'Tous les e-books Kindle'
|
||||
actual_plugin = 'calibre.gui2.store.stores.amazon_fr_plugin:AmazonKindleStore'
|
||||
|
||||
headquarters = 'FR'
|
||||
@ -1437,7 +1437,7 @@ class StoreAmazonFRKindleStore(StoreBase):
|
||||
class StoreAmazonITKindleStore(StoreBase):
|
||||
name = 'Amazon IT Kindle'
|
||||
author = 'Kovid Goyal'
|
||||
description = u'eBook Kindle a prezzi incredibili'
|
||||
description = u'e-book Kindle a prezzi incredibili'
|
||||
actual_plugin = 'calibre.gui2.store.stores.amazon_it_plugin:AmazonKindleStore'
|
||||
|
||||
headquarters = 'IT'
|
||||
@ -1447,7 +1447,7 @@ class StoreAmazonITKindleStore(StoreBase):
|
||||
class StoreAmazonESKindleStore(StoreBase):
|
||||
name = 'Amazon ES Kindle'
|
||||
author = 'Kovid Goyal'
|
||||
description = u'eBook Kindle en España'
|
||||
description = u'e-book Kindle en España'
|
||||
actual_plugin = 'calibre.gui2.store.stores.amazon_es_plugin:AmazonKindleStore'
|
||||
|
||||
headquarters = 'ES'
|
||||
@ -1457,7 +1457,7 @@ class StoreAmazonESKindleStore(StoreBase):
|
||||
class StoreAmazonUKKindleStore(StoreBase):
|
||||
name = 'Amazon UK Kindle'
|
||||
author = 'Kovid Goyal'
|
||||
description = u'Kindle books from Amazon\'s UK web site. Also, includes French language ebooks.'
|
||||
description = u'Kindle books from Amazon\'s UK web site. Also, includes French language e-books.'
|
||||
actual_plugin = 'calibre.gui2.store.stores.amazon_uk_plugin:AmazonKindleStore'
|
||||
|
||||
headquarters = 'UK'
|
||||
@ -1516,7 +1516,7 @@ class StoreBNStore(StoreBase):
|
||||
class StoreBeamEBooksDEStore(StoreBase):
|
||||
name = 'Beam EBooks DE'
|
||||
author = 'Charles Haley'
|
||||
description = u'Bei uns finden Sie: Tausende deutschsprachige eBooks; Alle eBooks ohne hartes DRM; PDF, ePub und Mobipocket Format; Sofortige Verfügbarkeit - 24 Stunden am Tag; Günstige Preise; eBooks für viele Lesegeräte, PC,Mac und Smartphones; Viele Gratis eBooks' # noqa
|
||||
description = u'Bei uns finden Sie: Tausende deutschsprachige e-books; Alle e-books ohne hartes DRM; PDF, ePub und Mobipocket Format; Sofortige Verfügbarkeit - 24 Stunden am Tag; Günstige Preise; e-books für viele Lesegeräte, PC,Mac und Smartphones; Viele Gratis e-books' # noqa
|
||||
actual_plugin = 'calibre.gui2.store.stores.beam_ebooks_de_plugin:BeamEBooksDEStore'
|
||||
|
||||
drm_free_only = True
|
||||
@ -1538,7 +1538,7 @@ class StoreBiblioStore(StoreBase):
|
||||
class StoreCdpStore(StoreBase):
|
||||
name = 'Cdp.pl'
|
||||
author = u'Tomasz Długosz'
|
||||
description = u'Ebooki w wielu formatach zabezpieczone znakiem wodnym RuneMark'
|
||||
description = u'E-booki w wielu formatach zabezpieczone znakiem wodnym RuneMark'
|
||||
actual_plugin = 'calibre.gui2.store.stores.cdp_plugin:CdpStore'
|
||||
|
||||
drm_free_only = True
|
||||
@ -1571,7 +1571,7 @@ class StoreEbookNLStore(StoreBase):
|
||||
class StoreEbookpointStore(StoreBase):
|
||||
name = 'Ebookpoint'
|
||||
author = u'Tomasz Długosz'
|
||||
description = u'Ebooki wolne od DRM, 3 formaty w pakiecie, wysyłanie na Kindle'
|
||||
description = u'E-booki wolne od DRM, 3 formaty w pakiecie, wysyłanie na Kindle'
|
||||
actual_plugin = 'calibre.gui2.store.stores.ebookpoint_plugin:EbookpointStore'
|
||||
|
||||
drm_free_only = True
|
||||
@ -1652,7 +1652,7 @@ class StoreGoogleBooksStore(StoreBase):
|
||||
|
||||
class StoreGutenbergStore(StoreBase):
|
||||
name = 'Project Gutenberg'
|
||||
description = u'The first producer of free ebooks. Free in the United States because their copyright has expired. They may not be free of copyright in other countries. Readers outside of the United States must check the copyright laws of their countries before downloading or redistributing our ebooks.' # noqa
|
||||
description = u'The first producer of free e-books. Free in the United States because their copyright has expired. They may not be free of copyright in other countries. Readers outside of the United States must check the copyright laws of their countries before downloading or redistributing our e-books.' # noqa
|
||||
actual_plugin = 'calibre.gui2.store.stores.gutenberg_plugin:GutenbergStore'
|
||||
|
||||
drm_free_only = True
|
||||
@ -1662,7 +1662,7 @@ class StoreGutenbergStore(StoreBase):
|
||||
|
||||
class StoreKoboStore(StoreBase):
|
||||
name = 'Kobo'
|
||||
description = u'With over 2.3 million eBooks to browse we have engaged readers in over 200 countries in Kobo eReading. Our eBook listings include New York Times Bestsellers, award winners, classics and more!' # noqa
|
||||
description = u'With over 2.3 million e-books to browse we have engaged readers in over 200 countries in Kobo eReading. Our e-book listings include New York Times Bestsellers, award winners, classics and more!' # noqa
|
||||
actual_plugin = 'calibre.gui2.store.stores.kobo_plugin:KoboStore'
|
||||
|
||||
headquarters = 'CA'
|
||||
@ -1685,7 +1685,7 @@ class StoreKoobeStore(StoreBase):
|
||||
class StoreLegimiStore(StoreBase):
|
||||
name = 'Legimi'
|
||||
author = u'Tomasz Długosz'
|
||||
description = u'Ebooki w formacie EPUB, MOBI i PDF'
|
||||
description = u'E-booki w formacie EPUB, MOBI i PDF'
|
||||
actual_plugin = 'calibre.gui2.store.stores.legimi_plugin:LegimiStore'
|
||||
|
||||
headquarters = 'PL'
|
||||
@ -1706,7 +1706,7 @@ class StoreLibreDEStore(StoreBase):
|
||||
|
||||
class StoreLitResStore(StoreBase):
|
||||
name = 'LitRes'
|
||||
description = u'ebooks from LitRes.ru'
|
||||
description = u'e-books from LitRes.ru'
|
||||
actual_plugin = 'calibre.gui2.store.stores.litres_plugin:LitResStore'
|
||||
author = 'Roman Mukhin'
|
||||
|
||||
@ -1739,7 +1739,7 @@ class StoreMillsBoonUKStore(StoreBase):
|
||||
|
||||
class StoreMobileReadStore(StoreBase):
|
||||
name = 'MobileRead'
|
||||
description = u'Ebooks handcrafted with the utmost care.'
|
||||
description = u'E-books handcrafted with the utmost care.'
|
||||
actual_plugin = 'calibre.gui2.store.stores.mobileread.mobileread_plugin:MobileReadStore'
|
||||
|
||||
drm_free_only = True
|
||||
@ -1770,7 +1770,7 @@ class StoreNookUKStore(StoreBase):
|
||||
|
||||
class StoreOpenBooksStore(StoreBase):
|
||||
name = 'Open Books'
|
||||
description = u'Comprehensive listing of DRM free ebooks from a variety of sources provided by users of calibre.'
|
||||
description = u'Comprehensive listing of DRM free e-books from a variety of sources provided by users of calibre.'
|
||||
actual_plugin = 'calibre.gui2.store.stores.open_books_plugin:OpenBooksStore'
|
||||
|
||||
drm_free_only = True
|
||||
@ -1779,7 +1779,7 @@ class StoreOpenBooksStore(StoreBase):
|
||||
|
||||
class StoreOzonRUStore(StoreBase):
|
||||
name = 'OZON.ru'
|
||||
description = u'ebooks from OZON.ru'
|
||||
description = u'e-books from OZON.ru'
|
||||
actual_plugin = 'calibre.gui2.store.stores.ozon_ru_plugin:OzonRUStore'
|
||||
author = 'Roman Mukhin'
|
||||
|
||||
@ -1791,7 +1791,7 @@ class StoreOzonRUStore(StoreBase):
|
||||
|
||||
class StorePragmaticBookshelfStore(StoreBase):
|
||||
name = 'Pragmatic Bookshelf'
|
||||
description = u'The Pragmatic Bookshelf\'s collection of programming and tech books avaliable as ebooks.'
|
||||
description = u'The Pragmatic Bookshelf\'s collection of programming and tech books avaliable as e-books.'
|
||||
actual_plugin = 'calibre.gui2.store.stores.pragmatic_bookshelf_plugin:PragmaticBookshelfStore'
|
||||
|
||||
drm_free_only = True
|
||||
@ -1823,7 +1823,7 @@ class StoreRW2010Store(StoreBase):
|
||||
|
||||
class StoreSmashwordsStore(StoreBase):
|
||||
name = 'Smashwords'
|
||||
description = u'An ebook publishing and distribution platform for ebook authors, publishers and readers. Covers many genres and formats.'
|
||||
description = u'An e-book publishing and distribution platform for e-book authors, publishers and readers. Covers many genres and formats.'
|
||||
actual_plugin = 'calibre.gui2.store.stores.smashwords_plugin:SmashwordsStore'
|
||||
|
||||
drm_free_only = True
|
||||
@ -1856,7 +1856,7 @@ class StoreWaterstonesUKStore(StoreBase):
|
||||
|
||||
class StoreWeightlessBooksStore(StoreBase):
|
||||
name = 'Weightless Books'
|
||||
description = u'An independent DRM-free ebooksite devoted to ebooks of all sorts.'
|
||||
description = u'An independent DRM-free e-book site devoted to e-books of all sorts.'
|
||||
actual_plugin = 'calibre.gui2.store.stores.weightless_books_plugin:WeightlessBooksStore'
|
||||
|
||||
drm_free_only = True
|
||||
|
@ -277,7 +277,7 @@ class OutputFormatPlugin(Plugin):
|
||||
|
||||
'''
|
||||
OutputFormatPlugins are responsible for converting an OEB document
|
||||
(OPF+HTML) into an output ebook.
|
||||
(OPF+HTML) into an output e-book.
|
||||
|
||||
The OEB document can be assumed to be encoded in UTF-8.
|
||||
The main action happens in :meth:`convert`.
|
||||
@ -305,15 +305,15 @@ class OutputFormatPlugin(Plugin):
|
||||
|
||||
#: Options to customize the behavior of this plugin. Every option must be an
|
||||
#: instance of :class:`OptionRecommendation`.
|
||||
options = set([])
|
||||
options = set()
|
||||
|
||||
#: A set of 3-tuples of the form
|
||||
#: (option_name, recommended_value, recommendation_level)
|
||||
recommendations = set([])
|
||||
recommendations = set()
|
||||
|
||||
@property
|
||||
def description(self):
|
||||
return _('Convert ebooks to the %s format')%self.file_type
|
||||
return _('Convert e-books to the %s format')%self.file_type
|
||||
|
||||
def __init__(self, *args):
|
||||
Plugin.__init__(self, *args)
|
||||
|
@ -735,7 +735,7 @@ class Cache(object):
|
||||
@read_api
|
||||
def format_abspath(self, book_id, fmt):
|
||||
'''
|
||||
Return absolute path to the ebook file of format `format`. You should
|
||||
Return absolute path to the e-book file of format `format`. You should
|
||||
almost never use this, as it breaks the threadsafe promise of this API.
|
||||
Instead use, :meth:`copy_format_to`.
|
||||
|
||||
@ -827,10 +827,10 @@ class Cache(object):
|
||||
@api
|
||||
def format(self, book_id, fmt, as_file=False, as_path=False, preserve_filename=False):
|
||||
'''
|
||||
Return the ebook format as a bytestring or `None` if the format doesn't exist,
|
||||
or we don't have permission to write to the ebook file.
|
||||
Return the e-book format as a bytestring or `None` if the format doesn't exist,
|
||||
or we don't have permission to write to the e-book file.
|
||||
|
||||
:param as_file: If True the ebook format is returned as a file object. Note
|
||||
:param as_file: If True the e-book format is returned as a file object. Note
|
||||
that the file object is a SpooledTemporaryFile, so if what you want to
|
||||
do is copy the format to another file, use :meth:`copy_format_to`
|
||||
instead for performance.
|
||||
|
@ -58,7 +58,7 @@ Everything after the -- is passed to the script.
|
||||
default=False,
|
||||
help=_('Inspect the MOBI file(s) at the specified path(s)'))
|
||||
parser.add_option('-t', '--edit-book', action='store_true',
|
||||
help=_('Launch the calibre Edit book tool in debug mode.'))
|
||||
help=_('Launch the calibre "Edit book" tool in debug mode.'))
|
||||
parser.add_option('-x', '--explode-book', default=None,
|
||||
help=_('Explode the book (exports the book as a collection of HTML '
|
||||
'files and metadata, which you can edit using standard HTML '
|
||||
|
@ -11,7 +11,7 @@ from calibre.customize import Plugin
|
||||
class DevicePlugin(Plugin):
|
||||
"""
|
||||
Defines the interface that should be implemented by backends that
|
||||
communicate with an ebook reader.
|
||||
communicate with an e-book reader.
|
||||
"""
|
||||
type = _('Device interface')
|
||||
|
||||
@ -371,10 +371,10 @@ class DevicePlugin(Plugin):
|
||||
|
||||
def books(self, oncard=None, end_session=True):
|
||||
"""
|
||||
Return a list of ebooks on the device.
|
||||
Return a list of e-books on the device.
|
||||
|
||||
:param oncard: If 'carda' or 'cardb' return a list of ebooks on the
|
||||
specific storage card, otherwise return list of ebooks
|
||||
:param oncard: If 'carda' or 'cardb' return a list of e-books on the
|
||||
specific storage card, otherwise return list of e-books
|
||||
in main memory of device. If a card is specified and no
|
||||
books are on the card return empty list.
|
||||
|
||||
|
@ -182,7 +182,7 @@ def _config(): # {{{
|
||||
c.add_opt('LRF_conversion_defaults', default=[],
|
||||
help=_('Defaults for conversion to LRF'))
|
||||
c.add_opt('LRF_ebook_viewer_options', default=None,
|
||||
help=_('Options for the LRF ebook viewer'))
|
||||
help=_('Options for the LRF e-book viewer'))
|
||||
c.add_opt('internally_viewed_formats', default=['LRF', 'EPUB', 'LIT',
|
||||
'MOBI', 'PRC', 'POBI', 'AZW', 'AZW3', 'HTML', 'FB2', 'PDB', 'RB',
|
||||
'SNB', 'HTMLZ', 'KEPUB'], help=_(
|
||||
@ -219,9 +219,9 @@ def _config(): # {{{
|
||||
c.add_opt('main_search_history', default=[],
|
||||
help='Search history for the main GUI')
|
||||
c.add_opt('viewer_search_history', default=[],
|
||||
help='Search history for the ebook viewer')
|
||||
help='Search history for the e-book viewer')
|
||||
c.add_opt('viewer_toc_search_history', default=[],
|
||||
help='Search history for the ToC in the ebook viewer')
|
||||
help='Search history for the ToC in the e-book viewer')
|
||||
c.add_opt('lrf_viewer_search_history', default=[],
|
||||
help='Search history for the LRF viewer')
|
||||
c.add_opt('scheduler_search_history', default=[],
|
||||
|
@ -60,12 +60,12 @@ class AddAction(InterfaceAction):
|
||||
self.add_menu = self.qaction.menu()
|
||||
ma = partial(self.create_menu_action, self.add_menu)
|
||||
ma('recursive-single', _('Add books from directories, including '
|
||||
'sub-directories (One book per directory, assumes every ebook '
|
||||
'sub-directories (One book per directory, assumes every e-book '
|
||||
'file is the same book in a different format)')).triggered.connect(
|
||||
self.add_recursive_single)
|
||||
ma('recursive-multiple', _('Add books from directories, including '
|
||||
'sub-directories (Multiple books per directory, assumes every '
|
||||
'ebook file is a different book)')).triggered.connect(
|
||||
'e-book file is a different book)')).triggered.connect(
|
||||
self.add_recursive_multiple)
|
||||
arm = self.add_archive_menu = self.add_menu.addMenu(_('Add multiple books from archive (ZIP/RAR)'))
|
||||
self.create_menu_action(arm, 'recursive-single-archive', _(
|
||||
|
@ -291,9 +291,9 @@ class ChooseLibraryAction(InterfaceAction):
|
||||
if isportable:
|
||||
return error_dialog(self.gui, _('Cannot export/import'), _(
|
||||
'You are running calibre portable, all calibre data is already in the'
|
||||
' calibre portable folder. Export/Import is unavailable.'), show=True)
|
||||
' calibre portable folder. Export/import is unavailable.'), show=True)
|
||||
if self.gui.job_manager.has_jobs():
|
||||
return error_dialog(self.gui, _('Cannot Export/Import'),
|
||||
return error_dialog(self.gui, _('Cannot export/import'),
|
||||
_('Cannot export/import data while there are running jobs.'), show=True)
|
||||
from calibre.gui2.dialogs.exim import EximDialog
|
||||
d = EximDialog(parent=self.gui)
|
||||
|
@ -20,7 +20,7 @@ from calibre.customize.ui import plugin_for_input_format
|
||||
class ConvertAction(InterfaceAction):
|
||||
|
||||
name = 'Convert Books'
|
||||
action_spec = (_('Convert books'), 'convert.png', _('Convert books between different ebook formats'), _('C'))
|
||||
action_spec = (_('Convert books'), 'convert.png', _('Convert books between different e-book formats'), _('C'))
|
||||
dont_add_to = frozenset(['context-menu-device'])
|
||||
action_type = 'current'
|
||||
action_add_menu = True
|
||||
|
@ -18,7 +18,7 @@ from calibre.gui2.actions import InterfaceAction
|
||||
class FetchNewsAction(InterfaceAction):
|
||||
|
||||
name = 'Fetch News'
|
||||
action_spec = (_('Fetch news'), 'news.png', _('Download news in ebook form from various websites all over the world'), _('F'))
|
||||
action_spec = (_('Fetch news'), 'news.png', _('Download news in e-book form from various websites all over the world'), _('F'))
|
||||
|
||||
def location_selected(self, loc):
|
||||
enabled = loc == 'library'
|
||||
@ -85,5 +85,3 @@ class FetchNewsAction(InterfaceAction):
|
||||
self.gui.email_news(id)
|
||||
self.gui.sync_news()
|
||||
gc.collect()
|
||||
|
||||
|
||||
|
@ -54,15 +54,15 @@ class Polish(QDialog): # {{{
|
||||
|
||||
'metadata':_('<h3>Updating metadata</h3>'
|
||||
'<p>This will update all metadata <i>except</i> the cover in the'
|
||||
' ebook files to match the current metadata in the'
|
||||
' e-book files to match the current metadata in the'
|
||||
' calibre library.</p>'
|
||||
' <p>Note that most ebook'
|
||||
' <p>Note that most e-book'
|
||||
' formats are not capable of supporting all the'
|
||||
' metadata in calibre.</p><p>There is a separate option to'
|
||||
' update the cover.</p>'),
|
||||
'do_cover': _('<h3>Update cover</h3><p>Update the covers in the ebook files to match the'
|
||||
'do_cover': _('<h3>Update cover</h3><p>Update the covers in the e-book files to match the'
|
||||
' current cover in the calibre library.</p>'
|
||||
'<p>If the ebook file does not have'
|
||||
'<p>If the e-book file does not have'
|
||||
' an identifiable cover, a new cover is inserted.</p>'
|
||||
),
|
||||
'jacket':_('<h3>Book Jacket</h3>%s')%HELP['jacket'],
|
||||
@ -84,7 +84,7 @@ class Polish(QDialog): # {{{
|
||||
('smarten_punctuation', _('Smarten &punctuation')),
|
||||
('metadata', _('Update &metadata in the book files')),
|
||||
('do_cover', _('Update the &cover in the book files')),
|
||||
('jacket', _('Add/Replace metadata as a "book &jacket" page')),
|
||||
('jacket', _('Add/replace metadata as a "book &jacket" page')),
|
||||
('remove_jacket', _('&Remove a previously inserted book jacket')),
|
||||
('remove_unused_css', _('Remove &unused CSS rules from the book')),
|
||||
('compress_images', _('Losslessly compress images')),
|
||||
@ -529,6 +529,7 @@ class PolishAction(InterfaceAction):
|
||||
if show_reports:
|
||||
self.report(db.title(book_id, index_is_id=True), book_id, fmts, job, job.result)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
app = QApplication([])
|
||||
app
|
||||
|
@ -19,7 +19,7 @@ class SaveToDiskAction(InterfaceAction):
|
||||
|
||||
name = "Save To Disk"
|
||||
action_spec = (_('Save to disk'), 'save.png',
|
||||
_('Export ebook files from the calibre library'), _('S'))
|
||||
_('Export e-book files from the calibre library'), _('S'))
|
||||
action_type = 'current'
|
||||
action_add_menu = True
|
||||
action_menu_clone_qaction = True
|
||||
|
@ -18,9 +18,9 @@ from calibre.gui2.dialogs.confirm_delete import confirm
|
||||
class StoreAction(InterfaceAction):
|
||||
|
||||
name = 'Store'
|
||||
action_spec = (_('Get books'), 'store.png', _('Search dozens of online ebook retailers for the cheapest books'), _('G'))
|
||||
action_spec = (_('Get books'), 'store.png', _('Search dozens of online e-book retailers for the cheapest books'), _('G'))
|
||||
action_add_menu = True
|
||||
action_menu_clone_qaction = _('Search for ebooks')
|
||||
action_menu_clone_qaction = _('Search for e-books')
|
||||
|
||||
def genesis(self):
|
||||
self.qaction.triggered.connect(self.do_search)
|
||||
@ -132,7 +132,7 @@ class StoreAction(InterfaceAction):
|
||||
|
||||
def show_disclaimer(self):
|
||||
confirm(('<p>' +
|
||||
_('calibre helps you find the ebooks you want by searching '
|
||||
_('calibre helps you find the e-books you want by searching '
|
||||
'the websites of various commercial and public domain '
|
||||
'book sources for you.') +
|
||||
'<p>' +
|
||||
|
@ -99,7 +99,7 @@ class TweakEpubAction(InterfaceAction):
|
||||
|
||||
def do_tweak(self, book_id):
|
||||
if self.gui.current_view() is not self.gui.library_view:
|
||||
return error_dialog(self.gui, _('Cannot Edit book'), _(
|
||||
return error_dialog(self.gui, _('Cannot edit book'), _(
|
||||
'Editing of books on the device is not supported'), show=True)
|
||||
from calibre.ebooks.oeb.polish.main import SUPPORTED
|
||||
db = self.gui.library_view.model().db
|
||||
|
@ -75,10 +75,10 @@ class UnpackBook(QDialog):
|
||||
|
||||
self.help_label = QLabel(_('''\
|
||||
<h2>About Unpack book</h2>
|
||||
<p>Unpack book allows you to fine tune the appearance of an ebook by
|
||||
<p>Unpack book allows you to fine tune the appearance of an e-book by
|
||||
making small changes to its internals. In order to use Unpack book,
|
||||
you need to know a little bit about HTML and CSS, technologies that
|
||||
are used in ebooks. Follow the steps:</p>
|
||||
are used in e-books. Follow the steps:</p>
|
||||
<br>
|
||||
<ol>
|
||||
<li>Click "Explode book": This will "explode" the book into its
|
||||
|
@ -17,7 +17,7 @@
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>Line &un-Wrapping factor:</string>
|
||||
<string>Line &un-wrapping factor:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>opt_unwrap_factor</cstring>
|
||||
|
@ -32,7 +32,7 @@
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Search/Replace definition edit</string>
|
||||
<string>Search/replace definition edit</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<property name="sizeConstraint">
|
||||
|
@ -152,7 +152,7 @@ class EximDialog(Dialog):
|
||||
self.initial_panel = initial_panel
|
||||
self.abort_disk_usage = Event()
|
||||
self.restart_needed = False
|
||||
Dialog.__init__(self, _('Export/Import all calibre data'), 'exim-calibre', parent=parent)
|
||||
Dialog.__init__(self, _('Export/import all calibre data'), 'exim-calibre', parent=parent)
|
||||
|
||||
def sizeHint(self):
|
||||
return QSize(800, 600)
|
||||
|
@ -36,7 +36,7 @@ class ConfigWidgetInterface(object):
|
||||
#: Set to True iff the :meth:`restore_to_defaults` method is implemented.
|
||||
supports_restoring_to_defaults = True
|
||||
|
||||
#: The tooltip for the "Restore to defaults" button
|
||||
#: The tooltip for the "Restore defaults" button
|
||||
restore_defaults_desc = _('Restore settings to default values. '
|
||||
'You have to click Apply to actually save the default settings.')
|
||||
|
||||
|
@ -102,7 +102,7 @@
|
||||
<item>
|
||||
<widget class="QPushButton" name="toggle_plugin_button">
|
||||
<property name="text">
|
||||
<string>Enable/&Disable plugin</string>
|
||||
<string>Enable/&disable plugin</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
@ -186,7 +186,7 @@
|
||||
</widget>
|
||||
<widget class="QWidget" name="tab_2">
|
||||
<attribute name="title">
|
||||
<string>Nam&e/Description...</string>
|
||||
<string>Nam&e/description...</string>
|
||||
</attribute>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="1" column="0">
|
||||
|
@ -186,7 +186,7 @@
|
||||
</widget>
|
||||
<widget class="QWidget" name="tab_2">
|
||||
<attribute name="title">
|
||||
<string>Titl&e/Author/Price...</string>
|
||||
<string>Titl&e/author/price...</string>
|
||||
</attribute>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="1" column="0">
|
||||
|
@ -186,7 +186,7 @@
|
||||
</widget>
|
||||
<widget class="QWidget" name="tab_2">
|
||||
<attribute name="title">
|
||||
<string>Titl&e/Author/Price ...</string>
|
||||
<string>Titl&e/author/price ...</string>
|
||||
</attribute>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="1" column="0">
|
||||
|
@ -252,7 +252,7 @@ class Boss(QObject):
|
||||
|
||||
def open_book(self, path=None, edit_file=None, clear_notify_data=True, open_folder=False):
|
||||
'''
|
||||
Open the ebook at ``path`` for editing. Will show an error if the ebook is not in a supported format or the current book has unsaved changes.
|
||||
Open the e-book at ``path`` for editing. Will show an error if the e-book is not in a supported format or the current book has unsaved changes.
|
||||
|
||||
:param edit_file: The name of a file inside the newly opened book to start editing. Can also be a list of names.
|
||||
'''
|
||||
|
@ -786,7 +786,7 @@ class CharSelect(Dialog):
|
||||
l.addWidget(la, 2, 0, 1, 3)
|
||||
|
||||
self.rearrange_msg = la = QLabel(_(
|
||||
'Drag and drop characters to re-arrange them. Click the Re-arrange button again when you are done.'))
|
||||
'Drag and drop characters to re-arrange them. Click the "Re-arrange" button again when you are done.'))
|
||||
la.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
|
||||
la.setVisible(False)
|
||||
l.addWidget(la, 3, 0, 1, 3)
|
||||
|
Loading…
x
Reference in New Issue
Block a user