From 6d89193f52f036695b6bb91e5a3d0b4351f77a1f Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 27 May 2011 11:11:49 -0600 Subject: [PATCH] IGN:Tag release --- resources/template-functions.json | 1 + src/calibre/translations/calibre.pot | 1357 +++++++++++++++----------- 2 files changed, 815 insertions(+), 543 deletions(-) diff --git a/resources/template-functions.json b/resources/template-functions.json index b0a2225dd4..9fdc1782ea 100644 --- a/resources/template-functions.json +++ b/resources/template-functions.json @@ -20,6 +20,7 @@ "lookup": "def evaluate(self, formatter, kwargs, mi, locals, val, *args):\n if len(args) == 2: # here for backwards compatibility\n if val:\n return formatter.vformat('{'+args[0].strip()+'}', [], kwargs)\n else:\n return formatter.vformat('{'+args[1].strip()+'}', [], kwargs)\n if (len(args) % 2) != 1:\n raise ValueError(_('lookup requires either 2 or an odd number of arguments'))\n i = 0\n while i < len(args):\n if i + 1 >= len(args):\n return formatter.vformat('{' + args[i].strip() + '}', [], kwargs)\n if re.search(args[i], val):\n return formatter.vformat('{'+args[i+1].strip() + '}', [], kwargs)\n i += 2\n", "template": "def evaluate(self, formatter, kwargs, mi, locals, template):\n template = template.replace('[[', '{').replace(']]', '}')\n return formatter.__class__().safe_format(template, kwargs, 'TEMPLATE', mi)\n", "print": "def evaluate(self, formatter, kwargs, mi, locals, *args):\n print args\n return None\n", + "merge_lists": "def evaluate(self, formatter, kwargs, mi, locals, list1, list2, separator):\n l1 = [l.strip() for l in list1.split(separator) if l.strip()]\n l2 = [l.strip() for l in list2.split(separator) if l.strip()]\n lcl1 = set([icu_lower(l) for l in l1])\n res = []\n for i in l1:\n res.append(i)\n for i in l2:\n if icu_lower(i) not in lcl1:\n res.append(i)\n return ', '.join(sorted(res, key=sort_key))\n", "titlecase": "def evaluate(self, formatter, kwargs, mi, locals, val):\n return titlecase(val)\n", "subitems": "def evaluate(self, formatter, kwargs, mi, locals, val, start_index, end_index):\n if not val:\n return ''\n si = int(start_index)\n ei = int(end_index)\n items = [v.strip() for v in val.split(',')]\n rv = set()\n for item in items:\n component = item.split('.')\n try:\n if ei == 0:\n rv.add('.'.join(component[si:]))\n else:\n rv.add('.'.join(component[si:ei]))\n except:\n pass\n return ', '.join(sorted(rv, key=sort_key))\n", "sublist": "def evaluate(self, formatter, kwargs, mi, locals, val, start_index, end_index, sep):\n if not val:\n return ''\n si = int(start_index)\n ei = int(end_index)\n val = val.split(sep)\n try:\n if ei == 0:\n return sep.join(val[si:])\n else:\n return sep.join(val[si:ei])\n except:\n return ''\n", diff --git a/src/calibre/translations/calibre.pot b/src/calibre/translations/calibre.pot index 127d250e89..a8273ccac2 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.2\n" -"POT-Creation-Date: 2011-05-20 11:08+MDT\n" -"PO-Revision-Date: 2011-05-20 11:08+MDT\n" +"Project-Id-Version: calibre 0.8.3\n" +"POT-Creation-Date: 2011-05-27 10:15+MDT\n" +"PO-Revision-Date: 2011-05-27 10:15+MDT\n" "Last-Translator: Automatically generated\n" "Language-Team: LANGUAGE\n" "MIME-Version: 1.0\n" @@ -144,32 +144,32 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:366 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:167 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:397 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:972 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1148 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1151 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1154 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1239 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:401 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1012 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1188 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1279 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:220 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:231 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:119 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:358 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:160 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:151 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:156 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:199 #: /home/kovid/work/calibre/src/calibre/library/cli.py:217 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:502 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:510 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:521 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1800 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1937 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2944 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2946 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3079 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:506 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:514 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:525 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1804 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1941 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2948 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2950 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3083 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:233 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 @@ -228,10 +228,14 @@ msgid "Preferences" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:609 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:36 msgid "Store" msgstr "" +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:613 +msgid "An ebook store." +msgstr "" + #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:18 msgid "Follow all local links in an HTML file and create a ZIP file containing all linked files. This plugin is run every time you add an HTML file to the library." msgstr "" @@ -299,298 +303,194 @@ msgstr "" msgid "Set metadata from %s files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:873 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 msgid "Look and Feel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:875 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:887 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:909 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:921 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:897 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:908 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:919 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:931 msgid "Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:879 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:889 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Behavior" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:891 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:901 msgid "Change the way calibre behaves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:896 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:220 msgid "Add your own columns" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:902 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:912 msgid "Add/remove your own columns to the calibre book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:907 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:917 msgid "Toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:923 msgid "Customize the toolbars and context menus, changing which actions are available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:919 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 msgid "Searching" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:925 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:935 msgid "Customize the way searching for books works in calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:930 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:940 msgid "Input Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:932 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:943 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:942 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:953 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 msgid "Conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:936 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 msgid "Set conversion options specific to each input format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:941 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:951 msgid "Common Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:947 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:957 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962 msgid "Output Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:968 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:963 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973 msgid "Adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:965 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:989 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1001 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:987 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:999 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 msgid "Import/Export" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:979 msgid "Control how calibre reads metadata from files when adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:985 msgid "Saving books to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:981 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:991 msgid "Control how calibre exports files from its database to disk when using Save to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:987 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:997 msgid "Sending books to devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:993 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:999 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1015 msgid "Change metadata fields before saving/sending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1010 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 msgid "Template Functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1012 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1059 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1071 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1082 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1069 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1081 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1092 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1026 msgid "Create your own template functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1021 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 msgid "Sharing books by email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1023 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1035 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1045 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1058 msgid "Sharing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1037 msgid "Setup sharing of books via email. Can be used for automatic sending of downloaded news to your devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1043 msgid "Sharing over the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1039 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1049 msgid "Setup the calibre Content Server which will give you access to your calibre library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1046 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056 msgid "Metadata download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1057 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1067 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:273 msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1063 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1073 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1069 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1079 msgid "Tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1075 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1090 msgid "Miscellaneous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1086 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 msgid "Miscellaneous advanced configuration" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098 -msgid "Kindle books from Amazon." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1103 -msgid "Kindle books from Amazon.de." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 -msgid "Kindle books from Amazon.uk." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1113 -msgid "Free Books : Download & Streaming : Ebook and Texts Archive : Internet Archive." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 -msgid "Ebooks for readers." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1124 -msgid "Books, Textbooks, eBooks, Toys, Games and More." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1129 -msgid "Der eBook Shop." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134 -msgid "Publishers of fine books." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1139 -msgid "World Famous eBook Store." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1144 -msgid "The digital bookstore." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 -msgid "EPUBReaders eBook Shop." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1154 -msgid "Entertain, enrich, inspire." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159 -msgid "Read anywhere." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1164 -msgid "Foyles of London, online." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170 -msgid "Zaczarowany \305\233wiat ksi\304\205\305\274ek" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1175 -msgid "Google Books" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1180 -msgid "The first producer of free ebooks." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185 -msgid "eReading: anytime. anyplace." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1190 -msgid "The best ebooks at the best price: free!" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1195 -msgid "Ebooks handcrafted with the utmost care." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1201 -msgid "Audiobooki mp3, ebooki, prasa - ksi\304\231garnia internetowa." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1206 -msgid "One web page for every book." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1211 -msgid "DRM-Free tech ebooks." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1216 -msgid "The Pragmatic Bookshelf" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1221 -msgid "Your ebook. Your way." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1226 -msgid "Feel every word." -msgstr "" - #: /home/kovid/work/calibre/src/calibre/customize/conversion.py:102 msgid "Conversion Input" msgstr "" @@ -760,11 +660,11 @@ msgstr "" msgid "Enabled plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:470 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:487 msgid "Initialization of plugin %s failed with traceback:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:508 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:525 msgid "" " %prog options\n" "\n" @@ -772,27 +672,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:514 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:531 msgid "Add a plugin by specifying the path to the zip file containing it." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:516 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:533 msgid "Remove a custom plugin by name. Has no effect on builtin plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:518 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:535 msgid "Customize plugin. Specify name of plugin and customization string separated by a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:520 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:537 msgid "List all installed plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:522 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:539 msgid "Enable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:524 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:541 msgid "Disable the named plugin" msgstr "" @@ -899,9 +799,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:945 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:445 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:298 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:311 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2808 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:302 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:315 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2812 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159 msgid "News" msgstr "" @@ -909,8 +809,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:65 #: /home/kovid/work/calibre/src/calibre/library/catalog.py:643 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2768 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2786 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2772 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2790 msgid "Catalog" msgstr "" @@ -1018,7 +918,7 @@ msgid "Communicate with the Blackberry smart phone." msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/blackberry/driver.py:14 -#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:254 +#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:253 #: /home/kovid/work/calibre/src/calibre/devices/nuut2/driver.py:18 #: /home/kovid/work/calibre/src/calibre/devices/prs500/driver.py:90 msgid "Kovid Goyal" @@ -1044,19 +944,19 @@ msgstr "" msgid "Communicate with the EB600 eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:193 +#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:192 msgid "Communicate with the Astak Mentor EB600" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:216 +#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:215 msgid "Communicate with the PocketBook 301 reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:233 +#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:232 msgid "Communicate with the PocketBook 602/603/902/903 reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:253 +#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:252 msgid "Communicate with the PocketBook 701" msgstr "" @@ -1286,6 +1186,14 @@ msgstr "" msgid "Communicate with the Nook Color eBook reader." msgstr "" +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:111 +msgid "Nook Simple" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:112 +msgid "Communicate with the Nook TSR eBook reader." +msgstr "" + #: /home/kovid/work/calibre/src/calibre/devices/nuut2/driver.py:17 msgid "Communicate with the Nuut2 eBook reader." msgstr "" @@ -1500,6 +1408,7 @@ msgid "USB Revision ID (in hex)" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:79 msgid "Windows main memory vendor string" msgstr "" @@ -1511,7 +1420,6 @@ msgid "This field is used only on windows. Get this ID using Preferences -> Misc msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:51 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:81 msgid "Windows main memory ID string" msgstr "" @@ -2415,26 +2323,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:723 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:45 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:75 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:36 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:331 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:574 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:724 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/models.py:23 msgid "Author(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:725 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:70 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149 msgid "Publisher" msgstr "" @@ -2454,7 +2362,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:170 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:151 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171 @@ -2465,7 +2373,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:168 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:153 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:114 @@ -2483,7 +2391,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271 msgid "Published" @@ -2586,43 +2494,43 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1358 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1493 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:883 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:36 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:384 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:385 msgid "Downloads metadata and covers from Amazon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:394 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:395 msgid "US" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:395 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:396 msgid "France" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:396 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:397 msgid "Germany" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:397 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:398 msgid "UK" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:398 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:399 msgid "Italy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:402 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:403 msgid "Amazon website to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:403 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:404 msgid "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:508 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531 msgid "Amazon timed out. Try again later." msgstr "" @@ -2789,7 +2697,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/cover.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:176 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:783 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:805 msgid "Book %s of %s" msgstr "" @@ -2798,7 +2706,7 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:169 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:68 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:150 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:759 @@ -3307,7 +3215,7 @@ msgid "Choose Files" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:29 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:599 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:621 msgid "Books" msgstr "" @@ -3456,9 +3364,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:376 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:127 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:76 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:104 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:28 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:185 @@ -3662,7 +3570,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:463 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:279 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -4163,7 +4071,7 @@ msgid "Move to next highlighted match" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/next_match.py:13 -#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:373 msgid "N" msgstr "" @@ -4361,34 +4269,40 @@ msgid "Search for this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:76 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:104 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:261 +msgid "Choose stores" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 msgid "Cannot search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:125 msgid "Calibre helps you find the ebooks you want by searching the websites of various commercial and public domain book sources for you." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:129 msgid "Using the integrated search you can easily find which store has the book you are looking for, at the best price. You also get DRM status and other useful information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:133 msgid "All transactions (paid or otherwise) are handled between you and the book seller. Calibre is not part of this process and any issues related to a purchase should be directed to the website you are buying from. Be sure to double check that any books you get will work with your e-book reader, especially if the book you are buying has DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:143 msgid "Show this message again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144 msgid "About Get Books" msgstr "" @@ -4655,8 +4569,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/store_dialog_ui.py:75 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." msgstr "" @@ -4690,7 +4606,7 @@ msgid "Book %s of %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:144 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1021 msgid "Collections" msgstr "" @@ -4802,7 +4718,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/conversion_ui.py:54 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/email_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:297 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc_ui.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard_ui.py:113 @@ -4816,6 +4732,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/store/basic_config_widget_ui.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search/search_widget_ui.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search_widget_ui.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:123 msgid "Form" msgstr "" @@ -5695,33 +5614,33 @@ msgid "Set the metadata. The output file will contain as much of this metadata a msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:180 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:726 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:748 msgid "Choose cover for " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:187 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:734 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:756 msgid "Cannot read" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:188 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:735 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:757 msgid "You do not have permission to read the file: " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:203 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:765 msgid "Error reading file" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:197 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:744 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:766 msgid "

