From 19b196f782e51b685309e829ae10dc0f838c2481 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 24 Aug 2012 11:21:26 +0530 Subject: [PATCH] IGN:Tag release --- src/calibre/devices/mtp/test.py | 6 + src/calibre/devices/mtp/unix/driver.py | 4 +- src/calibre/devices/mtp/windows/driver.py | 7 +- src/calibre/translations/calibre.pot | 524 ++++++++++++---------- 4 files changed, 306 insertions(+), 235 deletions(-) diff --git a/src/calibre/devices/mtp/test.py b/src/calibre/devices/mtp/test.py index 705d9bdd2a..6d4dcf03bb 100644 --- a/src/calibre/devices/mtp/test.py +++ b/src/calibre/devices/mtp/test.py @@ -9,6 +9,7 @@ __docformat__ = 'restructuredtext en' import unittest +from calibre.constants import iswindows, islinux from calibre.utils.icu import lower from calibre.devices.mtp.driver import MTP_DEVICE from calibre.devices.scanner import DeviceScanner @@ -77,6 +78,11 @@ class TestDeviceInteraction(unittest.TestCase): with self.assertRaises(ValueError): self.dev.create_folder(root_file[0], 'sub-folder') + def test_memory_leaks(self): + if not (iswindows or islinux): + self.skipTest('Can only test for leaks on windows and linux') + from calibre.utils.mem import memory + def tests(): return unittest.TestLoader().loadTestsFromTestCase(TestDeviceInteraction) diff --git a/src/calibre/devices/mtp/unix/driver.py b/src/calibre/devices/mtp/unix/driver.py index 09bb9ccace..1ff87eb974 100644 --- a/src/calibre/devices/mtp/unix/driver.py +++ b/src/calibre/devices/mtp/unix/driver.py @@ -53,7 +53,7 @@ class MTP_DEVICE(MTPDeviceBase): self.progress_reporter(p) @synchronous - def detect_managed_devices(self, devices_on_system): + def detect_managed_devices(self, devices_on_system, force_refresh=False): if self.libmtp is None: return None # First remove blacklisted devices. devs = set() @@ -74,6 +74,8 @@ class MTP_DEVICE(MTPDeviceBase): devs = devs - self.ejected_devices # Now check for MTP devices + if force_refresh: + self.detect_cache = {} cache = self.detect_cache for d in devs: ans = cache.get(d, None) diff --git a/src/calibre/devices/mtp/windows/driver.py b/src/calibre/devices/mtp/windows/driver.py index 7a01bf19b9..91abe228ae 100644 --- a/src/calibre/devices/mtp/windows/driver.py +++ b/src/calibre/devices/mtp/windows/driver.py @@ -73,12 +73,13 @@ class MTP_DEVICE(MTPDeviceBase): self.wpd.uninit() @same_thread - def detect_managed_devices(self, devices_on_system): + def detect_managed_devices(self, devices_on_system, force_refresh=False): if self.wpd is None: return None devices_on_system = frozenset(devices_on_system) - if (devices_on_system != self.previous_devices_on_system or time.time() - - self.last_refresh_devices_time > 10): + if (force_refresh or + devices_on_system != self.previous_devices_on_system or + time.time() - self.last_refresh_devices_time > 10): self.previous_devices_on_system = devices_on_system self.last_refresh_devices_time = time.time() try: diff --git a/src/calibre/translations/calibre.pot b/src/calibre/translations/calibre.pot index c8978082cd..7c00385294 100644 --- a/src/calibre/translations/calibre.pot +++ b/src/calibre/translations/calibre.pot @@ -4,9 +4,9 @@ # msgid "" msgstr "" -"Project-Id-Version: calibre 0.8.65\n" -"POT-Creation-Date: 2012-08-17 09:50+IST\n" -"PO-Revision-Date: 2012-08-17 09:50+IST\n" +"Project-Id-Version: calibre 0.8.66\n" +"POT-Creation-Date: 2012-08-24 10:47+IST\n" +"PO-Revision-Date: 2012-08-24 10:47+IST\n" "Last-Translator: Automatically generated\n" "Language-Team: LANGUAGE\n" "MIME-Version: 1.0\n" @@ -24,14 +24,16 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:106 #: /home/kovid/work/calibre/src/calibre/db/cache.py:109 #: /home/kovid/work/calibre/src/calibre/db/cache.py:120 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:345 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:346 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:347 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:101 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:77 #: /home/kovid/work/calibre/src/calibre/devices/kobo/books.py:24 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:656 +#: /home/kovid/work/calibre/src/calibre/devices/mtp/unix/driver.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/mtp/windows/driver.py:151 #: /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 @@ -249,7 +251,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:197 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:311 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:213 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Preferences" msgstr "" @@ -827,12 +829,12 @@ msgstr "" msgid "Enabled plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:496 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:503 #, python-format msgid "Initialization of plugin %s failed with traceback:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:576 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:583 msgid "" " %prog options\n" "\n" @@ -840,31 +842,31 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:582 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:589 msgid "Add a plugin by specifying the path to the zip file containing it." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:584 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:591 msgid "For plugin developers: Path to the directory where you are developing the plugin. This command will automatically zip up the plugin and update it in calibre." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:588 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:595 msgid "Remove a custom plugin by name. Has no effect on builtin plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:590 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:597 msgid "Customize plugin. Specify name of plugin and customization string separated by a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:592 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:599 msgid "List all installed plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:594 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:601 msgid "Enable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:596 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:603 msgid "Disable the named plugin" msgstr "" @@ -919,15 +921,15 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:188 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:189 msgid "Comma separated list of directories to send e-books to on the device. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:285 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:286 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:304 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:305 msgid "Communicate with WebOS tablets." msgstr "" @@ -1033,9 +1035,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:792 -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:244 -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:250 -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:284 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:253 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:287 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1061 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1067 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1102 @@ -1109,8 +1111,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:264 #: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:268 #: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:324 -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:805 -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:807 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:857 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:859 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:277 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:279 msgid "Transferring books to device..." @@ -1120,8 +1122,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:344 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:480 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:515 -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:818 -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:829 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:870 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:881 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:301 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:332 msgid "Adding books to device metadata listing..." @@ -1143,8 +1145,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:374 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:468 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:475 -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:849 -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:855 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:901 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:907 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:366 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:371 msgid "Removing books from device metadata listing..." @@ -1577,7 +1579,7 @@ msgstr "" msgid "Communicate with MTP devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/mtp/windows/driver.py:43 +#: /home/kovid/work/calibre/src/calibre/devices/mtp/windows/driver.py:63 msgid "The Windows Portable Devices service is not available on your computer. You may need to install Windows Media Player 11 or newer and/or restart your computer" msgstr "" @@ -1707,11 +1709,11 @@ msgstr "" msgid "Set this option if you want the author on the Sony to appear the same way the T1 sets it. This means it will only show the first author for books with multiple authors. Leave this disabled if you use Metadata Plugboards." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:55 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:54 msgid "SmartDevice" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:57 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:56 msgid "Communicate with Smart Device apps" msgstr "" @@ -1764,16 +1766,30 @@ msgstr "" msgid "If this box is checked, calibre will automatically disconnect if a connected device does nothing for %d minutes. Unchecking this box disables this timeout, so calibre will never automatically disconnect." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:563 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:591 #, python-format msgid "Too many connection attempts from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:671 +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:705 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:95 msgid "Get device information..." msgstr "" +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:976 +#, python-format +msgid "Invalid port in options: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:986 +#, python-format +msgid "Failed to connect to port %d. Try a different value." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:999 +msgid "Failed to allocate a random port" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/devices/sne/driver.py:17 msgid "Communicate with the Samsung SNE eBook reader." msgstr "" @@ -3504,7 +3520,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1281 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:208 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:217 msgid "Table of Contents" msgstr "" @@ -4463,7 +4479,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:106 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 msgid "Cannot convert" msgstr "" @@ -4925,7 +4941,7 @@ msgid "Move to next match" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/next_match.py:13 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:213 msgid "F3" msgstr "" @@ -4951,7 +4967,7 @@ msgid "Shift+N" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/next_match.py:27 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:220 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:222 msgid "Shift+F3" msgstr "" @@ -5549,8 +5565,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:583 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:588 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:584 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:589 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:101 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:103 @@ -5592,7 +5608,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:198 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:200 msgid "..." msgstr "" @@ -6604,7 +6620,7 @@ msgid "

