diff --git a/Changelog.txt b/Changelog.txt index 809ca69f6f..fd25ac6f28 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -39,7 +39,7 @@ :: bug fixes -- [1920613] MOBI Output: Fix latest kindle firmware not displaying select publisher font option for calibre produced azw3 files +- [1920613] MOBI Output: Fix latest Kindle firmware not displaying select publisher font option for calibre produced AZW3 files - [1919033] E-book viewer: Fix errors when viewing books with mathematics that are split over multiple internal files diff --git a/bypy/windows/portable-installer.cpp b/bypy/windows/portable-installer.cpp index b2009fef32..901a0a15ef 100644 --- a/bypy/windows/portable-installer.cpp +++ b/bypy/windows/portable-installer.cpp @@ -566,7 +566,7 @@ int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PWSTR pCmdLine if (wcslen(fdest) > 58) { _snwprintf_s(buf, 4*MAX_PATH, _TRUNCATE, - L"Path to Calibre Portable (%s) too long. Must be less than 59 characters.", fdest); + L"Path to Calibre Portable (%s) too long. It must be less than 59 characters.", fdest); if (!existing) RemoveDirectory(fdest); show_error(buf); tgt = get_directory_from_user(); diff --git a/bypy/windows/portable.cpp b/bypy/windows/portable.cpp index d1ca1767d4..7c6efa7615 100644 --- a/bypy/windows/portable.cpp +++ b/bypy/windows/portable.cpp @@ -102,7 +102,7 @@ get_app_dir(std::wstring& ans, std::wstring& exe_name) { std::wstring msg; msg.append(L"Path to Calibre Portable ("); msg.append(ans); - msg.append(L") too long. Must be less than 59 characters."); + msg.append(L") too long. It must be less than 59 characters."); show_error(msg.c_str()); return false; } diff --git a/manual/conversion.rst b/manual/conversion.rst index aa2c75b5d4..21d9d2e60c 100644 --- a/manual/conversion.rst +++ b/manual/conversion.rst @@ -838,7 +838,7 @@ to another standard page size or a completely custom size in the :guilabel:`PDF section of the conversion dialog. If you are generating a PDF to be used on a specific device, you can turn on the option to use the page size from the :guilabel:`output profile` instead. So if your output profile is set to Kindle, calibre -will create a PDF with page size suitable for viewing on the small kindle +will create a PDF with page size suitable for viewing on the small Kindle screen. Headers and Footers diff --git a/manual/faq.rst b/manual/faq.rst index 75f68e765e..dd6bc9c6bb 100644 --- a/manual/faq.rst +++ b/manual/faq.rst @@ -210,7 +210,7 @@ Follow these steps to find the problem: no longer allows third party software to connect to their devices using a USB cable. Instead use a wireless connection, via the calibre Content server. - * If you are connecting a Kindle Fire HD or other Android device, read the note + * If you are connecting a Kindle Fire or other Android device, read the note under :ref:`android_usb`. * On macOS if you get permission errors when connecting a device to calibre, you can fix that by looking under :guilabel:`System Preferences > Security and diff --git a/manual/metadata.rst b/manual/metadata.rst index 66d8f12fb2..4e7bf17a71 100644 --- a/manual/metadata.rst +++ b/manual/metadata.rst @@ -25,7 +25,7 @@ Click the book you want to edit and then click the :guilabel:`Edit metadata` but Downloading metadata ^^^^^^^^^^^^^^^^^^^^^ -The nicest feature of the edit metadata dialog is its ability to automatically fill in many metadata fields by getting metadata from various websites. Currently, calibre uses isbndb.com, Google Books, Amazon and Library Thing. The metadata download can fill in Title, author, series, tags, rating, description and ISBN for you. +The nicest feature of the edit metadata dialog is its ability to automatically fill in many metadata fields by getting metadata from various websites. Currently, calibre uses Google Books and Amazon. The metadata download can fill in Title, author, series, tags, rating, description and ISBN for you. To use the download, fill in the title and author fields and click the :guilabel:`Fetch metadata` button. calibre will present you with a list of books that most closely match the title and author. If you fill in the ISBN field first, it will be used in preference to the title and author. If no matches are found, try making your search a little less specific by including only some key words in the title and only the author last name. diff --git a/manual/template_lang.rst b/manual/template_lang.rst index a4213832f8..bc4a66cef2 100644 --- a/manual/template_lang.rst +++ b/manual/template_lang.rst @@ -469,7 +469,7 @@ In `GPM` the functions described in `Single Function Mode` all require an additi var_0 = 'one'; var_1 = 'two'; - var_3 = 'foo + var_2 = 'foo * ``list_union(list1, list2, separator)`` -- return a list made by merging the items in ``list1`` and ``list2``, removing duplicate items using a case-insensitive comparison. If items differ in case, the one in ``list1`` is used. The items in ``list1`` and ``list2`` are separated by ``separator``, as are the items in the returned list. Aliases: ``merge_lists()``, ``list_union()`` * ``mod(x, y)`` -- returns the ``floor`` of the remainder of ``x / y``. Throws an exception if either ``x`` or ``y`` is not a number. diff --git a/src/calibre/db/backend.py b/src/calibre/db/backend.py index 55526b7818..f1843427a5 100644 --- a/src/calibre/db/backend.py +++ b/src/calibre/db/backend.py @@ -420,7 +420,7 @@ class DB(object): if iswindows and len(self.library_path) + 4*self.PATH_LIMIT + 10 > 259: raise ValueError(_( - 'Path to library ({0}) too long. Must be less than' + 'Path to library ({0}) too long. It must be less than' ' {1} characters.').format(self.library_path, 259-4*self.PATH_LIMIT-10)) exists = self._exists = os.path.exists(self.dbpath) if not exists: @@ -428,7 +428,7 @@ class DB(object): # allowed for max path lengths of 265 chars. if (iswindows and len(self.library_path) > self.WINDOWS_LIBRARY_PATH_LIMIT): raise ValueError(_( - 'Path to library too long. Must be less than' + 'Path to library too long. It must be less than' ' %d characters.')%self.WINDOWS_LIBRARY_PATH_LIMIT) if read_only and os.path.exists(self.dbpath): diff --git a/src/calibre/db/cli/cmd_clone.py b/src/calibre/db/cli/cmd_clone.py index 5e97c0859b..dbe70ec615 100644 --- a/src/calibre/db/cli/cmd_clone.py +++ b/src/calibre/db/cli/cmd_clone.py @@ -54,7 +54,7 @@ def main(opts, args, dbctx): ) if iswindows and len(loc) > LibraryDatabase.WINDOWS_LIBRARY_PATH_LIMIT: raise SystemExit( - _('Path to library too long. Must be less than' + _('Path to library too long. It must be less than' ' %d characters.') % LibraryDatabase.WINDOWS_LIBRARY_PATH_LIMIT ) LibraryDatabase(loc, default_prefs=prefs) diff --git a/src/calibre/gui2/__init__.py b/src/calibre/gui2/__init__.py index f97fc226be..ce89f1b20d 100644 --- a/src/calibre/gui2/__init__.py +++ b/src/calibre/gui2/__init__.py @@ -307,7 +307,7 @@ def _config(): # {{{ # This option is no longer used. It remains for compatibility with upgrades # so the value can be migrated c.add_opt('tag_browser_hidden_categories', default=set(), - help=_('tag browser categories not to display')) + help=_('Tag browser categories not to display')) c.add_opt return ConfigProxy(c) diff --git a/src/calibre/gui2/actions/choose_library.py b/src/calibre/gui2/actions/choose_library.py index cd650c6db0..16d85f0e9d 100644 --- a/src/calibre/gui2/actions/choose_library.py +++ b/src/calibre/gui2/actions/choose_library.py @@ -445,7 +445,7 @@ class ChooseLibraryAction(InterfaceAction): newloc, show=True) if (iswindows and len(newloc) > LibraryDatabase.WINDOWS_LIBRARY_PATH_LIMIT): return error_dialog(self.gui, _('Too long'), - _('Path to library too long. Must be less than' + _('Path to library too long. It must be less than' ' %d characters.')%LibraryDatabase.WINDOWS_LIBRARY_PATH_LIMIT, show=True) if not os.path.exists(loc): @@ -505,7 +505,7 @@ class ChooseLibraryAction(InterfaceAction): db = m.db if (iswindows and len(db.library_path) > LibraryDatabase.WINDOWS_LIBRARY_PATH_LIMIT): return error_dialog(self.gui, _('Too long'), - _('Path to library too long. Must be less than' + _('Path to library too long. It must be less than' ' %d characters. Move your library to a location with' ' a shorter path using Windows Explorer, then point' ' calibre to the new location and try again.')% diff --git a/src/calibre/gui2/dialogs/choose_library.py b/src/calibre/gui2/dialogs/choose_library.py index e5e10a8095..20bc253323 100644 --- a/src/calibre/gui2/dialogs/choose_library.py +++ b/src/calibre/gui2/dialogs/choose_library.py @@ -121,7 +121,7 @@ class ChooseLibrary(QDialog, Ui_Dialog): if (iswindows and len(loc) > LibraryDatabase.WINDOWS_LIBRARY_PATH_LIMIT): error_dialog(self, _('Too long'), - _('Path to library too long. Must be less than' + _('Path to library too long. It must be less than' ' %d characters.')%LibraryDatabase.WINDOWS_LIBRARY_PATH_LIMIT, show=True) return False diff --git a/src/calibre/gui2/dialogs/device_category_editor.py b/src/calibre/gui2/dialogs/device_category_editor.py index 717083f834..1a816c6e95 100644 --- a/src/calibre/gui2/dialogs/device_category_editor.py +++ b/src/calibre/gui2/dialogs/device_category_editor.py @@ -102,7 +102,7 @@ class DeviceCategoryEditor(QDialog, Ui_DeviceCategoryEditor): def _rename_tag(self, item): if item is None: error_dialog(self, _('No item selected'), - _('You must select one item from the list of Available items.')).exec_() + _('You must select one item from the list of available items.')).exec_() return self.available_tags.editItem(item) diff --git a/src/calibre/gui2/dialogs/exim.py b/src/calibre/gui2/dialogs/exim.py index 03b4448362..533fff15a8 100644 --- a/src/calibre/gui2/dialogs/exim.py +++ b/src/calibre/gui2/dialogs/exim.py @@ -305,7 +305,7 @@ class EximDialog(Dialog): continue if iswindows and len(newloc) > LibraryDatabase.WINDOWS_LIBRARY_PATH_LIMIT: error_dialog(self, _('Too long'), - _('Path to library ({0}) too long. Must be less than' + _('Path to library ({0}) too long. It must be less than' ' {1} characters.').format(newloc, LibraryDatabase.WINDOWS_LIBRARY_PATH_LIMIT), show=True) return False if not os.path.isdir(newloc): diff --git a/src/calibre/gui2/dialogs/tag_list_editor.py b/src/calibre/gui2/dialogs/tag_list_editor.py index e2741a16af..051ed8193b 100644 --- a/src/calibre/gui2/dialogs/tag_list_editor.py +++ b/src/calibre/gui2/dialogs/tag_list_editor.py @@ -556,7 +556,7 @@ class TagListEditor(QDialog, Ui_TagListEditor): indexes = self.table.selectionModel().selectedRows() if not indexes: error_dialog(self, _('No item selected'), - _('You must select one item from the list of Available items.')).exec_() + _('You must select one item from the list of available items.')).exec_() return if not confirm( @@ -581,7 +581,7 @@ class TagListEditor(QDialog, Ui_TagListEditor): def _rename_tag(self, item): if item is None: error_dialog(self, _('No item selected'), - _('You must select one item from the list of Available items.')).exec_() + _('You must select one item from the list of available items.')).exec_() return for col_zero_item in self.table.selectedItems(): if col_zero_item.is_deleted: diff --git a/src/calibre/gui2/main.py b/src/calibre/gui2/main.py index 100b6cc8f3..2bda7b4dd1 100644 --- a/src/calibre/gui2/main.py +++ b/src/calibre/gui2/main.py @@ -99,7 +99,7 @@ def find_portable_library(): if len(lib) > 74: error_dialog(None, _('Path too long'), _("Path to Calibre Portable (%s) " - 'too long. Must be less than 59 characters.')%base, show=True) + 'too long. It must be less than 59 characters.')%base, show=True) raise AbortInit() prefs.set('library_path', lib) diff --git a/src/calibre/gui2/preferences/plugboard.ui b/src/calibre/gui2/preferences/plugboard.ui index 187d123cac..adf09504b4 100644 --- a/src/calibre/gui2/preferences/plugboard.ui +++ b/src/calibre/gui2/preferences/plugboard.ui @@ -23,7 +23,7 @@ Use this dialog to define a 'plugboard' for a format (or all formats) and a devi Often templates will contain simple references to composite columns, but this is not necessary. You can use any template in a source box that you can use elsewhere in calibre. -One possible use for a plugboard is to alter the title to contain series information. Another would be to change the author sort, something that MOBI users might do to force it to use the ';' that the kindle requires. A third would be to specify the language. +One possible use for a plugboard is to alter the title to contain series information. Another would be to change the author sort, something that MOBI users might do to force it to use the ';' that the Kindle requires. A third would be to specify the language. Qt::PlainText diff --git a/src/calibre/gui2/tweak_book/plugin.py b/src/calibre/gui2/tweak_book/plugin.py index aa5f37aa34..57e0257fdf 100644 --- a/src/calibre/gui2/tweak_book/plugin.py +++ b/src/calibre/gui2/tweak_book/plugin.py @@ -62,7 +62,7 @@ class Tool(object): def register_shortcut(self, qaction, unique_name, default_keys=(), short_text=None, description=None, **extra_data): ''' Register a keyboard shortcut that will trigger the specified ``qaction``. This keyboard shortcut - will become automatically customizable by the user in the Keyboard section of the editor preferences. + will become automatically customizable by the user in the Keyboard shortcuts section of the editor preferences. :param qaction: A QAction object, it will be triggered when the configured key combination is pressed by the user. diff --git a/src/calibre/gui2/wizard/__init__.py b/src/calibre/gui2/wizard/__init__.py index 122476e351..0e982758b7 100644 --- a/src/calibre/gui2/wizard/__init__.py +++ b/src/calibre/gui2/wizard/__init__.py @@ -766,7 +766,7 @@ class LibraryPage(QWizardPage, LibraryUI): if x: if (iswindows and len(x) > LibraryDatabase.WINDOWS_LIBRARY_PATH_LIMIT): return error_dialog(self, _('Too long'), - _('Path to library too long. Must be less than' + _('Path to library too long. It must be less than' ' %d characters.')%(LibraryDatabase.WINDOWS_LIBRARY_PATH_LIMIT), show=True) if not os.path.exists(x): diff --git a/src/calibre/linux.py b/src/calibre/linux.py index ca2118ffc7..a290009636 100644 --- a/src/calibre/linux.py +++ b/src/calibre/linux.py @@ -1160,7 +1160,7 @@ def get_appdata(): 'summary':_('Edit the text and styles inside e-books'), 'description':( _('The calibre E-book editor allows you to edit the text and styles inside the book with a live preview of your changes.'), - _('It can edit books in both the EPUB and AZW3 (kindle) formats. It includes various useful tools for checking the book for errors, editing the Table of Contents, performing automated cleanups, etc.'), # noqa + _('It can edit books in both the EPUB and AZW3 (Kindle) formats. It includes various useful tools for checking the book for errors, editing the Table of Contents, performing automated cleanups, etc.'), # noqa ), 'screenshots':( (1408, 792, 'https://lh5.googleusercontent.com/-M2MAVc3A8e4/UvHMWqGRa8I/AAAAAAAAATA/cecQeWUYBVs/w1408-h792-no/edit-default.png',), diff --git a/src/calibre/utils/formatter_functions.py b/src/calibre/utils/formatter_functions.py index 08590fcb3b..61af39c00c 100644 --- a/src/calibre/utils/formatter_functions.py +++ b/src/calibre/utils/formatter_functions.py @@ -431,7 +431,7 @@ class BuiltinListSplit(BuiltinFormatterFunction): "of the value in the list. The first item has position 0 (zero). " "The function returns the last element in the list. " "Example: split('one:two:foo', ':', 'var') is equivalent " - "to var_0 = 'one'; var_1 = 'two'; var_3 = 'foo'.") + "to var_0 = 'one'; var_1 = 'two'; var_2 = 'foo'.") def evaluate(self, formatter, kwargs, mi, locals, list_val, sep, id_prefix): l = [v.strip() for v in list_val.split(sep)]