There was an error reading from file:
" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:204 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:754 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:776 msgid " is not a valid picture" msgstr "" @@ -5774,14 +5693,14 @@ 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:537 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:909 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:931 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:544 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:214 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:377 msgid "&Series:" msgstr "" @@ -5789,7 +5708,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:174 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:545 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:546 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:354 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:376 msgid "List of known series. You can add new series." msgstr "" @@ -5891,6 +5810,7 @@ msgid "PDB Output" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:215 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:195 msgid "&Format:" msgstr "" @@ -5979,6 +5899,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/store_dialog_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 msgid "0" msgstr "" @@ -6388,12 +6309,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:306 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:311 -#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:140 -#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:255 -#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:259 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:267 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1139 msgid "Undefined" msgstr "" @@ -6648,16 +6569,16 @@ msgstr "" #: #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget.py:148 -#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:409 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:421 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/save_template.py:61 msgid "Invalid template" msgstr "" #: #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget.py:149 -#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:294 +#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:422 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:274 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/save_template.py:62 msgid "The template %s is invalid:" msgstr "" @@ -6878,6 +6799,7 @@ msgid "Path from library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:89 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:256 msgid "Name" @@ -7020,7 +6942,7 @@ msgid "&Title:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:178 msgid "&Author(s):" msgstr "" @@ -7029,12 +6951,12 @@ msgid "&Profile:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:24 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:218 msgid "&OK" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:25 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:31 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub_ui.py:65 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:233 msgid "&Cancel" @@ -7088,8 +7010,8 @@ msgstr "" #: #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:979 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1019 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:32 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:73 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:321 @@ -7442,13 +7364,13 @@ msgid "Specify how the author(s) of this book should be sorted. For example Char msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:530 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:867 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:889 msgid "&Rating:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:531 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:532 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:868 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:890 msgid "Rating of this book. 0-5 stars" msgstr "" @@ -7518,7 +7440,7 @@ msgid "&Force numbers to start with:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:558 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1101 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1123 msgid "&Date:" msgstr "" @@ -7750,23 +7672,23 @@ msgid "Password needed" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:214 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:133 msgid "&Username:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:215 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:126 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:135 msgid "&Password:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:81 msgid "&Show password" msgstr "" @@ -7917,11 +7839,11 @@ msgstr "" msgid "%s news sources" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:310 msgid "Need username and password" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:312 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:311 msgid "You must provide a username and/or password to use this news source." msgstr "" @@ -7958,7 +7880,7 @@ msgid "Last downloaded:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:421 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:206 msgid "Schedule news download" msgstr "" @@ -7978,105 +7900,105 @@ msgstr "" msgid "Cannot download news as no internet connection is active" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:198 -msgid "&Search:" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:199 -msgid "blurb" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:200 -msgid "&Schedule for download:" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:201 -msgid "Days of week" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:202 -msgid "Days of month" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:203 -msgid "Every x days" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:204 -msgid "&Account" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:207 +msgid "Go" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:208 -msgid "For the scheduling to work, you must leave calibre running." +msgid "blurb" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:209 -msgid "&Schedule" +msgid "&Schedule for download:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:210 -msgid "Add &title as tag" +msgid "Days of week" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:211 -msgid "&Extra tags:" +msgid "Days of month" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:212 -msgid "Maximum number of copies (issues) of this recipe to keep. Set to 0 to keep all (disable)." +msgid "Every x days" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:213 +msgid "&Account" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:217 +msgid "For the scheduling to work, you must leave calibre running." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:218 +msgid "&Schedule" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:219 +msgid "Add &title as tag" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:220 +msgid "&Extra tags:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:221 +msgid "Maximum number of copies (issues) of this recipe to keep. Set to 0 to keep all (disable)." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:222 msgid "&Keep at most:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:214 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:223 msgid "" "