When calibre removes inter paragraph spacing, it automatically sets a msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:203 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:556 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:557 msgid "No change" msgstr "" @@ -6759,7 +6775,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:98 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:209 msgid "Metadata" msgstr "" @@ -6835,7 +6851,7 @@ msgid "Change the title of this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:548 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:549 msgid "&Author(s): " msgstr "" @@ -6848,7 +6864,7 @@ msgid "Change the author(s) of this book. Multiple authors should be separated b msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:169 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:558 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:559 msgid "&Publisher: " msgstr "" @@ -6857,13 +6873,13 @@ msgid "Ta&gs: " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:171 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:560 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:561 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1091 msgid "Tags categorize the book. This is particularly useful while searching.

They can be any words or phrases, separated by commas." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:172 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:568 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:198 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:449 msgid "&Series:" @@ -6871,8 +6887,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:173 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:568 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:570 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:448 msgid "List of known series. You can add new series." msgstr "" @@ -8420,7 +8436,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:523 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:670 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:672 msgid "No matches found" msgstr "" @@ -8482,7 +8498,7 @@ msgid "Manage authors" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:624 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:625 msgid "&Search for:" msgstr "" @@ -8598,7 +8614,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:880 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:214 msgid "Copy to clipboard" msgstr "" @@ -8716,7 +8732,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1020 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:614 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:615 msgid "Delete saved search/replace" msgstr "" @@ -8742,77 +8758,77 @@ msgstr "" msgid "That saved search/replace already exists and will be overwritten. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:548 msgid "Edit Meta information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:549 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:550 msgid "A&utomatically set author sort" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:551 msgid "&Swap title and author" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:551 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:552 msgid "Author s&ort: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:552 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:553 msgid "Specify how the author(s) of this book should be sorted. For example Charles Dickens should be sorted as Dickens, Charles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:553 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:554 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1049 msgid "&Rating:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:554 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:555 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:556 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1050 msgid "Rating of this book. 0-5 stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:557 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:558 msgid " stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:560 msgid "Add ta&gs: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:561 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:563 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:188 msgid "Open Tag Editor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:564 msgid "&Remove tags:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:564 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:565 msgid "Comma separated list of tags to remove from the books. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:565 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:566 msgid "Check this box to remove all tags from the books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:566 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:592 msgid "Remove &all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:570 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:571 msgid "If checked, the series will be cleared" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:571 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:572 msgid "&Clear series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:572 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:573 msgid "" "If not checked, the series number for the books will be set to 1.\n" "If checked, selected books will be automatically numbered, in the order\n" @@ -8820,259 +8836,259 @@ msgid "" "Book A will have series number 1 and Book B series number 2." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:576 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:577 msgid "&Automatically number books in this series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:577 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:578 msgid "" "Series will normally be renumbered from the highest number in the database\n" "for that series. Checking this box will tell calibre to start numbering\n" "from the value in the box" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:580 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:581 msgid "&Force numbers to start with:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:581 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:582 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1377 msgid "&Date:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:582 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:583 msgid "d MMM yyyy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:584 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:589 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:585 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:590 msgid "&Apply date" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:585 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:586 msgid "&Published:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:588 msgid "Clear published date" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:590 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:591 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1154 msgid "&Languages:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:593 msgid "Remove &format:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:593 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:594 msgid "When doing a same format to same format conversion, for e.g., EPUB to EPUB, calibre saves the original EPUB as ORIGINAL_EPUB. This option tells calibre to restore the EPUB from ORIGINAL_EPUB. Useful if you did a bulk conversion of a large number of books and something went wrong." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:595 msgid "Restore pre conversion &originals, if available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:596 msgid "" "Force the title to be in title case. If both this and swap authors are checked,\n" "title and author are swapped before the title case is set" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:597 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:598 msgid "Change title to title &case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:598 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:599 msgid "Update title sort based on the current title. This will be applied only after other changes to title." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:599 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:600 msgid "Update &title sort" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:600 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:601 msgid "" "Remove stored conversion settings for the selected books.\n" "\n" "Future conversion of these books will use the default settings." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:603 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:604 msgid "Remove &stored conversion settings for the selected books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:604 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:605 msgid "Change &cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:606 msgid "&Generate default cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:607 msgid "&Remove cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:607 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:608 msgid "Set from &ebook file(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:608 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:609 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:569 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:734 msgid "&Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:610 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:576 msgid "&Custom metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:611 msgid "Load searc&h/replace:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:612 msgid "Select saved search/replace to load." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:612 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:613 msgid "Save current search/replace" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:613 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:614 msgid "Sa&ve" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:615 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:616 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:64 msgid "Delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:616 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:617 msgid "Search &field:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:617 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:618 msgid "The name of the field that you want to search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:618 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:619 msgid "Search &mode:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:619 -msgid "Choose whether to use basic text matching or advanced regular expression matching" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:620 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:642 -msgid "Identifier type:" +msgid "Choose whether to use basic text matching or advanced regular expression matching" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:621 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:643 -msgid "Choose which identifier type to operate upon" +msgid "Identifier type:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:622 -msgid "Te&mplate:" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:644 +msgid "Choose which identifier type to operate upon" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:623 +msgid "Te&mplate:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:624 msgid "Enter a template to be used as the source for the search/replace" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:626 msgid "Enter what you are looking for, either plain text or a regular expression, depending on the mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:626 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:627 msgid "Check this box if the search string must match exactly upper and lower case. Uncheck it if case is to be ignored" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:628 msgid "Cas&e sensitive" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:628 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:629 msgid "&Replace with:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:629 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:630 msgid "The replacement text. The matched search text will be replaced with this string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:630 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:631 msgid "&Apply function after replace:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:631 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:632 msgid "" "Specify how the text is to be processed after matching and replacement. In character mode, the entire\n" "field is processed. In regular expression mode, only the matched text is processed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:633 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:634 msgid "&Destination field:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:634 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:635 msgid "" "The field that the text will be put into after all replacements.\n" "If blank, the source field is used if the field is modifiable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:636 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:637 msgid "M&ode:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:638 msgid "Specify how the text should be copied into the destination." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:639 msgid "" "Specifies whether result items should be split into multiple values or\n" "left as single values. This option has the most effect when the source field is\n" "not multiple and the destination field is multiple" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:641 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:642 msgid "Split &result" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:645 msgid "For multiple-valued fields, sho&w" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:645 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:646 msgid "values starting a&t" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:646 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:647 msgid "with values separated b&y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:647 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:648 msgid "Used when displaying test results to separate values in multiple-valued fields" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:649 msgid "Test text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:650 msgid "Test result" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:650 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:651 msgid "Your test:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:651 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:652 msgid "&Search and replace" msgstr "" @@ -9096,7 +9112,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:65 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:213 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice_ui.py:68 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:81 msgid "&Show password" @@ -9943,33 +9959,79 @@ msgstr "" msgid "Choose formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:20 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:21 msgid "Use a password if calibre is running on a network that is not secure. For example, if you run calibre on a laptop, use that laptop in an airport, and want to connect your smart device to calibre, you should use a password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:26 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:27 msgid "Check this box if you want calibre to automatically start the smart device interface when calibre starts. You should not do this if you are using a network that is not secure and you are not setting a password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice_ui.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:33 +msgid "Check this box if you want calibre to use a fixed network port. Normally you will not need to do this. However, if your device consistently fails to connect to calibre, try checking this box and entering a number." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:39 +msgid "Try 9090. If calibre says that it fails to connect to the port, try another number. You can use any number between 8,000 and 32,000." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:90 +msgid "Invalid port number" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:80 +msgid "You must provide a port number." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:91 +msgid "The port must be a number between 8000 and 32000." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +msgid "Problem starting the wireless device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#, python-format +msgid "The wireless device driver did not start. It said \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice_ui.py:78 msgid "Smart device control" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice_ui.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice_ui.py:79 msgid "" "