When set, this option will cause calibre to keep, at most, the specified number of issues of this periodical. Every time a new issue is downloaded, the oldest one is deleted, if the total is larger than this number.\n" "

Note that this feature only works if you have the option to add the title as tag checked, above.\n" "

Also, the setting for deleting periodicals older than a number of days, below, takes priority over this setting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:226 msgid "all issues" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:227 msgid " issues" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:228 msgid "&Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:220 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:229 msgid "&Download now" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:230 msgid "&Delete downloaded news older than:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:231 msgid "" "

Delete downloaded news older than the specified number of days. Set to zero to disable.\n" "

You can also control the maximum number of issues of a specific periodical that are kept by clicking the Advanced tab for that periodical above." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:233 msgid "never delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:225 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:234 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:273 msgid " days" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:226 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:235 msgid "Download all scheduled news sources at once" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:236 msgid "Download &all scheduled" msgstr "" @@ -8097,71 +8019,85 @@ msgid "Negate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:198 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:176 msgid "Advanced Search" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:199 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:197 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:177 msgid "&What kind of match to use:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:198 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:178 msgid "Contains: the word or phrase matches anywhere in the metadata field" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:179 msgid "Equals: the word or phrase must match the entire metadata field" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:200 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:180 msgid "Regular expression: the expression must match anywhere in the metadata field" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:181 msgid "Find entries that have..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:204 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:202 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:182 msgid "&All these words:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:203 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:183 msgid "This exact &phrase:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:184 msgid "&One or more of these words:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:205 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:185 msgid "But dont show entries that have..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:206 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:186 msgid "Any of these &unwanted words:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:207 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:187 msgid "See the User Manual for more help" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:208 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:188 msgid "A&dvanced Search" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:210 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:190 msgid "Enter the title." msgstr "" @@ -8172,7 +8108,7 @@ msgid "&Author:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:215 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:930 msgid "Ta&gs:" msgstr "" @@ -8190,11 +8126,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:213 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:193 msgid "&Clear" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:220 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:214 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:194 msgid "Search only in specific fields:" msgstr "" @@ -8416,6 +8354,57 @@ msgstr "" msgid "Python &code:" msgstr "" +#: +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:32 +msgid "Open Template Editor" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:35 +msgid "Open Tag Wizard" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:408 +msgid "Edit template" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:48 +msgid "Invalid text" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:49 +msgid "The text in the box was not generated by this wizard" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:60 +msgid "Tag Wizard" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:68 +msgid "Tags (more than one per box permitted)" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:69 +msgid "Color" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:115 +msgid "Invalid color" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:116 +msgid "The color {0} is not valid" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/test_email_ui.py:56 msgid "Test email settings" msgstr "" @@ -8814,7 +8803,7 @@ msgid "Regular expression (?P)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/init.py:105 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:337 msgid "Cover Browser" msgstr "" @@ -8823,7 +8812,7 @@ msgid "Shift+Alt+B" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/init.py:124 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:334 msgid "Tag Browser" msgstr "" @@ -8851,7 +8840,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/init.py:223 #: /home/kovid/work/calibre/src/calibre/gui2/init.py:233 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:316 msgid "Book Details" msgstr "" @@ -8952,7 +8941,7 @@ msgid "Show books in the main memory of the device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1019 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1023 msgid "Card A" msgstr "" @@ -8961,7 +8950,7 @@ msgid "Show books in storage card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1021 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1025 msgid "Card B" msgstr "" @@ -9001,53 +8990,49 @@ msgstr "" msgid "Copy current search text (instead of search name)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:373 msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:396 -msgid "Edit template" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:251 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:720 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1277 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:760 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1317 #: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:797 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:726 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1279 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1319 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:976 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1016 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1020 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1257 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1297 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1260 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1300 msgid "Double click to edit me