Start wireless device connections.\n" "

You may see some messages from your computer's firewall or anti-virus manager asking you if it is OK for calibre to connect to the network. Please answer yes. If you do not, wireless connections will not work." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice_ui.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice_ui.py:81 msgid "Optional password for security" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice_ui.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice_ui.py:82 msgid "Optional &password:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice_ui.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice_ui.py:84 +msgid "Optional &fixed port:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice_ui.py:85 +msgid "Optional port number" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice_ui.py:86 +msgid "&Use a fixed port" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice_ui.py:87 msgid "&Automatically allow connections at calibre startup" msgstr "" @@ -11042,24 +11104,24 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:504 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:521 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:522 msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:941 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:202 msgid "Back" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:134 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:203 msgid "Forward" msgstr "" @@ -11068,7 +11130,7 @@ msgid "Next match" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:136 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:210 msgid "Open ebook" msgstr "" @@ -11142,7 +11204,7 @@ msgid "Bad database location %r. calibre will now quit." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:194 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:530 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:542 msgid "Corrupted database" msgstr "" @@ -12686,7 +12748,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:187 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:241 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:243 msgid " or " msgstr "" @@ -13508,7 +13570,7 @@ msgid "Here you can control how calibre will save your books when you click the msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 msgid "Failed to start content server" msgstr "" @@ -14716,20 +14778,20 @@ msgstr "" msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:379 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 #, python-format msgid "You have started calibre in debug mode. After you quit calibre, the debug log will be available in the file: %s