" msgstr "" @@ -9301,188 +9286,200 @@ msgstr "" msgid "Unhandled exception" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:397 +msgid "Permission denied" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:102 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:247 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:398 +msgid "Could not open %s. Is it being used by another program?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:132 msgid "Specify how this book should be sorted when by title. For example, The Exorcist might be sorted as Exorcist, The." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:134 msgid "Title &sort:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:142 msgid " The green color indicates that the current title sort matches the current title" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:145 msgid " The red color warns that the current title sort does not match the current title. No action is required if this is what you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:192 msgid "Authors changed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:193 msgid "You have changed the authors for this book. You must save these changes before you can use Manage authors. Do you want to save these changes?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:274 msgid "" "Specify how the author(s) of this book should be sorted. For example Charles Dickens should be sorted as Dickens, Charles.\n" "If the box is colored green, then text matches the individual author's sort strings. If it is colored red, then the authors and this text do not match." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:279 msgid "Author s&ort:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:267 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:289 msgid " The green color indicates that the current author sort matches the current author" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:292 msgid " The red color indicates that the current author sort does not match the current author. No action is required if this is what you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:433 msgid "&Number:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:514 msgid "" "Last modified: %s\n" "\n" "Double click to view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:509 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:531 msgid "Set the cover for the book from the selected format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:517 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:539 msgid "Set metadata for the book from the selected format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:546 msgid "Add a format to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:553 msgid "Remove the selected format from this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:597 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:619 msgid "Choose formats for " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:629 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:651 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:630 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:652 msgid "You do not have permission to read the following files:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:660 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:683 msgid "No format selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:672 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:694 msgid "Could not read metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:673 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:695 msgid "Could not read metadata from %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:714 msgid "&Browse" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:694 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:716 msgid "T&rim" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:696 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:718 msgid "&Remove" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:702 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:724 msgid "Download co&ver" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:703 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:725 msgid "&Generate cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:753 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:775 msgid "Not a valid picture" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:777 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:799 msgid "Specify title and author" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:778 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:800 msgid "You must specify a title and author before generating a cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:818 msgid "Invalid cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:797 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:819 msgid "Could not change cover as the image is invalid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:824 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:846 msgid "This book has no cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:826 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:848 msgid "Cover size: %dx%d pixels" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:875 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:897 msgid "stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:966 msgid "Tags changed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:945 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:967 msgid "You have changed the tags. In order to use the tags editor, you must either discard or apply these changes. Apply changes?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:971 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:993 msgid "I&ds:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:972 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:994 msgid "" "Edit the identifiers for this book. For example: \n" "\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1033 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1055 msgid "This ISBN number is valid" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1036 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1058 msgid "This ISBN number is invalid" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1050 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1072 msgid "&Publisher:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1120 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1142 msgid "Clear date" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1174 msgid "Publishe&d:" msgstr "" @@ -9622,14 +9619,6 @@ msgstr "" msgid "The cover in the %s format is invalid" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:397 -msgid "Permission denied" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:398 -msgid "Could not open %s. Is it being used by another program?" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:455 msgid "Save changes and edit the metadata of %s" @@ -10006,7 +9995,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:66 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:73 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:149 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:153 msgid "Yes/No" msgstr "" @@ -10038,8 +10027,9 @@ msgstr "" #: #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:27 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:124 msgid "Formats" msgstr "" @@ -10081,107 +10071,117 @@ msgid "Selected column is not a user-defined column" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:154 msgid "My Tags" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:151 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:155 msgid "My Series" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:156 msgid "My Rating" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:153 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:157 msgid "People" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:185 msgid "No lookup name was provided" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:189 msgid "The lookup name must contain only lower case letters, digits and underscores, and start with a letter" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:192 msgid "Lookup names cannot end with _index, because these names are reserved for the index of a series column." msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:198 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:202 msgid "No column heading was provided" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:212 msgid "The lookup name %s is already used" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:220 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:224 msgid "The heading %s is already used" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:231 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:235 msgid "You must enter a template for composite columns" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:240 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:244 msgid "You must enter at least one value for enumeration columns" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:244 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:248 msgid "You cannot provide the empty value, as it is included by default" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:252 msgid "The value \"{0}\" is in the list more than once" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:260 +msgid "The colors box must be empty or contain the same number of items as the value box" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:265 +msgid "The color {0} is unknown" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:201 msgid "&Lookup name" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:191 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:202 msgid "Column &heading" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:203 msgid "Used for searching the column. Must contain only digits and lower case letters." msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:204 msgid "Column heading in the library view and category name in the tag browser" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:205 msgid "&Column type" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:206 msgid "What kind of information will be kept in the column." msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:207 msgid "" "Show check marks in the GUI. Values of 'yes', 'checked', and 'true'\n" "will show a green check. Values of 'no', 'unchecked', and 'false' will show a red X.\n" @@ -10189,22 +10189,22 @@ msgid "" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:199 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:210 msgid "Show checkmarks" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:211 msgid "Check this box if this column contains names, like the authors column." msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:212 msgid "Contains names" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:213 msgid "" "

Date format. Use 1-4 'd's for day, 1-4 'M's for month, and 2 or 4 'y's for year.

\n" "

For example:\n" @@ -10215,68 +10215,68 @@ msgid "" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:219 msgid "Use MMM yyyy for month + year, yyyy for year only" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:220 msgid "Default: dd MMM yyyy." msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:221 msgid "Format for &dates" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:222 msgid "&Template" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:223 msgid "Field template. Uses the same syntax as save templates." msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:213 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:224 msgid "Similar to save templates. For example, {title} {isbn}" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:214 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:225 msgid "Default: (nothing)" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:226 msgid "&Sort/search column by" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:216 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:227 msgid "How this column should handled in the GUI when sorting and searching" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:228 msgid "If checked, this column will appear in the tags browser as a category" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:229 msgid "Show in tags browser" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:235 msgid "Values" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:220 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:231 msgid "" "A comma-separated list of permitted values. The empty value is always\n" "included, and is the default. For example, the list 'one,two,three' has\n" @@ -10284,10 +10284,22 @@ msgid "" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:234 msgid "The empty string is always the first value" msgstr "" +#: +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:236 +msgid "" +"A list of color names to use when displaying an item. The\n" +"list must be empty or contain a color for each value." +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:238 +msgid "Colors" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_debug.py:21 msgid "Getting debug information" msgstr "" @@ -10425,83 +10437,108 @@ msgstr "" msgid "Partitioned" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:163 +msgid "Here you can specify coloring rules for columns shown in the library view. Choose the column you wish to color, then supply a template that specifies the color to use based on the values in the column. There is a tutorial on using templates." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:170 +msgid "If you want to color a field based on tags, then click the button next to an empty line to open the tags wizard. It will build a template for you. You can later edit that template with the same wizard. If you edit it by hand, the wizard might not work or might restore old values." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:176 +msgid "" +"The template must evaluate to one of the color names shown below. You can use any legal template expression. For example, you can set the title to always display in green using the template \"green\" (without the quotes). To show the title in the color named in the custom column #column, use \"{#column}\". To show the title in blue if the custom column #column contains the value \"foo\", in red if the column contains the value \"bar\", otherwise in black, use