The log will be displayed automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:400 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -14737,21 +14799,21 @@ msgid "" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:543 #, python-format msgid "The library database at %s appears to be corrupted. Do you want calibre to try and rebuild it automatically? The rebuild may not be completely successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:615 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:636 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 #, python-format msgid "

Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -14768,82 +14830,82 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:651 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:696 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:728 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:731 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:735 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:805 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:817 msgid "will keep running in the system tray. To close it, choose Quit in the context menu of the system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/update.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/update.py:78 #, python-format msgid "%(app)s has been updated to version %(ver)s. See the new features." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/update.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/update.py:84 msgid "Update available!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/update.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/update.py:89 msgid "Show this notification for future updates" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/update.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/update.py:94 msgid "&Get update" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/update.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/update.py:98 msgid "Update &plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/update.py:153 +#: /home/kovid/work/calibre/src/calibre/gui2/update.py:157 #, python-format msgid " (%d plugin updates)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/update.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/update.py:160 msgid "Update found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/update.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/update.py:163 msgid "updated plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/update.py:187 -#: /home/kovid/work/calibre/src/calibre/gui2/update.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/update.py:191 +#: /home/kovid/work/calibre/src/calibre/gui2/update.py:196 msgid "Plugin Updates" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/update.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/update.py:194 #, python-format msgid "There are %d plugin updates available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/update.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/update.py:198 msgid "Install and configure user plugins" msgstr "" @@ -14903,7 +14965,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1046 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1050 msgid "Remember last used window size" msgstr "" @@ -15241,44 +15303,44 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:470 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:487 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:492 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:495 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:483 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:500 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:138 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:495 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:515 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:499 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:516 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:518 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:502 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:519 msgid "Section End" msgstr "" @@ -15375,206 +15437,206 @@ msgstr "" msgid "Switch to flow mode - where the text is not broken up into pages" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:198 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 msgid "Search for text in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:240 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:242 #, python-format msgid "Toggle full screen (%s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:277 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:279 msgid "Full screen mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:280 msgid "Right click to show controls" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:281 msgid "Tap in the left or right page margin to turn pages" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:282 msgid "Press Esc to quit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:294 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:296 msgid "Show/hide controls" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:323 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:325 msgid "Print Preview" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:335 msgid "Clear list of recently opened books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:444 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:446 #, python-format msgid "Connecting to dict.org to lookup: %s…" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:578 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:580 msgid "No such location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:579 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:581 msgid "The location pointed to by this item does not exist." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:630 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:632 msgid "Choose ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:631 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:633 msgid "Ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:651 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:653 #, python-format msgid "" "Make font size %(which)s\n" "Current magnification: %(mag).1f" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:653 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:655 msgid "larger" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:657 msgid "smaller" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:673 #, python-format msgid "No matches found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:722 msgid "Loading flow..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:800 #, python-format msgid "Laying out %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:850 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:852 #, python-format msgid "Bookmark #%d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:854 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:856 msgid "Add bookmark" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:857 msgid "Enter title for bookmark:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:866 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:868 msgid "Manage Bookmarks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:910 msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:920 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:922 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1033 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1037 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1040 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1044 msgid "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1043 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1047 msgid "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1048 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1052 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1050 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1054 msgid "The position at which to open the specified book. The position is a location as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1057 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1061 msgid "" "%prog [options] file\n" "\n" "View an ebook.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:198 msgid "E-book Viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:199 msgid "Close dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:199 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:201 msgid "toolBar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:204 msgid "Next page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205 msgid "Previous page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:204 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:206 msgid "Font size larger" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:207 msgid "Font size smaller" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:211 msgid "Find next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:212 msgid "Find next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:214 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:216 msgid "Reference Mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:217 msgid "Bookmark" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:216 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:218 msgid "Toggle full screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:219 msgid "Print" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:220 msgid "Find previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 msgid "Find previous occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:223 msgid "Toggle Paged mode" msgstr ""