{#column:switch(foo,blue,bar,red,black)}
To show the title in blue if the book has the exact tag \"Science Fiction\", red if the book has the exact tag \"Mystery\", or black if the book has neither tag, use
program: \n"
+"    t = field('tags'); \n"
+"    first_non_empty(\n"
+"        in_list(t, ',', '^Science Fiction$', 'blue', ''), \n"
+"        in_list(t, ',', '^Mystery$', 'red', 'black'))
To show the title in green if it has one format, blue if it two formats, and red if more, use
program:cmp(count(field('formats'),','), 2, 'green', 'blue', 'red')
" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:197 +msgid "You can access a multi-line template editor from the context menu (right-click)." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 +msgid "Note: if you want to color a \"custom column with a fixed set of values\", it is often easier to specify the colors in the column definition dialog. There you can provide a color for each value without using a template." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:298 msgid "User Interface &layout (needs restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299 msgid "Choose &language (requires restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300 msgid "Enable system &tray icon (needs restart)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301 msgid "Disable all animations. Useful if you have a slow/old computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:302 msgid "Disable &animations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303 msgid "Disable ¬ifications in system tray" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304 msgid "Show &splash screen at startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305 msgid "&Toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306 msgid "&Icon size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307 msgid "Show &text under icons:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308 msgid "Interface font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309 msgid "Change &font (needs restart)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310 msgid "Main Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311 msgid "Select displayed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312 msgid "Move up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313 msgid "Move down" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314 msgid "Use &Roman numerals for series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315 msgid "Note that comments will always be displayed at the end, regardless of the position you assign here." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:317 msgid "Tags browser category &partitioning method:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318 msgid "" "Choose how tag browser subcategories are displayed when\n" "there are more items than the limit. Select by first\n" @@ -10510,25 +10547,25 @@ msgid "" "if you never want subcategories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323 msgid "&Collapse when more items than:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324 msgid "" "If a Tag Browser category has more than this number of items, it is divided\n" "up into sub-categories. If the partition method is set to disable, this value is ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:326 msgid "Show &average ratings in the tags browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327 msgid "Categories with &hierarchical items:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328 msgid "" "A comma-separated list of columns in which items containing\n" "periods are displayed in the tag browser trees. For example, if\n" @@ -10538,14 +10575,38 @@ msgid "" "then the tags will be displayed each on their own line." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:335 msgid "Show cover &browser in a separate window (needs restart)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336 msgid "&Number of covers to show in browse mode (needs restart):" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:338 +msgid "Column to color" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:339 +msgid "Color selection template" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:340 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:344 +msgid "Open the tags wizard." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:345 +msgid "Color names" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:346 +msgid "Column Coloring" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:230 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:96 msgid "&Apply" @@ -10740,60 +10801,56 @@ msgstr "" msgid "&Install command line tools" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:37 -msgid "Open Editor" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:52 msgid "Device currently connected: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:55 msgid "Device currently connected: None" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:187 msgid "That format and device already has a plugboard." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:199 msgid "Possibly override plugboard?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:220 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:200 msgid "A more general plugboard already exists for that format and device. Are you sure you want to add the new plugboard?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:232 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:234 msgid "Add possibly overridden plugboard?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:213 msgid "More specific device plugboards exist for that format. Are you sure you want to add the new plugboard?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:244 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:224 msgid "Really add plugboard?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:225 msgid "A different plugboard matches that format and device combination. Are you sure you want to add the new plugboard?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:255 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:235 msgid "More specific format and device plugboards already exist. Are you sure you want to add the new plugboard?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:246 msgid "The {0} device does not support the {1} format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:279 msgid "Invalid destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:300 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:280 msgid "The destination field cannot be blank" msgstr "" @@ -10863,7 +10920,7 @@ msgid "Search for plugin" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:230 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:297 msgid "No matches" msgstr "" @@ -11504,8 +11561,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:58 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/store_dialog_ui.py:76 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:653 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:280 @@ -11588,7 +11646,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:48 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:351 msgid "None" @@ -11659,6 +11717,183 @@ msgstr "" msgid "Open store in external web browswer" msgstr "" +#: +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:209 +msgid "&Name:" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:211 +msgid "&Description:" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:212 +msgid "&Headquarters:" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:216 +msgid "Enabled:" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:217 +msgid "DRM:" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:220 +msgid "true" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:221 +msgid "false" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:222 +msgid "Nam&e/Description ..." +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 +msgid "Query:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 +msgid "Enabled" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 +msgid "Headquarters" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 +msgid "No DRM" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:108 +msgid "

This store is currently diabled and cannot be used in other parts of calibre.

" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:110 +msgid "

This store is currently enabled and can be used in other parts of calibre.

" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:115 +msgid "

This store only distributes ebooks with DRM.

" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:117 +msgid "

This store distributes ebooks with DRM. It may have some titles without DRM, but you will need to check on a per title basis.

" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:119 +msgid "

This store is headquartered in %s. This is a good indication of what market the store caters to. However, this does not necessarily mean that the store is limited to that market only.

" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:121 +msgid "

This store distributes ebooks in the following formats: %s

" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search/search_widget_ui.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search_widget_ui.py:99 +msgid "Time" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search/search_widget_ui.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search_widget_ui.py:100 +msgid "Number of seconds to wait for a store to respond" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search/search_widget_ui.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search_widget_ui.py:101 +msgid "Number of seconds to let a store process results" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search/search_widget_ui.py:102 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search_widget_ui.py:102 +msgid "Display" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search/search_widget_ui.py:103 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search_widget_ui.py:103 +msgid "Maximum number of results to show per store" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search/search_widget_ui.py:104 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search_widget_ui.py:104 +msgid "Open search result in system browser" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search/search_widget_ui.py:105 +msgid "Threads" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search/search_widget_ui.py:106 +msgid "Number of search threads to use" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search/search_widget_ui.py:107 +msgid "Number of cache update threads to use" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search/search_widget_ui.py:108 +msgid "Number of conver download threads to use" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search/search_widget_ui.py:109 +msgid "Number of details threads to use" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search_widget_ui.py:105 +msgid "Performance" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search_widget_ui.py:106 +msgid "Number of simultaneous searches" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search_widget_ui.py:107 +msgid "Number of simultaneous cache updates" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search_widget_ui.py:108 +msgid "Number of simultaneous cover downloads" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search_widget_ui.py:109 +msgid "Number of simultaneous details downloads" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/store/ebooks_com_plugin.py:96 msgid "Not Available" msgstr "" @@ -11701,13 +11936,14 @@ msgstr "" #: #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/store_dialog_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 msgid "Books:" msgstr "" #: #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 msgid "Close" @@ -11728,59 +11964,62 @@ msgstr "" msgid "Titl&e/Author/Price ..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:36 msgid "DRM" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:36 msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:180 msgid "Detected price as: %s. Check with the store before making a purchase to verify this price is correct. This price often does not include promotions the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:183 msgid "This book as been detected as having DRM restrictions. This book may not work with your reader and you will have limitations placed upon you as to what you can do with this book. Check with the store before making any purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:185 msgid "This book has been detected as being DRM Free. You should be able to use this book on any device provided it is in a format calibre supports for conversion. However, before making a purchase double check the DRM status with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:187 msgid "The DRM status of this book could not be determined. There is a very high likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:252 +msgid "Customize get books search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:262 +msgid "Configure search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:297 msgid "Couldn't find any books matching your query." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 -msgid "Query:" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 msgid "Open in &external browser" msgstr "" @@ -11899,7 +12138,7 @@ msgid "Changing the metadata for that many books can take a while. Are you sure? msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:417 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:421 msgid "Searches" msgstr "" @@ -12760,65 +12999,73 @@ msgstr "" msgid "Mail successfully sent" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:96 -msgid "OK to proceed?" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:97 -msgid "This will display your email password on the screen. Is it OK to proceed?" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:140 -msgid "If you are setting up a new hotmail account, you must log in to it once before you will be able to send mails." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:151 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:59 msgid "Setup sending email using" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:153 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:61 msgid "If you don't have an account, you can sign up for a free {name} email account at http://{url}. {extra}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:68 msgid "Your %s &email address:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:69 msgid "Your %s &username:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:70 msgid "Your %s &password:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:88 msgid "If you plan to use email to send books to your Kindle, remember to add the your %s email address to the allowed email addresses in your Amazon.com Kindle management page." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:95 msgid "Setup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:202 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:213 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:102 +msgid "Incorrect username" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:103 +msgid "%s needs the full email address as your username" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:154 +msgid "OK to proceed?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:155 +msgid "This will display your email password on the screen. Is it OK to proceed?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:199 +msgid "If you are setting up a new hotmail account, Microsoft requires that you verify your account periodically, before it will let calibre send email. In this case, I strongly suggest you setup a free gmail account instead." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:237 msgid "Bad configuration" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:222 msgid "You must set the From email address" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:214 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:233 msgid "You must either set both the username and password for the mail server or no username and no password at all." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:238 msgid "Please enter a username and password or set encryption to None " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:243 msgid "No username and password set for mailserver. Most mailservers need a username and password. Are you sure?" msgstr "" @@ -13733,19 +13980,19 @@ msgstr "" msgid "%sAverage rating is %3.1f" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1021 msgid "Main" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3105 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3109 msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3134 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3138 msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3151 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3155 msgid "Compacting database" msgstr "" @@ -14321,61 +14568,85 @@ msgid "switch requires an odd number of arguments" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:333 +msgid "in_list(val, separator, pattern, found_val, not_found_val) -- treat val as a list of items separated by separator, comparing the pattern against each value in the list. If the pattern matches a value, return found_val, otherwise return not_found_val." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:349 msgid "re(val, pattern, replacement) -- return the field after applying the regular expression. All instances of `pattern` are replaced with `replacement`. As in all of calibre, these are python-compatible regular expressions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:344 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:360 msgid "ifempty(val, text if empty) -- return val if val is not empty, otherwise return `text if empty`" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:356 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:372 msgid "shorten(val, left chars, middle text, right chars) -- Return a shortened version of the field, consisting of `left chars` characters from the beginning of the field, followed by `middle text`, followed by `right chars` characters from the end of the string. `Left chars` and `right chars` must be integers. For example, assume the title of the book is `Ancient English Laws in the Times of Ivanhoe`, and you want it to fit in a space of at most 15 characters. If you use {title:shorten(9,-,5)}, the result will be `Ancient E-nhoe`. If the field's length is less than left chars + right chars + the length of `middle text`, then the field will be used intact. For example, the title `The Dome` would not be changed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:381 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:397 msgid "count(val, separator) -- interprets the value as a list of items separated by `separator`, returning the number of items in the list. Most lists use a comma as the separator, but authors uses an ampersand. Examples: {tags:count(,)}, {authors:count(&)}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:392 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:408 msgid "list_item(val, index, separator) -- interpret the value as a list of items separated by `separator`, returning the `index`th item. The first item is number zero. The last item can be returned using `list_item(-1,separator)`. If the item is not in the list, then the empty value is returned. The separator has the same meaning as in the count function." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:428 msgid "select(val, key) -- interpret the value as a comma-separated list of items, with the items being \"id:value\". Find the pair with theid equal to key, and return the corresponding value." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:429 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:445 msgid "sublist(val, start_index, end_index, separator) -- interpret the value as a list of items separated by `separator`, returning a new list made from the `start_index`th to the `end_index`th item. The first item is number zero. If an index is negative, then it counts from the end of the list. As a special case, an end_index of zero is assumed to be the length of the list. Examples using basic template mode and assuming that the tags column (which is comma-separated) contains \"A, B, C\": {tags:sublist(0,1,\\,)} returns \"A\". {tags:sublist(-1,0,\\,)} returns \"C\". {tags:sublist(0,-1,\\,)} returns \"A, B\"." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:458 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:474 msgid "subitems(val, start_index, end_index) -- This function is used to break apart lists of items such as genres. It interprets the value as a comma-separated list of items, where each item is a period-separated list. Returns a new list made by first finding all the period-separated items, then for each such item extracting the start_index`th to the `end_index`th components, then combining the results back together. The first component in a period-separated list has an index of zero. If an index is negative, then it counts from the end of the list. As a special case, an end_index of zero is assumed to be the length of the list. Example using basic template mode and assuming a #genre value of \"A.B.C\": {#genre:subitems(0,1)} returns \"A\". {#genre:subitems(0,2)} returns \"A.B\". {#genre:subitems(1,0)} returns \"B.C\". Assuming a #genre value of \"A.B.C, D.E.F\", {#genre:subitems(0,1)} returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:495 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:511 msgid "format_date(val, format_string) -- format the value, which must be a date field, using the format_string, returning a string. The formatting codes are: d : the day as number without a leading zero (1 to 31) dd : the day as number with a leading zero (01 to 31) ddd : the abbreviated localized day name (e.g. \"Mon\" to \"Sun\"). dddd : the long localized day name (e.g. \"Monday\" to \"Sunday\"). M : the month as number without a leading zero (1 to 12). MM : the month as number with a leading zero (01 to 12) MMM : the abbreviated localized month name (e.g. \"Jan\" to \"Dec\"). MMMM : the long localized month name (e.g. \"January\" to \"December\"). yy : the year as two digit number (00 to 99). yyyy : the year as four digit number. iso : the date with time and timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:523 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:539 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:531 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:547 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:539 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:555 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:547 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:563 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:555 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:571 msgid "booksize() -- return value of the field capitalized" msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:584 +msgid "first_non_empty(value, value, ...) -- returns the first value that is not empty. If all values are empty, then the empty value is returned.You can have as many values as you want." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:600 +msgid "and(value, value, ...) -- returns the string \"1\" if all values are not empty, otherwise returns the empty string. This function works well with test or first_non_empty. You can have as many values as you want." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:616 +msgid "or(value, value, ...) -- returns the string \"1\" if any value is not empty, otherwise returns the empty string. This function works well with test or first_non_empty. You can have as many values as you want." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:632 +msgid "not(value) -- returns the string \"1\" if the value is empty, otherwise returns the empty string. This function works well with test or first_non_empty. You can have as many values as you want." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648 +msgid "merge_lists(list1, list2, separator) -- return a list made by merging the items in list1 and list2, removing duplicate items using a case-insensitive compare. 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." +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:43 msgid "Waiting..." msgstr ""